

Macropadultra
An ESP32-S3 handheld controller with a custom PCB and 3D-printed enclosure for numerous programmable functions.
- Size
- 100 × 100 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 67
- Nets
- 71
- Pads
- 302
- Tracks, vias
- 1,174, 177
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 25 Jul 2026
- Updated
- 23 Aug 2026
Overview
Macropadultra is an open-source printed circuit board by LimesOrLemons, from the LimesOrLemons/Macropaduno repository on GitHub. It is a 2-layer board of 100 × 100 mm with 67 parts on 71 nets, routed with 1,174 tracks and 177 vias.
It is built around the MT3608, COM-09032 and LP5907MFX-2.8, with the MCP23017-E/SO, MIC5365-1.3YC5-TR and CVS-1508 among its other parts. Its parts include 13 capacitors, 11 diodes, 10 ICs, 10 switches and 1 connector.
Main components
8MT3608
SOT-23-6-40℃~+85℃ 1 1.2MHz 100uA、1.6mA 2A 2V~24V Adjustable Boost Boost Built-in No SOT-23-6 DC-DC Converters ROHS西安航天民芯DC-DC ConvertersCOM-09032
插件插件 Multi-Directional Switches ROHSSparkFun ElectronicsMulti-Directional SwitchesLP5907MFX-2.8
SOT-23-5-40℃~+125℃@(Tj) 1 120mV@(250mA) 12uA 2.8V 250mA 5.5V 6.5uVrms 82dB@(1kHz) Fixed Positive Short Circuit Protection、Thermal shutdown、Enable control、Input under-voltage protection、Output discharge SOT-23-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSTexas InstrumentsVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsMCP23017-E/SO
SOIC-28-300mil-40℃~+85℃ 1.7MHz 1.8V~5.5V 16 1uA 600mV 8 8mA I2C Interrupt Output Reset function、Cascade and address expansion SOIC-28-300mil I/O Expanders ROHSMicrochip TechnologyI/O ExpandersMIC5365-1.3YC5-TR
SC-70-5-40℃~+125℃@(Tj) 1 1.3V 150mA 200uVrms 310mV@(150mA) 39uA 5.5V 65dB@(1kHz) Fixed Over Current Protection、Over Temperature Protection Positive SC-70-5 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSMicrochip TechnologyVoltage Regulators - Linear, Low Drop Out (LDO) RegulatorsCVS-1508
插件,P=7.6mm-20℃~+55℃ 1.36kHz~20kHz 1.7kHz 15mm 300mW 7.5mm 8Ω Electromagnetic 插件,P=7.6mm Speakers ROHSCUISpeakersOV2640
BGA-38- Lack of specifications ROHSOmniVision TechnologiesUncategorisedWS2812B
5mm X 5mm Surface Mount RGB LED with Intelligent ControlWorldsemiUncategorised
README
README.mdMacropaduno
An ESP32-S3 handheld controller with a custom PCB and 3D-printed enclosure for numerous programmable functions.
Overview
Welcome to Macropaduno, a custom-designed handheld controller powered by an ESP32-S3. This is the second iteration of the design, significantly expanded to pack maximum functionality into a compact layout for advanced programming and testing.
Features & Hardware Specs
-
Microcontroller: ESP32-S3
-
Connectivity: Bluetooth & Wi-Fi
-
Power Management: Integrated battery management, internal power system, and a voltage booster (3.3V to 5V)
-
Audio: Onboard speaker driven by an audio amplifier
-
Visuals: OLED screen, camera module (OV2640), and addressable RGB LED
-
Input Controls:
-
9x Mechanical key switches
-
2x Pressable joysticks
-
1x Pressable rotary encoder switch
-
Expansion: Dedicated servo/header port for external peripherals and motors
Project Journey & Lessons Learned
This design represents about a month of intensive work on the digital and schematic design side. Moving from a much smaller initial prototype, this version integrates all peripheral components onto a single custom PCB paired with a 3D-printed enclosure.
While the form factor turned out a bit bulkier than originally planned, it serves as an exceptional foundation for future iterations. Key engineering takeaways from this project include:
- Introduction to KiCad schematic and PCB layout & practices
- C++ firmware development for the ESP32-S3 and electronic components
- Planning for acoustic chambers, battery integration, and mechanical clearance in 3D CAD (modeled in Onshape, with future plans to explore SolidWorks for professional CAD workflows).
- Identifying areas for future optimization, such as transitioning to 4-layer boards and component stacking for tighter spatial efficiency.
Version 1 Prototype
Here is what the v1 version of the macropad looked like:
Version 2 Prototype
Here is what the v2 version of the macropad looked like:
Acknowledgements & Credits
Special thanks to the open-source community and creators who shared CAD models and reference files used during the design process:
Parts
67| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 0.1µF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | C3, C4, C5, C6, C7, C8, C9, C10, C11, C12 |
| 9 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2, D3, D4, D5, D6, D7, D8, D9 |
| 9 | R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R_4.7Kohm_pullup1, R_4.7Kohm_pullup2, R_10.2Kohm1, R_10Kohm_pullup1, R_10KohmLowPass1, R_10KohmLowPass2, R_10KohmLowPass3, R_75Kohm1, R_220ohm1 |
| 9 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9 |
| 6 | C_Small | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | C_1µF_1.3V_In1, C_1µF_1.3V_Out1, C_1µF_2.8V_In1, C_1µF_2.8V_In2, C_1µF_2.8V_Out1, C_1µF_2.8V_Out2 |
| 2 | COM-09032 | mylibrary:XDCR_COM-09032 | U1, U3 |
| 2 | C_Polarized | Capacitor_THT:CP_Radial_D5.0mm_P2.00mm | C2_22µF1, C4_22µF1 |
| 2 | LP5907MFX-2.8 | Package_TO_SOT_SMD:SOT-23-5 | U6, U7 |
| 1 | 22µF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | C2 |
| 1 | 3006 | 3006:MODULE_3006 | U10 |
| 1 | CVS-1508 | CVS_1508:SPKR_CVS-1508 | LS2 |
| 1 | Conn_01x02_Pin | Connector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_Horizontal | J1 |
| 1 | Conn_01x03_Pin | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Horizontal | J_servo1 |
| 1 | DM-OLED096-636 | DM-OLED096-636:MODULE_DM-OLED096-636 | U11 |
| 1 | D_Schottky | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D10 |
| 1 | L | Inductor_THT:L_Radial_D10.0mm_P5.00mm_Fastron_07M | L1_22µH1 |
| 1 | MCP23017-E_SO | digikey-footprints:SOIC-28_W7.5mm | U2 |
| 1 | MIC5365-1.3YC5 | Package_TO_SOT_SMD:SOT-353_SC-70-5 | U8 |
| 1 | MT3608 | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | OV2640 | OV2640:OV2640 | CAM1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW10 |
| 1 | WS2812B | LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm | D11 |
| 1 | XIAO-HALF-HOLE-23P | Seeed_Studio_XIAO_Series:XIAO-ESP32-S3-Plus-SMD | U5 |
The 64 most common of 67 parts.
Questions
How big is the Macropadultra PCB?
It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Macropadultra use?
67 parts, built around the MT3608, COM-09032, LP5907MFX-2.8 and MCP23017-E/SO. 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 Macropadultra KiCad files?
From the LimesOrLemons/Macropaduno repository on GitHub, at the commit this page was made from: the board is macropadultra.kicad_pcb and its schematic macropadultra.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Macropadultra design in my own project?
Its repository states no licence, so its author keeps all rights: ask LimesOrLemons before reusing the design.
Similar boards
- 2 layers85 × 56.5 mm

- 2 layers111.7 × 98.3 mm

- 6 layers244 × 244 mm

Retroslop
CPTforever/8088-MicroATX-Computer
A 8088 based, IBM 5150 like computer compatible with the MicroATX motherboard form factor.
193 parts - 2 layers30 × 100 mm

DroidVR PCB
xxdamlaxx/DroidVR
A DIY VR controller ecosystem — open-source hardware and firmware for SteamVR-compatible motion controllers.
49 parts1 - 2 layers175 × 45.8 mm

Nixieclockin12 V2-1
broedschroed/NixieClockUltra
ESP32-S3 powered Nixie tube clock with direct-drive IN-12A tubes, web UI, IR remote, and RGB ambient lighting
169 partsMIT - 2 layers135 × 90 mm

Cable tester
Mykola2/uart-cable-tester
design.py is the single source of truth: parts, footprints, pin-to-net map and positions. Everything else is generated from it.
66 parts - 2 layers99 × 65.5 mm

Vik playground
sadekbaroudi/vik
This is a VIK module designed to mount a PER56 scroll ring, with a 35mm Cirque Trackpad and optional WS2812B LEDs.
40 parts220CERN-OHL-P-2.0 - 4 layers32 × 63.8 mm
