MicroTrainer
mlyle·armtrainer·hw/MicroTrainer.kicad_pcb
About the MicroTrainer PCB
MicroTrainer is an open source STM32 PCB design by mlyle, published on GitHub under the BSD-2-Clause license. It is a 4-layer board measuring 135 × 118 mm, with 56 components from 37 distinct parts.
Its main chip is the STM32F412RETX, from the STM32 family. Other key parts include the LP5907MFX-3.3. By type, the board carries 23 switches, 12 capacitors, 12 resistors, 3 connectors, 2 ICs and 2 diodes.
From the project
ARM "Microprocessor Trainer" code base
This is a minimal monitor and and hardware stack for a small microcontroller trainer board, that was used to teach a Computer Organization class to students from ages 11-14.
Microprocessor trainers were a commonplace tool used to learn computing in the 1970s and early 1980s. They replicated the console found on minicomputers, and allowed engineers to gain experience writing programs in machine code.

Main components on the MicroTrainer
MicroTrainer bill of materials (BOM)
56 components, 37 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | LP5907MFX-3.3 | SOT-23-5 | U1 |
| 1 | STM32F412RETX STM32F411R_C-E_Tx | LQFP-64_10x10mm_P0.5mm | U3 |
| 1 | 25MHZ 25MHz | Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | CONN_01X04 Conn_01x04 | PinSocket_1x04_P2.54mm_Vertical | J4 |
| 1 | CONN_01X08 Conn_01x08 | PinSocket_1x08_P2.54mm_Vertical | J5 |
| 1 | USB_C_RECEPTACLE_USB2.0 USB_C_Receptacle_USB2.0 | USB_C_Receptacle_G-Switch_GT-USB-7010ASV | J6 |
| 1 | BootJumper | SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1 |
| 1 | KEY_C | SW_Cherry_MX_1.00u_PCB | SW1 |
| 1 | KEY_D | SW_Cherry_MX_1.00u_PCB | SW2 |
| 1 | KEY_E | SW_Cherry_MX_1.00u_PCB | SW3 |
| 1 | KEY_F | SW_Cherry_MX_1.00u_PCB | SW4 |
| 1 | KEY_CLR | SW_Cherry_MX_1.00u_PCB | SW5 |
| 1 | KEY_8 | SW_Cherry_MX_1.00u_PCB | SW7 |
| 1 | KEY_9 | SW_Cherry_MX_1.00u_PCB | SW8 |
| 1 | KEY_A | SW_Cherry_MX_1.00u_PCB | SW9 |
| 1 | KEY_B | SW_Cherry_MX_1.00u_PCB | SW10 |
| 1 | KEY_ADDR | SW_Cherry_MX_1.00u_PCB | SW11 |
| 1 | KEY_4 | SW_Cherry_MX_1.00u_PCB | SW13 |
| 1 | KEY_5 | SW_Cherry_MX_1.00u_PCB | SW14 |
| 1 | KEY_6 | SW_Cherry_MX_1.00u_PCB | SW15 |
Show 17 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | KEY_7 | SW_Cherry_MX_1.00u_PCB | SW16 |
| 1 | KEY_STOR | SW_Cherry_MX_1.00u_PCB | SW17 |
| 1 | KEY_STEP | SW_Cherry_MX_1.00u_PCB | SW18 |
| 1 | KEY_0 | SW_Cherry_MX_1.00u_PCB | SW19 |
| 1 | KEY_1 | SW_Cherry_MX_1.00u_PCB | SW20 |
| 1 | KEY_2 | SW_Cherry_MX_1.00u_PCB | SW21 |
| 1 | KEY_3 | SW_Cherry_MX_1.00u_PCB | SW22 |
| 1 | KEY_LOAD | SW_Cherry_MX_1.00u_PCB | SW23 |
| 1 | KEY_RUN | SW_Cherry_MX_1.00u_PCB | SW24 |
| 1 | KEY_RST | SW_Cherry_MX_1.00u_PCB | SW25 |
| 2 | LED | LED_0805_2012Metric | D1, D2 |
| 4 | 2.2UF 2.2uF | C_0603_1608Metric | C1, C3, C8, C9 |
| 6 | 0.1UF 0.1uF | C_0603_1608Metric | C2, C4, C5, C6, C7, C12 |
| 2 | 12PF 12pF | C_0603_1608Metric | C10, C11 |
| 8 | 5.1K 5.1k | R_0603_1608Metric | R1, R2, R3, R4, R5, R6, R9, R12 |
| 2 | 10 | R_0603_1608Metric | R7, R8 |
| 2 | 330 | R_0603_1608Metric | R10, R11 |
MicroTrainer design files
The KiCad project lives in the mlyle/armtrainer repository on GitHub; these links point at the commit this page was built from.
MicroTrainer: common questions
What microcontroller does the MicroTrainer use?
The MicroTrainer is built around the STM32F412RETX, from the STM32 family.
How big is the MicroTrainer PCB?
The MicroTrainer measures 135 × 118 mm, has 4 copper layers and is 1.6 mm thick.
How many components are on the MicroTrainer?
56 components, from 37 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 MicroTrainer design files?
From the mlyle/armtrainer repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the MicroTrainer design in my own project?
Yes, under the terms of its BSD-2-Clause license, which mlyle chose for the repository.
Can I test firmware for the MicroTrainer 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
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
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
176 pin board
rusefi
61.8 × 73.2 mm76 parts2LGPL-3.01.2kSTM32
Brain board STM32F407
rusefi
61.8 × 73.2 mm69 parts2LGPL-3.01.2k