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

A macropad for switching the expressions of my ASCII character while streaming or recording. Built for Hack Club Stardance.
Hackpad4 is an open-source printed circuit board by Phonokles, from the Phonokles/hackpad repository on GitHub. It is a 2-layer board of 74 × 75 mm with 10 parts on 14 nets, routed with 57 tracks and 0 vias.
Its parts include 4 switches, 1 IC and 1 connector.
A macropad for switching the expressions of my ASCII character while streaming or recording. Built for Hack Club Stardance.

I have a small face tracking app that renders an ASCII face and animates it from my webcam and mic. The face sits on top of my stream in OBS, so the browser window is never the focused one. Keystrokes always land somewhere else, no matter what I press.
So the hackpad does not show up as a keyboard. It sends lines over USB serial instead, and the page reads them with WebSerial. That works no matter which window is in front.
Full part list in BOM.csv.

The base is a 8 mm tray with four 3 mm posts that hold the board off the floor so the solder joints have room. The top plate is 1.5 mm thick around the switch cutouts, which is what MX clips need to snap in.
| Input | does |
|---|---|
| SW1 | normal [+_+] |
| SW2 | laughing [*_*] |
| SW3 | bored [-_-] |
| Turn wheel | opens the menu on the OLED |
| Press wheel in menu | confirm selection |
| Hold wheel | mouth keeps moving even when I am quiet |
The menu has auto, normal, laughing, bored, record and transparent.
The XIAO sends one line per event:
READY:hackpad
DOWN:btn1
UP:btn1
EXPR:laughing
ACT:recordproduction/
gerbers/ board files for the fab
cad/ case as STEP and STL
firmware/ boot.py and code.py
hardware/ KiCad project
web/ the face tracking page
docs/ renders and photos
BOM.csvFlash CircuitPython onto the XIAO, then copy boot.py and code.py from
production/firmware/ to the root of the CIRCUITPY drive.
From the Adafruit library bundle into CIRCUITPY/lib/:
adafruit_displayio_ssd1306.mpyadafruit_display_text/keypad, rotaryio and usb_cdc are already built in.
Needs a local server, because ES modules fail CORS over file://:
cd web
python -m http.server 8000Open http://localhost:8000 and click the connect button in the bottom
right corner. The browser asks for permission once and remembers it.
Needs Chromium or Chrome. Firefox has no WebSerial.
On Linux your user needs access to /dev/ttyACM0. On Arch:
sudo usermod -aG uucp $USERLog out and back in afterwards.
KiCad 9 or newer, project in hardware/.
The case prints without support. STEP files are in production/cad/ if you
want to change something, STL next to them for printing straight away.
MIT
| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3 |
| 1 | Conn_01x04 | Connector:FanPinHeader_1x04_P2.54mm_Vertical | J1 |
| 1 | MOUDLE-SEEEDUINO-XIAO | CarePackage:XIAO-Generic-Hybrid-14P-2.54-21X17.8MM | U1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW4 |
The 6 most common of 10 parts.
It measures 74 × 75 mm and has 2 copper layers, 1.6 mm thick.
10 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 Phonokles/hackpad repository on GitHub, at the commit this page was made from: the board is hardware/hackpad4.kicad_pcb and its schematic hardware/hackpad4.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 Phonokles before reusing the design.

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

byrantech/laptop
anyon_e, a highly integrated, high end, open source laptop. Attempt the impossible.

joeycastillo/Sensor-Watch
A board replacement for the classic Casio F-91W wristwatch


OLIMEX/OLINUXINO
OLINUXINO is Open Source / Open Hardware, low cost from EUR 24 Linux Industrial grade Single Board Computer capable to operate -25+85C

rusefi/rusefi
rusefi - GPL internal combustion engine control unit

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