
Controller
CircuitGuy943/Sabre-Integrated-flight-controller
(🚧) A "Jack of all trades" custom flight controller board. With support for both power and control and the ability for custom firmware

A pocketable AI terminal that runs Claude Code and Ollama over LTE. Custom carrier board for a Raspberry Pi Compute Module 5, 7" AMOLED touchscreen, and its own cellular modem so it doesn't need WiFi.
HACK CLUB RELATEDbackup is an open-source printed circuit board by Studented0, from the Studented0/universal-ai-terminal repository on GitHub, published under the MIT licence. It is a 4-layer board of 88 × 155 mm with 104 parts on 226 nets, routed with 1,260 tracks and 171 vias.
It is built around the FUSB302BMPX, MAX98357AETE+T and TPS61235PRWLR, with the BQ25895RTW, SGM2036-1.8YN5G/TR and SGM2036-3.3YN5G/TR among its other parts. Its parts include 33 capacitors, 30 resistors, 6 ICs, 6 connectors and 4 diodes. It belongs with the Raspberry Pi (Linux) boards of this library.
A pocketable AI terminal that runs Claude Code and Ollama over LTE. Custom carrier board for a Raspberry Pi Compute Module 5, 7" AMOLED touchscreen, and its own cellular modem so it doesn't need WiFi. While a long prompt is running, you can play a game on it instead of staring at the terminal.
I kept wanting Claude Code running when I was away from my desk, and there was no good way to do that besides carrying a laptop everywhere. There are videos all over the internet of people sleeping next to a laptop with Claude Code running waking up to accept permissions, or walking around a grocery store with their laptop open, looking crazy. I wanted something pocketable that solves that.
chat_gemini.py is a minimal terminal chat client for talking to Gemini directly (using gemini right now to test because of free tier)
Setup:
pip install google-genai python-dotenvCreate a .env file in "Code" folder:
GEMINI_API_KEY=your-key-hereRunning it:
python chat_gemini.pyType a message, hit enter. Type exit or Ctrl+C to quit!
88×155mm, 4-layer board (JLC04161H-3313 stackup), designed in KiCad 9. Six hierarchical schematic sheets: Power, CM5, Display, Cellular, Audio, Controls.
Compute — Raspberry Pi Compute Module 5 (8GB RAM, 64GB eMMC, WiFi). Quad-core Cortex-A76 @ 2.4GHz.
Display — DXQ7D0023, 7" AMOLED, 1080×1920, up to 165Hz variable refresh. ICNA3512 driver IC. FT3519T capacitive touch (FocalTech, I2C address 0x38). Panel connector is a Hirose FH26-39S-0.3SHW (39-pin, 0.3mm pitch); board side is a 40-pin 0.5mm ZIF (Kinghelm KH-FG0.5-H2.0-40PIN), pins 1-39 mapped straight through, pin 40 unused.
Cellular — Quectel EC25AFXGA-MINIPCIE, Cat 4 LTE, AT&T/T-Mobile certified for North America. Mini PCIe form factor so it plugs in rather than getting hand-soldered. Uses USB 2.0 internally, not PCIe.
Power — BQ25895 handles battery charging and power path from USB-C input. TPS61235P boosts battery voltage up to the 5V the CM5 needs. FUSB302 negotiates USB-PD for faster charging. Two SGM2036 LDOs step down to 3.3V and 1.8V for the display and peripherals.
I/O — Two USB-C ports: one power and USB 2.0 (charging), one full data port with USB 3.0 SuperSpeed and a two-transistor load switch for VBUS control. Three tactile buttons (volume up/down, power; though power itself uses the CM5's dedicated PWR_Button pin and needs no GPIO at all). UART debug header, Test Points for power.
Battery — 10,000mAh Li-Po.
3mm black-anodized aluminum plate on the back (CNC machined, doubles as a heatsink and structural backing), a thermal pad between the board and plate, then a bottom shell.
Full itemized BOM across all vendors: BOM_Universal_AI_Terminal.csv
universal-ai-terminal/
├── HACK CLUB RELATED.kicad_pro # KiCad project file
├── HACK CLUB RELATED.kicad_sch # schematic
├── HACK CLUB RELATED.kicad_pcb # PCB layout
├── HACK CLUB RELATED.kicad_prl
├── HACK CLUB RELATED.step # 3D STEP export of the board
├── power.kicad_sch # Power sheet
├── CM5.kicad_sch # CM5 sheet
├── display.kicad_sch # Display sheet
├── Cellular.kicad_sch # Cellular sheet
├── audio.kicad_sch # Audio sheet
├── controls.kicad_sch # Controls sheet
├── convert_hlabels.py # script used to convert hierarchical labels to global
├── libs/easyeda/ # imported EasyEDA symbols and footprints
├── production/ # gerbers, BOM, CPL; JLCPCB Fabrication Toolkit output
├── HACK CLUB RELATED.SLDASM # SolidWorks enclosure assembly
├── Part8.SLDPRT # SolidWorks enclosure part
├── BOM_Universal_AI_Terminal.csv # full itemized BOM
├── journal.md # build log
├── LICENSE
└── README.md.kicad_sch.bak files and KiCad's auto-generated -backups/ folders are local working files, not meant to be tracked — they'll stay out of future commits once .gitignore is fixed.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 19 | 100nF | Capacitor_SMD:C_0402_1005Metric | C2, C10, C11, C12, C15, C18, C19, C20, C22, C24, C25, C26, C28, C30, C31, C32 +3 |
| 7 | 10kΩ | Resistor_SMD:R_0402_1005Metric | R3, R10, R13, R14, R28, R29, R32 |
| 7 | 1μF | Capacitor_SMD:C_0402_1005Metric | C6, C7, C13, C14, C16, C17, C29 |
| 6 | TestPoint | TestPoint:TestPoint_Pad_D1.5mm | TP1, TP2, TP3, TP4, TP5, TP6 |
| 5 | 10k | Resistor_SMD:R_0402_1005Metric | R8, R9, R18, R21, R22 |
| 5 | 10μF | Capacitor_SMD:C_0805_2012Metric | C1, C3, C8, C21, C27 |
| 4 | 100kΩ | Resistor_SMD:R_0402_1005Metric | R4, R5, R11, R16 |
| 4 | KT-0603R | easyeda(AITERMINAL):LED-SMD_L1.6-W0.8-R-RD | LED1, LED2, LED3, LED4 |
| 4 | MountingHole | MountingHole:MountingHole_2.2mm_M2 | H1, H2, H3, H4 |
| 3 | SW_Push | Button_Switch_THT:SW_PUSH_6mm_H5mm | SW1, SW2, SW3 |
| 2 | 4.7kΩ | Resistor_SMD:R_0402_1005Metric | R19, R20 |
| 2 | 5.1kΩ | Resistor_SMD:R_0402_1005Metric | R15, R17 |
| 2 | 680Ω | Resistor_SMD:R_0402_1005Metric | R30, R31 |
| 2 | Conn_01x03 | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | J3, J4 |
| 2 | IPEX-1_C47986640 | easyeda(AITERMINAL):IPEX-SMD_3P-L2.6-W2.6-LS3.0_RF1200001R | RF1, RF2 |
| 1 | 100kΩ | Capacitor_SMD:C_0402_1005Metric | R25 |
| 1 | 180kΩ | Resistor_SMD:R_0402_1005Metric | R7 |
| 1 | 1kΩ | Resistor_SMD:R_0402_1005Metric | R26 |
| 1 | 1μH 5A | Inductor_SMD:L_1210_3225Metric | L2 |
| 1 | 2.2μH 4A | Inductor_SMD:L_1210_3225Metric | L1 |
| 1 | 22Ω | Resistor_SMD:R_0402_1005Metric | R23 |
| 1 | 22μF | Capacitor_SMD:C_0805_2012Metric | C9 |
| 1 | 470Ω | Resistor_SMD:R_0402_1005Metric | R27 |
| 1 | 47kΩ | Resistor_SMD:R_0402_1005Metric | R12 |
| 1 | 47μF | Capacitor_SMD:C_0805_2012Metric | C23 |
| 1 | 53.6kΩ | Resistor_SMD:R_0402_1005Metric | R1 |
| 1 | 825kΩ | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | AO3407A | easyeda(AITERMINAL):SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR | Q2 |
| 1 | BQ25895RTW | Package_DFN_QFN:Texas_RTW_WQFN-24-1EP_4x4mm_P0.5mm_EP2.7x2.7mm_ThermalVias | U1 |
| 1 | Battery_JST_PH2 | Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | J1 |
| 1 | ComputeModule5-CM5 | CM5IO:Raspberry-Pi-5-Compute-Module | Module1 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J2 |
| 1 | Conn_01x03 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J5 |
| 1 | FUSB302BMPX | easyeda(AITERMINAL):MLP-14_L2.5-W2.5-P0.50-BL-EP | U3 |
| 1 | HMT-TYPE-C-24PIN | easyeda(AITERMINAL):USB-C-SMD_TYPE-C-24P-QT | USB2 |
| 1 | KH-FG0.5-H2.0-40PIN | easyeda(AITERMINAL):FPC-SMD_40P-P0.50_L5.9-W24.4 | CN3 |
| 1 | LBSS138LT1G | easyeda(AITERMINAL):SOT-23_L2.9-W1.3-P1.90-LS2.4-BR | Q1 |
| 1 | LOGO | LOGO | G*** |
| 1 | MAX98357AETE+T | easyeda(AITERMINAL):TQFN-16_L3.0-W3.0-P0.50-BL-EP1.5 | U6 |
| 1 | NANO SIM 7P H1.37 | easyeda(AITERMINAL):SIM-SMD_NANO-SIM-7P-H1.37 | SIM1 |
| 1 | PCIE-52P40H | easyeda(AITERMINAL):PCIE-SMD_PCIE-52P40H-3.5 | Card1 |
| 1 | SGM2036-1.8YN5G/TR | easyeda(AITERMINAL):SOT-23-5_L2.9-W1.6-P0.95-LS2.8-BR | U5 |
| 1 | SGM2036-3.3YN5G/TR | easyeda(AITERMINAL):SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BR | U4 |
| 1 | TPS61235PRWLR | easyeda(AITERMINAL):VQFN-9_L2.5-W2.5-P0.50-TL | U2 |
| 1 | TYPE-C 16PIN 3MD | easyeda(AITERMINAL):USB-C-SMD_TYPE-C16PIN | USB1 |
It measures 88 × 155 mm and has 4 copper layers, 1.6 mm thick.
104 parts, built around the FUSB302BMPX, MAX98357AETE+T, TPS61235PRWLR and BQ25895RTW. 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 Studented0/universal-ai-terminal repository on GitHub, at the commit this page was made from: the board is KiCAD files/HACK CLUB RELATEDbackup.kicad_pcb and its schematic KiCAD files/CM5.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).

CircuitGuy943/Sabre-Integrated-flight-controller
(🚧) A "Jack of all trades" custom flight controller board. With support for both power and control and the ability for custom firmware



HolTyc/STM32_watch_NFC
Watch using STM32 with LED 7-segment display and RGB display


jfm92/everAliveSensor
Solar-powered BLE environmental sensor (temp, humidity, pressure) with a 50F supercapacitor — potentially infinite lifetime, 19-day dark autonomy. ESP32 + BME680. Experimental.

nahhao74/QUIZ_Remote
Every student holds a small pad with 16 keys and two 7-segment digits. The teacher opens a session on a laptop, students type the 6-digit room code, and answers arrive on the projector within a fraction of a second.
