
Button board
second-string/capacitive-touch-button-board-prototype
Protoype hardware and firmware for evaluating different designs of capacitive touch buttons and reverse-mount LEDs

Protoype hardware and firmware for evaluating different designs of capacitive touch buttons and reverse-mount LEDs
Button board is an open-source printed circuit board by second-string, from the second-string/capacitive-touch-button-board-prototype repository on GitHub, published under the MIT licence. It is a 4-layer board of 150 × 100 mm with 177 parts on 172 nets, routed with 1,172 tracks and 156 vias.
It is built around the ESP32-S3-WROOM-1-N8, SP3485CN-L and AT42QT2120-SU, with the 74HC595, ERJ-P08J471V and AS2302 among its other parts. Its parts include 78 resistors, 23 connectors, 21 diodes, 19 transistors and 15 capacitors. It belongs with the ESP32 boards of this library.

This repo contains two designs for prototype PCBs for testing different capacitive touch button styles and different reverse-mounted LED colors and styles. While version 1.1 was indeed fabbed, built, and works, these files are made public only for reference. Do not expect to build these designs with no changes and have everything working for you.
Version 1.0 is the full 6x6 version of the board. It all fabrication outputs were generated, but the board was never fabbed due to cost. Version 1.1 is the same as 1.0 but with the top 3 rows of buttons removed to simplify the design physical size and part cost.
There is a schematic PDF and PCB layer prints PDF in the version 1.1 directory if you do not have KiCad. Version 1.1 that was built also contains generated Excel and interactive boms in its main directory or the bom/ directory.
Find the custom capacitive touch footprints in the symbols_and_footprints/ directory of each hardware version.
There is test firmware for version 1.1 in button-board_rev_1_1/bringup_firmware/. NOTE: This firmware is sloppy, terribly written, inefficient, and everything is hardcoded. It is only included as a reference, do not think that this will work for you out of the box.
Videos of example behavior are in the img/ directory.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 39 | 10k | Resistor_SMD:R_0603_1608Metric | R14, R22, R100, R101, R102, R103, R104, R105, R106, R107, R109, R110, R111, R112, R113, R114 +23 |
| 18 | 470R 1/2W | Resistor_SMD:R_1206_3216Metric | R25, R27, R29, R31, R33, R35, R37, R39, R41, R43, R45, R47, R49, R51, R53, R55 +2 |
| 18 | NMOS | Package_TO_SOT_SMD:TSOT-23 | Q2, Q3, Q4, Q5, Q6, Q7, Q10, Q11, Q12, Q13, Q14, Q15, Q16, Q17, Q18, Q19 +2 |
| 12 | LED | LED_SMD:LED_SunLED_XZ_Reverse_Mount | D4, D5, D6, D10, D11, D12, D16, D17, D18, D19, D20, D21 |
| 9 | 0R | Resistor_SMD:R_0603_1608Metric | R1, R2, R11, R16, R17, R18, R19, R20, R21 |
| 7 | 0.1uF | Capacitor_SMD:C_0603_1608Metric | C7, C8, C11, C12, C13, C17, C18 |
| 4 | 10uF | Capacitor_SMD:C_1206_3216Metric | C1, C3, C6, C10 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 4 | R | Resistor_SMD:R_0603_1608Metric | R3, R4, R5, R6 |
| 3 | 1uF | Capacitor_SMD:C_0603_1608Metric | C2, C5, C9 |
| 3 | 74HC595 | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U4, U5, U7 |
| 3 | LED | LTST-C230K:LED_LTST-C230K | D7, D8, D9 |
| 3 | LED | LED_SMD:LED_SunLED_XZ_Reverse_Mount_Cut_Pads | D13, D14, D15 |
| 3 | ~ | Button_Switch_SMD:Cap_Touch_Ring_Cutout | P4, P5, P6 |
| 3 | ~ | Button_Switch_SMD:Cap_Touch_Ring_Medium | P7, P8, P9 |
| 3 | ~ | Button_Switch_SMD:Cap_Touch_Ring_Large | P13, P14, P15 |
| 3 | ~ | Button_Switch_SMD:Cap_Touch_Ring_Small | P1, P2, P3 |
| 3 | ~ | Button_Switch_SMD:Cap_Touch_Ring_Medium_Bottom | P10, P11, P12 |
| 3 | ~ | Button_Switch_SMD:Cap_Touch_Ring_Large_Bottom | P16, P17, P18 |
| 2 | 3.3k-8k | Resistor_SMD:R_0603_1608Metric | R13, R15 |
| 2 | 47k | Resistor_SMD:R_0603_1608Metric | R108, R121 |
| 2 | 5k1 | Resistor_SMD:R_0603_1608Metric | R7, R8 |
| 2 | AT42QT2120-SU | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U10, U11 |
| 2 | LED | Diode_SMD:D_0805_2012Metric | D2, D3 |
| 2 | TestPoint | TestPoint:TestPoint_Pad_D1.0mm | TP1, TP2 |
| 1 | 100k | Resistor_SMD:R_0603_1608Metric | R12 |
| 1 | 120R | Resistor_SMD:R_0603_1608Metric | R135 |
| 1 | 22uF | Capacitor_SMD:C_1206_3216Metric | C4 |
| 1 | 3V3 | TestPoint:TestPoint_Pad_D1.0mm | TP3 |
| 1 | AZ1117CH2-3.3 | Package_TO_SOT_SMD:SOT-223 | U1 |
| 1 | CLOCK | TestPoint:TestPoint_Pad_D1.0mm | TP6 |
| 1 | Conn_01x04 | Connector_PinHeader_1.27mm:PinHeader_1x04_P1.27mm_Vertical | J4 |
| 1 | D | Diode_SMD:D_SOD-123F | D1 |
| 1 | DATA | TestPoint:TestPoint_Pad_D1.0mm | TP7 |
| 1 | ESP32-S3-WROOM-1 | PCM_Espressif:ESP32-S3-WROOM-1 | U2 |
| 1 | FTSH-105-01-S-DV-TR | FTSH-105-01-S-DV-TR:SAMTEC_FTSH-105-01-S-DV-TR | J3 |
| 1 | IO14 | TestPoint:TestPoint_Pad_D1.0mm | TP4 |
| 1 | LATCH | TestPoint:TestPoint_Pad_D1.0mm | TP5 |
| 1 | PMOS | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | SCK | TestPoint:TestPoint_Pad_D1.0mm | TP9 |
| 1 | SCL | TestPoint:TestPoint_Pad_D1.0mm | TP8 |
| 1 | SP3485CN | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3 |
| 1 | Screw_Terminal_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Horizontal | J1 |
| 1 | USB_C_Receptacle_USB2.0_EDITED | GSB1C41110SSHR:AMPHENOL_GSB1C41110SSHR | J2 |
| 1 | XLR5_Ground | NC5FAH:NEUTRIK_NC5FAH | J5 |
It measures 150 × 100 mm and has 4 copper layers, 1.6 mm thick.
177 parts, built around the ESP32-S3-WROOM-1-N8, SP3485CN-L, AT42QT2120-SU and 74HC595. 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 second-string/capacitive-touch-button-board-prototype repository on GitHub, at the commit this page was made from: the board is button-board_rev_1_1/button-board.kicad_pcb and its schematic button-board_rev_1_0/button-board.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

second-string/capacitive-touch-button-board-prototype
Protoype hardware and firmware for evaluating different designs of capacitive touch buttons and reverse-mount LEDs


Fominsky/HIGH-SPEED-USB-ISOLATOR
High-speed USB isolator with external power based on ADuM3165/ADuM3166

monash-human-power/power-meter
Power meter designed as part of Oscar Varney and Jotham Gates' FYP in 2024


ElektorLabs/esp32-energymeter
The Elektor ESP32 Energy Meter project, featuring schematics, PCB designs, and ESPHome integration for advanced energy monitoring


Rack-Robotics/Powercore-V2.0
Open-Source wire EDM power supply by Rack Robotics, Inc.
