

Esp butt
A physical controller for intimate devices. No phone. No app. Just knobs, sliders, and hundreds of compatible toys.
- Size
- 65 × 65 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 18
- Nets
- 33
- Pads
- 96
- Tracks, vias
- 90, 0
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 7 Mar 2026
- Updated
- 29 Apr 2026
Overview
Esp butt is an open-source printed circuit board by jsmnbom, from the jsmnbom/esp-butt repository on GitHub. It is a 2-layer board of 65 × 65 mm with 18 parts on 33 nets, routed with 90 tracks and 0 vias.
It is built around the PTA4543-2015DPB103, PBH2UEESNPNAGX and PEC12R-4225F-S0024. Its parts include 10 resistors, 3 capacitors, 2 connectors, 2 switches and 1 IC. It belongs with the ESP32 boards of this library.
Main components
3PTA4543-2015DPB103
插件10kΩ 200V 250mW ±20% 插件 Potentiometers, Variable Resistors ROHSBournsPotentiometers & Variable ResistorsPBH2UEESNPNAGX
插件-20℃~+70℃ 10000 times 100mA 2.3N 25.2mm 30V 7.3mm 9.1mm DPDT Latching Square Plunger White 插件 Keylock Switches ROHSE-SwitchKeylock SwitchesPEC12R-4225F-S0024
插件-30℃~+70℃ 10mA 24/24 5V Incremental Straight Two-phase output 插件 Rotary Encoders ROHSBournsRotary Encoders
README
README.mdesp-butt
Bluetooth intimate hardware (sex toys, etc) controller powered by buttplug.io.
Status
This project is still in fairly early development, it has some quirks and rough edges but is generally functional. Feel free to contact me if you are interested in building your own or contributing to the project.
Documentation
Contributing
I welcome contributions with open arms. If you have ideas, suggestions for improvements, or want to help out with development, please don't hesitate to reach out or submit a pull request.
License
This project uses multiple licenses depending on the component:
| Component | License |
|---|---|
src/ — firmware source code | MIT |
docs/ — documentation | MIT |
cad/ — CAD files | MIT |
img/ — images | CC BY-SA 4.0 |
pcb/ — PCB design | CC BY-SA 4.0 |
pcb/kicad-config/10.0/colors/witchhazel.json | Apache-2.0 — © Thea Flowers |
pcb/esp-butt/3D/ — 3D models | Mixed — see ATTRIBUTION.md |
Thanks
Thanks to @qdot and the rest of the Buttplug.io contributors doing all the hard work of reverse engineering and protocol design, and also for being generally awesome.
Parts
18| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1, R2, R3, R4, R6 |
| 2 | 10nF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm | C1, C2 |
| 2 | 220k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R9, R10 |
| 2 | PTA4543-2015DPB103 | esp-butt:TRIM_PTA4543-2015DPB103 | R7, R8 |
| 1 | 100nF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm | C3 |
| 1 | 1k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R5 |
| 1 | 1x04_P2.54mm | esp-butt:OLED_128x64_1.3in_I2C_Socket_Vertical | J1 |
| 1 | JST_PH | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J2 |
| 1 | PBH2UEESNPNAGX | esp-butt:SW_PBH2UEESNPNAGX | S2 |
| 1 | PEC12R-4225F-S0024 | esp-butt:XDCR_PEC12R-4225F-S0024 | S1 |
| 1 | XIAO-ESP32-S3 | esp-butt:XIAO-ESP32-S3-DIP+ | U1 |
Questions
How big is the Esp butt PCB?
It measures 65 × 65 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Esp butt use?
18 parts, built around the PTA4543-2015DPB103, PBH2UEESNPNAGX and PEC12R-4225F-S0024. 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 Esp butt KiCad files?
From the jsmnbom/esp-butt repository on GitHub, at the commit this page was made from: the board is pcb/esp-butt/esp-butt.kicad_pcb and its schematic pcb/esp-butt/esp-butt.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Esp butt design in my own project?
Its repository states no licence, so its author keeps all rights: ask jsmnbom before reusing the design.
Similar boards
- 2 layers99.1 × 44.5 mm

- 2 layers100 × 100 mm

- 4 layers56.5 × 216 mm

- 2 layers151.8 × 78.3 mm

Minigeki
defvs/minigeki
A portable implementation of an ONGEKI controller, with all necessary buttons, two macros, RGB LED support, USB-C.
68 parts22GPL-3.0 - 2 layers148 × 64 mm

Macro Pad 2 PCB
MichaelStickels/Macro_Pad_2.0
DIY custom macro keypad and Deej volume control board with RGB based on the Seeed Studio XIAO RP2040 and CircuitPython.
37 parts3GPL-3.0 - 2 layers88 × 120 mm

- 2 layers82 × 88.6 mm

- 2 layers274.8 × 130.9 mm

Apex MUX
ishantmahatopro/Apex-MUX
A Blackmagic Design DaVinci Resolve Speed Editor with Slide Potentiometers, designed for budget video editors
96 parts