Skip to the content
PCBKitNew board
4 layers200 × 45 mmMQTT ModularControllerBoard, the printed circuit board in 3D

MQTT ModularControllerBoard

WiddleWabbit/MQTT-ModularControllerBoard

ESP32-S3-WROOM-1U based motherboard designed to communicate externally via MQTT, and read sensors, control interfaces and other hardware through purpose built modules. For example, actuator control (pumps, solenoids, etc.), and water sensor readings etc.

Size
200 × 45 mm
Copper layers
4
Thickness
1.6 mm
Parts
83
Nets
57
Pads
293
Tracks, vias
652, 490
Pours
34
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
7 Jul 2026
Updated
31 Oct 2026

Overview

MQTT ModularControllerBoard is an open-source printed circuit board by WiddleWabbit, from the WiddleWabbit/MQTT-ModularControllerBoard repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 4-layer board of 200 × 45 mm with 83 parts on 57 nets, routed with 652 tracks and 490 vias.

It is built around the ESP32-S3-WROOM-1U-N16R8, TPS54308DDCR and LM74700QDBVTQ1, with the TLV76733DRVR, A2541HWV-10P and KT-0603R among its other parts. Its parts include 27 capacitors, 18 resistors, 10 connectors, 5 ICs and 3 diodes. It belongs with the home automation and IoT and sensors and measurement boards and the ESP32 boards of this library.

Main components

6

README

README.md

MQTT Modular Controller Board

Currently In Testing - Not Yet Tested

ESP32-S3-WROOM-1U based motherboard designed to communicate externally via MQTT, and read sensors, control interfaces and other hardware through purpose built modules. For example, actuator control (pumps, solenoids, etc.), and water sensor readings etc.

Features

  • ESP32-S3-WROOM-1U microcontroller with antenna support
  • Four module slots using standardized 2x10 pin headers
  • Power rails: 12 V, 5 V, and 3.3 V supplied to modules
  • High-side reverse polarity protection on 12 V and 5 V inputs
  • USB-powered operation for programming and testing (no 12 V required)
  • Screw terminal power input
  • 4-layer PCB designed for assembly (routing / GND / GND / routing)
  • 4 x 3.5mm Mounting Holes

Architecture

Core Components

  • Microcontroller: ESP32-S3-WROOM-1U
  • Power Input: 12 V via screw terminals
  • Power Conversion:
    • 12 V → 5 V using TPS563200DDCR (TI WEBENCH design)
    • 5 V → 3.3 V using LDO
  • Maximum Outputs:
    • 12 V: Limited by external supply
    • 5 V: 3 A total (0.8 A used internally)
    • 3.3 V: 1 A total (0.6 A used by ESP32)

Module Interface

Each of the four modules connects via two 10-pin headers and receives:

  • Power: 12 V (4 pins shared), 5 V (2 pins), 3.3 V (2 pins), GND (4 pins)
  • Communication:
    • Shared SPI: CS(per module), MOSI(GPIO11), MISO(GPIO13), SCK(GPIO12)
    • Shared I²C: SDA(GPIO4), SCL(GPIO5)
  • Control/Detection:
    • One general-purpose GPIO per module
    • One module detection/sense pin per module
    • Module-specific CS pins.
Module Slots (Left to Right)

Slot 1:

  • General Purpose: GPIO1
  • Module Detection: GPIO2
  • CS Pin: GPIO16

Slot 2:

  • General Purpose: GPIO43
  • Module Detection: GPIO44
  • CS Pin: GPIO15

Slot 3:

  • General Purpose: GPIO42
  • Module Detection: GPIO41
  • CS Pin: GPIO7

Slot 4:

  • General Purpose: GPIO40
  • Module Detection: GPIO39
  • CS Pin: GPIO6

Additional Features

  • USB micro-B for programming and power (VBUS sense on GPIO08)
  • Power indicator LED on 3.3 V rail
  • EN button and RESET functionality
  • Manual download mode: Hold BOOT button while pressing RESET, then release BOOT

PCB Stackup

4-layer board:
Component/Routing → Ground plane → Ground plane → Routing

Impedance Control: Designed for JLCPCB Impedance Control Stackup of JLC04161H-7628, Finished thickness of 1.59mm.

Setup and Build

Firmware: The PlatformIO firmware includes non-blocking WiFi station reconnection and a captive-portal setup flow. On first boot, the portal scans nearby networks and offers a selectable SSID list plus manual SSID entry.

Programming:

  • Connect via USB micro-B.
  • Use ESP32 flashing tools (esptool, Arduino IDE, ESP-IDF, etc.).
  • For manual bootloader mode: Hold BOOT button, press RESET, release BOOT.

Module Development: Modules must conform to the 2x10 header pinout with 40mm pitch. Board uses 2 x 10, 8.5mm Female Headers (A2541HWV-10P). Recommended 3A support.

Repository Contents

  • KiCad schematic and PCB files
  • Project configuration
  • Backups folder

License

This documentation is part of MQTT-ModularControllerBoard Project and is licensed under the CERN Open Hardware Licence Version 2 - Permissive (CERN-OHL-P-2.0). You may redistribute and modify this documentation under the terms of the CERN-OHL-P-2.0. This documentation is distributed WITHOUT ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY AND FITNESS FOR A PARTICULAR PURPOSE. See the CERN-OHL-P-2.0 for applicable conditions.

Parts

83
QtyValueFootprintReferences
1110uF 10% 25VJLCPCB Basic:CAPC3216X180NC201, C302, C303, C304, C305, C306, C307, C402, C405, C412, C417
90.1uF 10% 50VJLCPCB Basic:CAPC1608X90NC203, C204, C205, C301, C308, C401, C403, C413, C416
8A2541HWV-10PCJT Connectors:PinSocket_1x10_P2.54mm_Vertical_FemaleJ501, J502, J503, J504, J505, J506, J507, J508
8TestPointTestPoint:TestPoint_Pad_2.0x2.0mmTP301, TP302, TP303, TP402, TP405, TP406, TP407, TP601
610kΩ 1/8W 1%JLCPCB Basic:RESC2013X65NR201, R202, R203, R204, R205, R206
43.5mmMountingHole:MountingHole_3.5mmH101, H102, H103, H104
3100kΩ 1/8W 1%JLCPCB Basic:RESC2013X65NR405, R601, R602
322pF 5% 50VJLCPCB Basic:CAPC1608X90NC206, C207, C208
347Ω 1/8W 1%JLCPCB Basic:RESC2013X65NR211, R212, R213
2220nF 10% 50VJLCPCB Basic:CAPC2012X135NC309, C415
222Ω 1/8W 5%JLCPCB Basic:RESC2013X65NR207, R208
24.7kΩ 1/8W 1%JLCPCB Basic:RESC2013X65NR209, R210
260V 38AONSEMI Transistors:DPAK__SINGLE-GAUGE__TO-252_369C__ISSUE_FQ301, Q402
2LM74700QDBVTQ1TEXAS INSTRUMENTS ICs:SOT95P280X145-6NIC301, IC403
2LOGOLOGOG***, G***
2Push Button SPSTJLCPCB Basic:SW_TS-1088-AR02016S201, S202
11051640001MOLEX Connectors:CON00906_5_MOLJ601
110uH, 5.4A, 20%Inductor_SMD:L_SXN_SMDRI127L402
113.7kΩ 1/8W 1%YAGEO Resistors:RESC2012X60NR406
113V 21.5V 1uA LeakLITTELFUSE Diodes:DO-214AA_BidirectionalD303
11715721PHOENIX CONTACT Terminals:1715721J301
11uF 10% 50VJLCPCB Basic:CAPC2012X135NC202
1330Ω 1/8W 1%JLCPCB Basic:RESC2013X65NR401
140V 1AGUANGDONG HOTTECH Diodes:D_SOD-323FD601
147uF 20% 10VJLCPCB Basic:CAPC3216X190NC414
1ESD Protection ICSTMICROELECTRONICS Protection:SOT95P280X145-6NU601
1ESP32-S3-WROOM-1U-N16R8ESPRESSIF Microcontrollers:ESP32-S3-WROOM-1UU201
1KT-0603RJLCPCB Basic:LED_0603_1608MetricD401
1TLV76733DRVRTEXAS INSTRUMENTS ICs:SON65P200X200X80-7NIC401
1TPS54308DDCRTEXAS INSTRUMENTS ICs:SOT95P280X110-6NPS401

Questions

How big is the MQTT ModularControllerBoard PCB?

It measures 200 × 45 mm and has 4 copper layers, 1.6 mm thick.

What parts does the MQTT ModularControllerBoard use?

83 parts, built around the ESP32-S3-WROOM-1U-N16R8, TPS54308DDCR, LM74700QDBVTQ1 and TLV76733DRVR. 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.

Where can I download the MQTT ModularControllerBoard KiCad files?

From the WiddleWabbit/MQTT-ModularControllerBoard repository on GitHub, at the commit this page was made from: the board is MQTT-ModularControllerBoard.kicad_pcb and its schematic ESP32-S3-WROOM-1U.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the MQTT ModularControllerBoard design in my own project?

Its repository publishes it under the CERN-OHL-P-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers92 × 92 mmMiswired Glitchy, the printed circuit board in 3D

    Miswired Glitchy

    SleuthSolder/glitchy

    Glitchy, the introduction to hardware hacking

    82 parts2
  • 2 layers55 × 40 mmDesign1, the printed circuit board in 3D

    Design1

    beauforr/UAV-charging-demo

    Hardware demo based on UAV-Based Charging Solution.

    107 parts
  • 4 layers75 × 100 mmControl Board V3, the printed circuit board in 3D

    Control Board V3

    Thornbots/Electrical

    Here is where we store all relevant files for the Electrical team. In here you will store all of the KiCad files that you produce through out the year.

    76 parts
  • 4 layers95.9 × 90.2 mmKENSAT EPS v1.2, the printed circuit board in 3D

    KENSAT EPS v1.2

    kenchangh/kensat

    KENSAT, Edge-AI Compute in Orbit - A 2U CubeSat that runs a large language model on-orbit. A power-gated NVIDIA Jetson Orin Nano executes neural-network inference in space, and the results are downlinked over a custom…

    218 parts119
  • 4 layers165.2 × 72 mmAudiograb, the printed circuit board in 3D

    Audiograb

    oveljosland/audiograb-pcb

    Design files for the Audiograb PCB.

    134 parts4CERN-OHL-S-2.0
  • 4 layers148.8 × 100 mmMotherboard, the printed circuit board in 3D

    Motherboard

    RisottoRis8/Breath_Simulator

    Progetti Ing Biomed

    111 parts1
  • 2 layers93 × 85.9 mmMiniSumoSTM, the printed circuit board in 3D

    MiniSumoSTM

    balamutnypapcio/MiniWilus2.0

    68 parts
  • 4 layers65 × 56 mmCanary pwr, the printed circuit board in 3D

    Canary pwr

    danbrunski/canary

    Four 25 F cells in series for CANary-PWR's LTC3350 hold-up, on a lead (design record: docs/CANary-PWR-Spec.md §P4). The board has no active parts: four cells, an NTC, two Kelvin net ties and a Micro-Fit 2 × 5 header.

    132 parts