
Esp32s3-plant monitor
MuffinByteLabs/esp32s3-plant-monitor
Portfolio PCB: ESP32-S3 Wi-Fi plant monitor. 4-layer KiCad 10 design, fabricated and assembled at JLCPCB — schematic, reviews and the frozen manufacturing package all readable in-browser.

Five-key wireless macropad: ESP32-S3, SSD1306 OLED, thumbstick, MX hotswap
OdytsseySwitch is an open-source printed circuit board by KaztoRay, from the KaztoRay/OdytsseySwitch repository on GitHub. It is a 2-layer board of 112 × 102 mm with 35 parts on 49 nets, routed with 346 tracks and 206 vias.
It is built around the ESP32-S3-WROOM-1-N8, AP2112K-3.3 and USBLC6-2SC6. Its parts include 9 capacitors, 9 resistors, 7 switches, 6 connectors and 3 ICs. It belongs with the keyboards and input and lEDs and displays boards and the ESP32 boards of this library.
Five-key wireless macropad built around an ESP32-S3, with a 0.96" OLED and a thumbstick. Reaches a host over USB HID, BLE HID, or Wi-Fi, and can drive other gear through its I2C, UART and addressable-LED outputs.
| Block | Part |
|---|---|
| MCU | ESP32-S3-WROOM-1 — BLE 5, Wi-Fi 4, native USB, pre-certified module |
| Keys | 5 x Kailh MX hotswap sockets on GPIO 4, 5, 6, 7, 15 |
| Stick | 2-axis thumbstick, X on IO1 and Y on IO2 (ADC1 only), press on IO16 |
| Display | SSD1306 0.96" 128x64 over I2C0 (SDA IO8, SCL IO9) |
| Outputs | Qwiic I2C port, WS2812 strip header, UART0 + 4 spare GPIO |
| Power | USB-C bus powered, AP2112K-3.3 LDO, USBLC6-2SC6 ESD array |
Both analogue axes sit on ADC1 because ADC2 stops working once the radio is transmitting. The thumbstick is fed 3V3 rather than 5V so its wiper range matches the ADC full scale.
Order with SMT assembly. Nothing needs soldering afterwards:
Buy modules that already have their pin headers soldered on.
fab/ holds Gerbers, Excellon drill files, the drill map, the .gbrjob,
pick-and-place data and the BOM.
| Setting | Value |
|---|---|
| Base material | FR-4, TG130-140 |
| Layers | 2 |
| Thickness | 1.6 mm |
| Panel | single PCB |
| Surface finish | ENIG |
| Min hole | 0.2 mm |
The 1.6 mm thickness is not optional: MX hotswap sockets are cut for it.
Third-party footprints come from kiswitch;
only Switch_Keyboard_Hotswap_Kailh.pretty is vendored here, under libs/.
fp-lib-table points at it with ${KIPRJMOD}.
Complete and ready to order.
| Check | Result |
|---|---|
| ERC | 0 errors |
| DRC | 0 errors |
| Unconnected | 0 |
| Schematic parity | 0 issues |
| Netlist vs. design intent | checked pin by pin, no mismatch |
Two DRC warnings remain and are both expected: the ESP32 module's silkscreen crosses the left board edge by 0.15 mm, which is the deliberate antenna overhang, and sixteen footprints differ from their library copies, which has no bearing on fabrication.
The autorouter did not length-match the USB differential pair. At USB 2.0 Full Speed that is not a problem in practice, but tidy those two traces by hand if you want it right.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | MX_HOTSWAP | Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00u | SW1, SW2, SW3, SW4, SW5 |
| 3 | 100nF | Capacitor_SMD:C_0603_1608Metric | C6, C8, C9 |
| 3 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R4, R9 |
| 3 | 1uF | Capacitor_SMD:C_0603_1608Metric | C2, C4, C7 |
| 2 | 22uF | Capacitor_SMD:C_1206_3216Metric | C3, C5 |
| 2 | 4.7k | Resistor_SMD:R_0603_1608Metric | R5, R6 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R2, R3 |
| 1 | 10uF | Capacitor_SMD:C_1206_3216Metric | C1 |
| 1 | 1k | Resistor_SMD:R_0603_1608Metric | R8 |
| 1 | 330 | Resistor_SMD:R_0603_1608Metric | R7 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U3 |
| 1 | BOOT | Button_Switch_SMD:SW_SPST_TL3342 | SW6 |
| 1 | ESP32-S3-WROOM-1 | RF_Module:ESP32-S3-WROOM-1 | U1 |
| 1 | EXPANSION | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical_SMD_Pin1Left | J6 |
| 1 | JOYSTICK | Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical_SMD_Pin1Left | J7 |
| 1 | LED | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | OLED_I2C | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical_SMD_Pin1Left | J2 |
| 1 | QWIIC_I2C | Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal | J4 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_TL3342 | SW7 |
| 1 | RGB_OUT | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical_SMD_Pin1Left | J5 |
| 1 | USB-C | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J1 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U4 |

MuffinByteLabs/esp32s3-plant-monitor
Portfolio PCB: ESP32-S3 Wi-Fi plant monitor. 4-layer KiCad 10 design, fabricated and assembled at JLCPCB — schematic, reviews and the frozen manufacturing package all readable in-browser.

JonasLindinger/MicroPad
Battery-efficient ESP32-S3 macro pad with a 2.9" e-paper display for controlling Home Assistant. Pages and per-key actions are configured in a web tool and pushed over MQTT — no reflashing for menu or key changes.

katetriestocode/trailmap
this is the working version! (disclaimer: no antenna as it has not delivered yet, so manual gps coords insertion for now!)

CopperPilot/retro-handheld-copperpilot
An ESP32-S3 game console on one 63 × 80 mm board. 2.4" TFT, 14 buttons, USB-C charging that keeps you playing, and a snap-fit case to print.

HearnChristian/atmos-sense
ESP32-based atmospheric sensing node: BME280 environmental sensing and AS3935 lightning detection over I2C, designed for drone integration. KiCad hardware plus firmware.

HYLDAIC/Flagshep-V1_Audio-Player
A high fidelity semi-portable audio player student project with provided PCB files, 3D files and Code

Omarbelh/FlashCore
Hybrid USB-C SPI Flash & EEPROM programmer based on CH341A and ESP32-S3.

Agent-Bid/IgniteIndia-Payload-PCB-Files
PCB Files for the Cubesat used for the Payload in the Ignite India 2025 Competition
It measures 112 × 102 mm and has 2 copper layers, 1.6 mm thick.
35 parts, built around the ESP32-S3-WROOM-1-N8, AP2112K-3.3 and USBLC6-2SC6. 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 KaztoRay/OdytsseySwitch repository on GitHub, at the commit this page was made from: the board is OdytsseySwitch.kicad_pcb and its schematic OdytsseySwitch.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 KaztoRay before reusing the design.