
Board esp32 v2
sudomesh/disaster-radio
A (paused) work-in-progress long-range, low-bandwidth wireless disaster recovery mesh network powered by the sun.

KiCad schematic for the iWand color-identifying wand (Seeed XIAO ESP32S3 + GY-33 color sensor + DFPlayer Mini + AO3400 power gating). See firmware/CLAUDE.md for how the pin assignments here map to the firmware.
Iwand is an open-source printed circuit board by dangwalsh, from the dangwalsh/iwand repository on GitHub. It is a 2-layer board of 75.9 × 22 mm with 17 parts on 32 nets, routed with 216 tracks and 69 vias.
It is built around the AO3400. Its parts include 6 resistors, 5 connectors, 2 ICs, 2 transistors and 1 capacitor. It belongs with the ESP32 boards of this library.
KiCad schematic for the iWand color-identifying wand (Seeed XIAO ESP32S3 + GY-33 color sensor + DFPlayer Mini + AO3400 power gating). See firmware/CLAUDE.md for how the pin assignments here map to the firmware.
iwand.kicad_sch) is in the KiCad 7 s-expression format (version 20230121). Older KiCad versions won't open it.The module symbols (wand_parts:XIAO_ESP32S3, wand_parts:DFPlayer_Mini) are embedded directly in iwand.kicad_sch, so there's no external symbol library to install. ERC warns that the wand_parts library isn't configured and that Device:Q_NMOS_GDS is missing from KiCad's current Device library. Both warnings are harmless, because the embedded copies are used.
Project footprints live in iwand.pretty, registered through the project's fp-lib-table as iwand:
| Footprint | Used by | Source |
|---|---|---|
XIAO_ESP32S3_Socket | U1 | Pad positions from Seeed's XIAO-ESP32-S3-DIP, without its castellated SMD pads. USB-C is at +X; B+/B- on the fab layer mark the underside battery pads. |
DFPlayer_Mini_Socket | U3 | DFR0299 datasheet drawing: 20.32 mm square, 2 x 8 pins, rows 18.034 mm apart. |
AO3400_SOT23_Adapter | Q1, Q2 | 1 x 3 pins in the adapter board's S-D-G order (adapter labels 2-3-1). Pads are numbered for Q_NMOS_GDS. The adapter outline (~7.6 x 10 mm) is estimated from a photo. |
Everything else is stock KiCad:
The board is 75.9 x 22 mm, laid out as a "spine" along the wand. From the rear:
The module sockets are 3M 929870 low-profile strips, 3.8 mm tall, bought as 10-pin strips and cut to length. In them, the XIAO sits about 6.3 mm up (3.8 mm socket + 2.5 mm pin spacer). Its courtyard therefore covers only its socket strips and USB plug, so parts up to about 5 mm tall can go underneath.
For the 3D view:
3dmodels/), drawn 6.3 mm up. The pin spacer under it isn't modelled.3dmodels/, drawn in inches, Y-up). It includes the module's own pin header, with its spacer resting on the socket top. Its microSD slot opens toward the front of the board, facing J1.Do a dry fit before soldering. A standard 6 mm male pin may bottom out in a 3.8 mm socket and ride slightly higher than 6.3 mm.
BAT.
VBAT, BAT_IN, GND, SPK1/SPK2, AUDIO_GND and SENSOR_GND. Branches to R5/R6/C1 and the gate resistors use 0.25 mm, since they carry almost no current.fab/iwand-gerbers.zip (copper, mask, silkscreen, edge cuts, and plated and non-plated drill files). Regenerate it with KiCad's Fabrication Outputs, or with kicad-cli pcb export gerbers / export drill, after any board change.| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 100 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1, R3 |
| 2 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2, R4 |
| 2 | 1M | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R5, R6 |
| 2 | AO3400 | iwand:AO3400_SOT23_Adapter | Q1, Q2 |
| 1 | 100n | Capacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mm | C1 |
| 1 | DFPlayer Mini | iwand:DFPlayer_Mini_Socket | U3 |
| 1 | GY-33 (GND DR CT VCC) | Connector_JST:JST_PH_S4B-PH-K_1x04_P2.00mm_Horizontal | J1 |
| 1 | LiPo 3.7V (+ -) | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J4 |
| 1 | Power | Button_Switch_THT:SW_Slide_SPDT_Angled_CK_OS102011MA1Q | SW2 |
| 1 | Speaker 8R | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J2 |
| 1 | Wake button SW1 | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J3 |
| 1 | XIAO BAT+ BAT- link | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J5 |
| 1 | XIAO ESP32-S3 | iwand:XIAO_ESP32S3_Socket | U1 |
It measures 75.9 × 22 mm and has 2 copper layers, 1.6 mm thick.
17 parts, built around the AO3400. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the dangwalsh/iwand repository on GitHub, at the commit this page was made from: the board is electrical/iwand.kicad_pcb and its schematic electrical/iwand.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask dangwalsh before reusing the design.

sudomesh/disaster-radio
A (paused) work-in-progress long-range, low-bandwidth wireless disaster recovery mesh network powered by the sun.

Spritetm/picframe_colepd
A WiFi picture frame allowing for remote photo uploads, using an ESP32-C3 and a 5.6" color E-ink display

Tjeerdie/SPECTRE
Speeduino compatible engine control unit (ECU) based around black STM32F407VET6 board.


FeruzTopalov/eleph
GPS-based local relative navigation system for group of up to 6 members


FeruzTopalov/spoke
Standalone LoRa-based real-time off-grid relative GPS navigation for group of up to 5 people. Improved version of LRNS Eleph