Skip to the content
PCBKitNew board
2 layers100 × 100 mmMacropadultra, the printed circuit board in 3D

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

8

README

README.md

Macropaduno

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.

image

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.
image

Version 1 Prototype

Here is what the v1 version of the macropad looked like:

image

Version 2 Prototype

Here is what the v2 version of the macropad looked like:

image

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
QtyValueFootprintReferences
100.1µFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC3, C4, C5, C6, C7, C8, C9, C10, C11, C12
91N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8, D9
9RResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR_4.7Kohm_pullup1, R_4.7Kohm_pullup2, R_10.2Kohm1, R_10Kohm_pullup1, R_10KohmLowPass1, R_10KohmLowPass2, R_10KohmLowPass3, R_75Kohm1, R_220ohm1
9SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9
6C_SmallCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC_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
2COM-09032mylibrary:XDCR_COM-09032U1, U3
2C_PolarizedCapacitor_THT:CP_Radial_D5.0mm_P2.00mmC2_22µF1, C4_22µF1
2LP5907MFX-2.8Package_TO_SOT_SMD:SOT-23-5U6, U7
122µFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mmC2
130063006:MODULE_3006U10
1CVS-1508CVS_1508:SPKR_CVS-1508LS2
1Conn_01x02_PinConnector_JST:JST_PH_S2B-PH-SM4-TB_1x02-1MP_P2.00mm_HorizontalJ1
1Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_HorizontalJ_servo1
1DM-OLED096-636DM-OLED096-636:MODULE_DM-OLED096-636U11
1D_SchottkyDiode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD10
1LInductor_THT:L_Radial_D10.0mm_P5.00mm_Fastron_07ML1_22µH1
1MCP23017-E_SOdigikey-footprints:SOIC-28_W7.5mmU2
1MIC5365-1.3YC5Package_TO_SOT_SMD:SOT-353_SC-70-5U8
1MT3608Package_TO_SOT_SMD:SOT-23-6U4
1OV2640OV2640:OV2640CAM1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW10
1WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD11
1XIAO-HALF-HOLE-23PSeeed_Studio_XIAO_Series:XIAO-ESP32-S3-Plus-SMDU5

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 mmModemHAT, the printed circuit board in 3D

    ModemHAT

    astuder/ModemHAT

    Classic Phone Modem HAT for the Raspberry Pi

    111 parts56
  • 2 layers111.7 × 98.3 mmDC25-geiger badge, the printed circuit board in 3D

    DC25-geiger badge

    badgelife/DC208-DC25-geiger-badge

    The DC25-geiger-badge from DC208

    33 parts4MIT
  • 6 layers244 × 244 mmRetroslop, the printed circuit board in 3D

    Retroslop

    CPTforever/8088-MicroATX-Computer

    A 8088 based, IBM 5150 like computer compatible with the MicroATX motherboard form factor.

    193 parts
  • 2 layers30 × 100 mmDroidVR PCB, the printed circuit board in 3D

    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 mmNixieclockin12 V2-1, the printed circuit board in 3D

    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 mmCable tester, the printed circuit board in 3D

    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 mmVik playground, the printed circuit board in 3D

    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 mmFpga play, the printed circuit board in 3D

    Fpga play

    electronut/fpga.play.pub

    Low cost open source Lattice iCE40UP5k FPGA board.

    74 parts21