
StackLink
gusmanb/logicanalyzer
24 channel, 100Msps logic analyzer hardware and software

A DIY stream deck style button box using a 3.5" LCD.
LCD button box is an open-source printed circuit board by Icyconfusion, from the Icyconfusion/LCD-button-box repository on GitHub. It is a 2-layer board of 153.3 × 81.4 mm with 29 parts on 29 nets, routed with 519 tracks and 27 vias.
Its parts include 24 switches, 4 connectors and 1 IC. It belongs with the lEDs and displays boards of this library.
A DIY stream deck style button box using a 3.5" LCD, tact switches and an ESP32 Devkit V1.
The button box uses an LCD seated at the bottom of the case. Above that, a PCB is suspended, containing the necessary tact switches. The PCB has square cutout holes to show the LCD image through. To press the buttons, there is a 3d printed stand on each set of 4 switches (one button), holding a clear acrylic square. Through this mechanism, the LCD is visible, and pressing the acylic presses the tact switches, registering a keypress. The bottom right button functions as a change layer button, where pressing that will cycle the button box to a new 'layer', with different icons and key outputs.
The case is made using two parts, a base and a top. The base has 4 'legs' inside it to hold the lcd.
Above that, there is a perimeter ledge for the PCB to sit on.
The top attaches to the base using 4xM3 heatset inserts.
The ESP32 and switches are soldered to the PCB, and headers are soldered in place of the LCD. Jumper wires connect these headers down, underneath the LCD and into the pins on the bottom of the LCD.
The button box connects to devices by bluetooth, but requires a micro usb power source. The button box outputs macros using a combination of CTRL, SHIFT, ALT and F14+ keys to ensure unique macros.
Bill of materials 1x ESP32 Devkit V1
24x Tactile switch 6x6x5mm
1x 3.5" TFT 480x320 LCD screen
1x 40 pin male headers
20x Female - female jumper wires
3d printed parts
Acrylic sheet
PCB
| Qty | Value | Footprint | References |
|---|---|---|---|
| 24 | SW_Push | Button_Switch_THT:SW_PUSH_6mm | SW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +8 |
| 2 | Conn_01x06 | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J1, J2 |
| 1 | Conn_01x03 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J4 |
| 1 | Conn_01x05 | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J3 |
| 1 | ~ | ESP32_DevkitV1:ESP32_30pin | U1 |
It measures 153.3 × 81.4 mm and has 2 copper layers, 1.6 mm thick.
29 parts. 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 Icyconfusion/LCD-button-box repository on GitHub, at the commit this page was made from: the board is PCB/lcd button box.kicad_pcb and its schematic PCB/lcd button box.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Icyconfusion before reusing the design.

gusmanb/logicanalyzer
24 channel, 100Msps logic analyzer hardware and software

VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group

hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

OLIMEX/DIY-LAPTOP
Do It Yourself Open Source Hardware and Software Modular Hacker's Friendly Laptop

UtilitechAS/amsreader-firmware
ESP8266 and ESP32 compatible firmware to read, interpret and publish data to MQTT from smart electrical meters, both DLMS and DSMR is supported

