

SOLIPS HMI CONTROLLER REV A
SOLIPS HMI Controller Rev A is a dedicated four-layer PCB intended to offload the graphical human–machine interface (HMI) from an Arduino UNO Q host.
- Size
- 45 × 40 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 31
- Nets
- 68
- Pads
- 172
- Tracks, vias
- 349, 44
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 21 Oct 2026
- Updated
- 21 Oct 2026
Overview
SOLIPS HMI CONTROLLER REV A is an open-source printed circuit board by ferrglez, from the ferrglez/solips-hmi-controller repository on GitHub. It is a 4-layer board of 45 × 40 mm with 31 parts on 68 nets, routed with 349 tracks and 44 vias.
It is built around the AP2112K-3.3 and USBLC6-2SC6. Its parts include 12 capacitors, 8 resistors, 4 ICs, 3 connectors and 2 switches. It belongs with the STM32 boards of this library.
Main components
2README
README.mdSOLIPS HMI Controller — Rev A
Hardware design · KiCad · Engineering review pending
Status: Rev A design submitted for peer review. Not approved for fabrication. ERC/DRC were reported clean in the working KiCad project; electrical, mechanical and physical validation are still pending.
Overview
SOLIPS HMI Controller Rev A is a dedicated four-layer PCB intended to offload the graphical human–machine interface (HMI) from an Arduino UNO Q host. The host provides semantic application data; the STM32 executes the graphical application locally and drives a GC9A01 circular TFT display.
The design follows the engineering baseline dated 30 September 2026. That document freezes the major architecture but explicitly leaves component-specific verification and fabrication gates open. The current KiCad implementation must be compared with that baseline during review.
System architecture
Arduino UNO Q / QRB2210 (Debian)
│ USB 2.0
▼
CP2102C-A01-GQFN24 (USB–UART bridge)
│ USART1 · 3.3 V · PA9/PA10
▼
STM32U585CIT6 (LQFP48)
│ SPI1 + DMA
▼
GC9A01 · 240 × 240 · RGB565Design rationale: The UNO Q retains system and application logic, while the dedicated STM32 handles VehicleState, UIManager, LVGL and graphical assets. This reduces the HMI rendering workload on the host. Firmware migration and performance are not yet demonstrated on this PCB.
Key engineering choices
| Subsystem | Rev A baseline | Rationale / verification |
|---|---|---|
| Main MCU | STM32U585CIT6, LQFP48 | Dedicated local HMI processing; confirm package pinout, power domains and firmware budget |
| Host interface | CP2102C-A01-GQFN24 | USB–UART with DTR/RTS for planned boot/reset control; validate electrical implementation |
| Serial | USART1 on PA9/PA10 | Shared application communication and planned ROM bootloader update path |
| Display | GC9A01, 240×240, RGB565 | SPI1 + DMA, write-only interface; confirm actual module and connector pinout |
| Supply | USB 5 V input; 3.3 V LDO ≥500 mA | Simpler bring-up and no switching regulator; confirm load, inrush and thermal budget |
| Debug | SWD, manual BOOT/RESET | Recovery path independent of the USB bridge |
| PCB | 4 layers | Top signals/components, inner GND reference, inner power, bottom signals; verify actual stackup and return paths |
KiCad project organization
The schematic is organized into five hierarchical sheets:
01_POWER.kicad_sch— USB input and regulation02_USB_UART.kicad_sch— USB-C and CP2102C03_MCU.kicad_sch— STM32 and boot/reset control04_DISPLAY.kicad_sch— GC9A01 interface05_DEBUG.kicad_sch— SWD and manual controls
The current authoritative KiCad files should be placed in hardware/, including the top-level .kicad_sch, .kicad_pcb, .kicad_pro, all five hierarchical sheets, and any required custom symbol/footprint libraries or board rules. The duplicate - copia folder is a local backup, not a second design release.
Layout and routing
- Four-layer PCB with inner reference and power planes.
- Placement and routing performed in KiCad; FreeRouting was used as a routing aid, followed by manual completion and DRC cleanup.
- USB D+/D−, ground continuity, via transitions, connector orientation and mechanical fit still require an engineering review.
- The most recent DRC/ERC status was reported as clean by the designer; review the committed
DRC.rpt/ERC.rptand confirm they were generated after the final edits.
Review checklist
- Cross-check actual KiCad schematic against STM32U585CIT6 and CP2102C manufacturer datasheets
- Verify USB-C CC resistors, ESD, USB data routing, shield and VBUS protection
- Verify MCU VDD/VDDA/VCAP and all decoupling connections
- Validate LDO part, USB current budget and worst-case thermal dissipation
- Verify DTR/RTS–BOOT0/NRST polarity, default states and STM32 option bytes
- Verify SWD header orientation and physical accessibility
- Confirm GC9A01 actual module pinout, supply, backlight and connector geometry/orientation
- Check actual four-layer stackup, copper returns, clearances and manufacturability
- Regenerate ERC/DRC on the final committed project
- Close fabrication gates FG-01 / FG-02 / FG-03 with evidence
Planned validation
The baseline defines T01–T11: power, USB enumeration, UART, SWD, manual and automatic bootloader, CLI flashing, application boot, display, HMI screens and host protocol. These are planned tests, not completed tests.
Documentation
docs/Engineering_Specification.docx— original engineering requirements and schematic baseline (v1.0, 2026-09-30).
Review request
Requested decision: APPROVED FOR NEXT STAGE / CHANGES REQUIRED / NOT APPROVED.
No fabrication order should be placed until the open electrical, mechanical and fabrication-gate checks are resolved.
Parts
31| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | 100nF | Capacitor_SMD:C_0603_1608Metric | C2, C3, C4, C5, C8 |
| 2 | 10 kΩ | Resistor_SMD:R_0603_1608Metric | R6, R7 |
| 2 | 1µF | Capacitor_SMD:C_0805_2012Metric | C9, C10 |
| 2 | 4.7uF | Capacitor_SMD:C_0805_2012Metric | C1, C7 |
| 2 | 5.1kΩ | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 1 | 0Ω | Resistor_SMD:R_0603_1608Metric | R8 |
| 1 | 1 kΩ. | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 10uF | Capacitor_SMD:C_1206_3216Metric | C11 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric | C6 |
| 1 | 22.1 kΩ | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | 4.7 µF | Capacitor_SMD:C_0805_2012Metric | C12 |
| 1 | 47.5 kΩ | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U4 |
| 1 | BOOT | Button_Switch_SMD:SW_SPST_TL3305A | SW2 |
| 1 | CP2102C-Axx-xQFN24 | Package_DFN_QFN:WQFN-24-1EP_4x4mm_P0.5mm_EP2.45x2.45mm | U2 |
| 1 | Conn_01x05 | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J1 |
| 1 | Conn_01x07 | Connector_PinHeader_2.54mm:PinHeader_1x07_P2.54mm_Vertical | J4 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_TL3305A | SW1 |
| 1 | STM32U585CITx | Package_QFP:LQFP-48_7x7mm_P0.5mm | U1 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U3 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_Amphenol_124019772112A | J3 |
| 1 | USB_UART_DTR | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | USB_UART_RTS | TestPoint:TestPoint_Pad_D1.5mm | TP2 |
Questions
How big is the SOLIPS HMI CONTROLLER REV A PCB?
It measures 45 × 40 mm and has 4 copper layers, 1.6 mm thick.
What parts does the SOLIPS HMI CONTROLLER REV A use?
31 parts, built around the AP2112K-3.3 and USBLC6-2SC6. 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 SOLIPS HMI CONTROLLER REV A KiCad files?
From the ferrglez/solips-hmi-controller repository on GitHub, at the commit this page was made from: the board is SOLIPS_HMI_CONTROLLER_REV_A/SOLIPS_HMI_CONTROLLER_REV_A.kicad_pcb and its schematic SOLIPS_HMI_CONTROLLER_REV_A/01_POWER.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the SOLIPS HMI CONTROLLER REV A design in my own project?
Its repository states no licence, so its author keeps all rights: ask ferrglez before reusing the design.
Similar boards
- 4 layers60.8 × 61.3 mm

- 2 layers390 × 120.2 mm

- 2 layers89 × 124 mm

Hub20
joshajohnson/Hub20
Hub20 is a numpad with a bunch of features you never knew you needed.
183 parts68 - 2 layers84.2 × 100 mm

Fabpack out v5 8
yuz207/agentpad13
agentpad13 — open-source 13-key macropad for agentic work (RP2040, vial-qmk, planar joystick, Raw HID agent-status protocol)
126 parts41 - 2 layers80.8 × 30 mm

Stm32 dev
brainstorm/bbtrackball-rs
Experimenting with Blackberry trackball for keyboard ergonomics
61 parts34 - 2 layers46.8 × 52 mm

Usb dev board
cs2dsb/stm32-usb.rs
A dev board designed to facilitate the development of USB firmware for STM32
57 parts30Apache-2.0 - 2 layers64.3 × 25.4 mm

- 2 layers114.1 × 94.7 mm
