- Adafruit Feather M4 Express
- Adafruit AirLift FeatherWing ESP32
- Adafruit NeoPXL8 FeatherWing M4
- Adafruit INA219 FeatherWing
- Copy
wifi-config.example.h
towifi-config.h
and fill in values. - Install board following instructions.
- Install required libraries (and their dependencies) via Arduino IDE.
- Adafruit SAMD
- Adafruit SleepyDog
- Adafruit NeoPXL8 - see docs
- Adafruit NeoPixel
- Adafruit ZeroDMA
- Adafruit WiFiNiNA - manual install, forked from arduino, see docs
- Adafruit INA219
- MQTT_Looped
- For VS Code, compile to finish intellisense setup.
.vscode/c_cpp_properties.json
may update.
- Configure defines in
cryptid-bottles.h
andsrc/pxl8.h
if relevant.
- Output #0 comes from
RX
(Available; shared byESPRX
) - Output #1 comes from
TX
(Available; shared byESPTX
) - Output #2 comes from
D9
(Available) - Output #3 comes from
D6
(Available) Output #4 comes fromD13
(Unavailable, used byESPCS
!)Output #5 comes fromD12
(Unavailable, used byESPRST
!)Output #6 comes fromD11
(Unavailable, used byESPBUSY
!)- Output #7 comes from
D10
(Available; shared byESPGPIO0
)
SPIWIFI
fromSPI
SPIWIFI_SS
fromD13
ESP32_RESETN
fromD12
SPIWIFI_ACK
fromD11
ESP32_GPIO0
disabled
- Pin
D8
is connected to the onboard mini NeoPixel. - Analog pin
A0
used for random seed. - Current sensor INA219 connects over I2C at its default address,
0x40
.
Bottles can be controlled over MQTT.
-
Birth and LWT messages sent on
cryptid/bottles/status
asonline
/offline
. -
Status messages sent on
cryptid/bottles/state
in JSON. -
Discovery (auto-config) messages published for Home Assistant (prefix
homeassistant/
) on startup, reconnection, and Home Assistant birth messages. -
Commands for:
Topic Payload on
ON
/OFF
brightness
0-255
rgb
0-255,0-255,0-255
, e.g.0,128,200
white_balance
30-90
in mireds, e.g.40
,65
white
0-255
effect
Default
,Glow
,Glow White
,Faeries
,Rain
,Rainbow
,Test
,Test White
,Illuminate
,Warning
glow_speed
Slow
,Medium
,Fast
faerie_speed
Slow
,Medium
,Fast
-
See src/control.cpp for individual command details.
The two RGB LEDs on both the M4 and ESP32 boards will display:
- π green: Bootloader active (M4 only) (double tap Reset to activate)
- 𧑠orange: WiFi disconnected, connecting
- π purple: MQTT disconnected, connecting
- π cyan: Sending MQTT message
- π red: Unknown error
π The large green LED on the board with the INA219 indicates power, behind main capacitors.