Openmicrokbd
conol-ai·openmicrokbd·hw/v1/pcb/openmicro.kicad_pcb
About the Openmicrokbd PCB
Openmicrokbd is an open source STM32 PCB design by conol-ai, published on GitHub under the MIT license. It is a 4-layer board measuring 95 × 95 mm, with 84 components from 27 distinct parts.
Its main chip is the W25Q128JVSIQ, from the STM32 family. Other key parts include the SGM41562BXG and USBLC6-2SC6. By type, the board carries 25 capacitors, 21 LEDs, 14 switches, 13 diodes, 3 ICs and 3 connectors.
It belongs with the keyboards and iot & wireless designs in this gallery.
From the project
Open-source recreation of OpenAI's Codex Micro macropad — PCB written in CoHDL, an AI-native hardware description language. Rust firmware (embassy) + companion app (makepad). MIT licensed. https://openmicrokbd.org
An open-source hardware recreation of OpenAI's Codex Micro macropad — 13 low-profile keys, a rotary encoder, an analog joystick, a capacitive touch pad, and per-key + underglow RGB on a wired USB-C board built around an STM32F072.
The finished board — read the launch post for the full story.
The PCB is written, not drawn. The entire schematic is source code in CoHDL, an open-source, AI-native hardware description language. The compiler type-checks the design — units, pin-connection obligations, power integrity — and emits the netlist, BOM, footprints and layout constraints you can inspect…

Main components on the Openmicrokbd
Openmicrokbd bill of materials (BOM)
84 components, 27 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | SGM41562BXG USBLC6 SG Micro | esd-FP_SOT_23_6 | U1 |
| 1 | USBLC6-2SC6 AP2112K_3V3 STMicroelectronics | ldo-SOT5P95X290X160N | U2 |
| 1 | W25Q128JVSIQ STM32F072CBT6 Winbond | st_stm32-f0-stm32f072cb-QFP50P900X900X160_48N | U3 |
| 1 | ABS07-32.768KHZ-9-T Crystal8MHz Abracon | osc-FP_Crystal_3225 | Y1 |
| 1 | ThumbPointer JST | openmicro-FP_Joystick_RKJXV | J1 |
| 1 | OK-F302-31115 Socket_2x3 OCN Technology | connectors-headers-smd_254-FP_Socket_2x3_254_SMD | J2 |
| 1 | RKJXV122400R USB_C_Receptacle_2_0 Alps Alpine | usb-connectors-type_c-FP_USB_C_Receptacle_HRO_TYPE_C_31_M_12 | J3 |
| 1 | EC11E15244A5 RotaryEC11 Alps Alpine | openmicro-FP_Encoder_EC11 | SW1 |
| 1 | KeySwitch | openmicro-FP_SW_Choc_V2 | SW3 |
| 12 | WL-LP-SW-55G KeySwitch Work Louder | openmicro-FP_SW_Choc_V2 | SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11 +4 |
| 1 | CapTouchPad | openmicro-FP_TouchPad | TP1 |
| 17 | SK6812MINI-E-012 SK6812 Dongguan OPSCO Optoelectronics | led-FP_LED_SK6812MINI_E | LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8 +9 |
| 4 | SK6812 | led-FP_LED_SK6812MINI_E | LED26, LED27, LED28, LED29 |
| 11 | 1N4148W-7-F Diode_1N4148 Diodes Inc | diode-FP_D_SOD_123 | D1, D2, D3, D4, D5, D6, D7, D8 +3 |
| 2 | Diode_1N4148 | diode-FP_D_SOD_123 | D10, D11 |
| 2 | CC0603KRX5R6BB105 100nF Yageo | passive-CHIP_0402 | C1, C11 |
| 5 | CC0603KRX5R6BB475 100nF Yageo | passive-CHIP_0402 | C2, C4, C6, C9, C13 |
| 1 | CC0603KRX5R6BB225 100nF Yageo | passive-CHIP_0402 | C3 |
| 1 | CC0805KRX5R8BB106 100nF Yageo | passive-CHIP_0402 | C5 |
| 4 | CC0402KRX5R6BB104 100nF Yageo | passive-CHIP_0402 | C7, C8, C10, C12 |
Show 7 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 8 | CC0402KRX7R7BB104 100nF Yageo | passive-CHIP_0402 | C14, C15, C16, C17, C18, C19, C20, C21 |
| 1 | CC0402KRX7R7BB104 4.7uF Yageo | passive-CHIP_0603 | C26 |
| 1 | CC0402KRX7R7BB104 1uF Yageo | passive-CHIP_0402 | C27 |
| 1 | CC0402KRX7R7BB104 15pF Yageo | passive-CHIP_0402 | C28 |
| 1 | CC0603KRX5R6BB105 15pF Yageo | passive-CHIP_0402 | C29 |
| 1 | RC0402JR-070RL 10kohm Yageo | passive-CHIP_0402 | R1 |
| 2 | RC0402FR-075K1L 5.1kohm Yageo | passive-CHIP_0402 | R2, R3 |
Openmicrokbd design files
The KiCad project lives in the conol-ai/openmicrokbd repository on GitHub; these links point at the commit this page was built from.
Openmicrokbd: common questions
What microcontroller does the Openmicrokbd use?
The Openmicrokbd is built around the W25Q128JVSIQ, from the STM32 family.
How big is the Openmicrokbd PCB?
The Openmicrokbd measures 95 × 95 mm, has 4 copper layers and is 1.6 mm thick.
How many components are on the Openmicrokbd?
84 components, from 27 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Openmicrokbd design files?
From the conol-ai/openmicrokbd repository on GitHub, which has the KiCad layout and the BOM; the links under Design files point to each one.
Can I use the Openmicrokbd design in my own project?
Yes, under the terms of its MIT license, which conol-ai chose for the repository.
Can I test firmware for the Openmicrokbd without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
Similar boards
STM32
AxxSolder
AxxAxx
39 × 82.5 mm122 parts2LGPL-3.01.7kSTM32
AIOC
skuep
21 × 31.5 mm47 parts2LMIT1.4kSTM32
Ferris
pierrechevalier83
208.8 × 86.8 mm102 parts2LSHL-2.11.3kSTM32
Module 16S
stuartpittaway
71.1 × 89.6 mm113 parts4LCC-BY-NC-4.01.1kSTM32
Djinn
tzarc
192.3 × 150.5 mm216 parts2LCERN-OHL-S-2.0988STM32
Ghoul
tzarc
228.6 × 79.4 mm163 parts2LCERN-OHL-S-2.0988