Skip to the content
4 layers64.1 × 72.4 mmStm32 linux, the printed circuit board in 3D

Design files and test firmwares for a single-core STM32H7 board with extra RAM and a side of Flash.

Size
64.1 × 72.4 mm
Copper layers
4
Thickness
1.6 mm
Parts
78
Nets
160
Pads
520
Tracks, vias
9,734, 267
Pours
4
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
1 Oct 2020
Updated
1 Oct 2020

Overview

Stm32 linux is an open-source printed circuit board by WRansohoff, from the WRansohoff/Magrat_v0 repository on GitHub, published under the MIT licence. It is a 4-layer board of 64.1 × 72.4 mm with 78 parts on 160 nets, routed with 9,734 tracks and 267 vias.

It is built around the NS2009 and AO3400. Its parts include 36 capacitors, 16 resistors, 8 connectors, 5 ICs and 4 diodes. It belongs with the computers and single-board computers boards and the STM32 boards of this library.

Main components

2

README

README.md

"Magrat" STM32H7 Board

NOTE: This is an early revision of a board which I am in the process of revising. I'm publishing the design files for the sake of sharing now that I've tested many (but not all) of the board's main features, but there are plenty of improvements which should be made, and you should not treat this as a solid reference implementation or a finalized production-ready design.

In particular, the SDRAM traces need better length- and impedance-matching; they seem to work up to 80-100MHz, but the chips are rated for 166MHz. The BOOT0 and JTAG signals should also be broken out, because the STM32H7's myriad clock domains seem to cause minor issues with SWD debugging.

With those disclaimers out of the way, "Magrat" is an STM32H7 board which aims to integrate enough external memory to run a minimal Linux system in a low-cost format. It is designed for single-sided PCA with parts from the LCSC catalog, so you should be able to order it 'as is' from JLCPCB when / if the parts are in stock.

This board should be able to run a mainline Linux kernel, and I've gotten one booting, but I'm still working on bringing up a fully-functional system, and I'm not quite sure that the microSD card socket works yet.

(TODO: add generated gerbers, BoM, pick-and-place files)

Board Renders:

Board Top Board Bottom

Features

  • STM32H7x3II: Cortex-M7, 480MHz, 2MiB Flash, 1MiB RAM

  • 32MiB SDRAM

  • 16MiB Quad-SPI Flash

  • 50-pin ILI9341 display connector (untested)

  • USB full-speed (untested)

  • microSD card socket (untested)

  • UART, SPI, I2C headers.

(TODO: more explanation)

Test programs and a bit more information can be found in the firmware/ directory.

They're a little rough-around-the-edges right now, because I haven't had these boards for long and it's my first time using an STM32H7 chip.

Parts

78
QtyValueFootprintReferences
23100nCapacitor_SMD:C_0402_1005MetricC3, C10, C21, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34 +7
410KResistor_SMD:R_0402_1005MetricR1, R12, R13, R19
410KResistor_SMD:R_Array_Concave_4x0402RN1, RN2, RN3, RN4
41KResistor_SMD:R_0402_1005MetricR4, R5, R6, R14
310nCapacitor_SMD:C_0402_1005MetricC17, C20, C36
347KResistor_SMD:R_0402_1005MetricR2, R20, R21
210uCapacitor_Tantalum_SMD:CP_EIA-3216-10_Kemet-IC1, C2
21uCapacitor_SMD:C_0402_1005MetricC18, C19
220pCapacitor_SMD:C_0402_1005MetricC13, C14
22u2Capacitor_SMD:C_0603_1608MetricC11, C12
25pCapacitor_SMD:C_0402_1005MetricC15, C16
10x90Resistor_SMD:R_0402_1005MetricR8
10x92Resistor_SMD:R_0402_1005MetricR7
14K7Resistor_SMD:R_0402_1005MetricR3
1AO3400Package_TO_SOT_SMD:SOT-23Q1
1Buttonstm32_linux:button_jlcpcbS2
1GPIOConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_HorizontalJ8
1HSECrystal:Crystal_SMD_5032-2Pin_5.0x3.2mmY1
1HSERResistor_SMD:R_0402_1005MetricR22
1I2CConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_HorizontalJ6
1LDOPackage_TO_SOT_SMD:SOT-223-3_TabPin2U4
1LED1LED_SMD:LED_0603_1608MetricD2
1LED2LED_SMD:LED_0603_1608MetricD3
1LED3LED_SMD:LED_0603_1608MetricD4
1LSECrystal:Crystal_SMD_3215-2Pin_3.2x1.5mmY2
1LSERResistor_SMD:R_0402_1005MetricR23
1MT48LC16M16Package_SO:TSOP-II-54_22.2x10.16mm_P0.8mmU3
1NS2009Package_SO:MSOP-10_3x3mm_P0.5mmU5
1ProgConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_HorizontalJ1
1Resetstm32_linux:button_jlcpcbS1
1SPIConnector_PinSocket_2.54mm:PinSocket_1x07_P2.54mm_HorizontalJ7
1STM32H753IITxPackage_QFP:LQFP-176_24x24mm_P0.5mmU1
1TFTstm32_linux:FPC_50p_0.5mmJ4
1TVSPackage_TO_SOT_SMD:SOT-363_SC-70-6D1
1UARTConnector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_HorizontalJ5
1USBcustom_footprints:MyMicroUSBJ2
1W25Q128Package_SO:SOIC-8_5.23x5.23mm_P1.27mmU2
1uSDstm32_linux:microSD_1051620001J3

Similar boards

  • 4 layers100 × 100 mmLb mp1, the printed circuit board in 3D

    Lb mp1

    vbalsan/OzzyBoard

    Allwinner V3s prototype SBC

    300 parts4GPL-2.0
  • 2 layers55 × 80 mmBoard esp32 v2, the printed circuit board in 3D

    Board esp32 v2

    sudomesh/disaster-radio

    A (paused) work-in-progress long-range, low-bandwidth wireless disaster recovery mesh network powered by the sun.

    101 parts1.1k
  • 2 layers59.2 × 52.9 mmMagic epaper, the printed circuit board in 3D

    Magic epaper

    fossasia/magic-epaper-hardware

    Magic ePaper Hardware

    57 parts1kApache-2.0
  • 2 layers155.5 × 130 mmEinkpicframe, the printed circuit board in 3D

    Einkpicframe

    Spritetm/picframe_colepd

    A WiFi picture frame allowing for remote photo uploads, using an ESP32-C3 and a 5.6" color E-ink display

    60 parts97
  • 2 layers100 × 93 mmSpeeduino base, the printed circuit board in 3D

    Speeduino base

    Tjeerdie/SPECTRE

    Speeduino compatible engine control unit (ECU) based around black STM32F407VET6 board.

    213 parts59GPL-3.0
  • 2 layers128 × 77 mmScale, the printed circuit board in 3D

    Scale

    Jana-Marie/lab-balance

    https://twitter.com/_Jana_Marie/status/1270040286710968321

    59 parts34
  • 2 layers36 × 100 mmEleph, the printed circuit board in 3D

    Eleph

    FeruzTopalov/eleph

    GPS-based local relative navigation system for group of up to 6 members

    56 parts24GPL-3.0

Questions

How big is the Stm32 linux PCB?

It measures 64.1 × 72.4 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Stm32 linux use?

78 parts, built around the NS2009 and AO3400. 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 Stm32 linux KiCad files?

From the WRansohoff/Magrat_v0 repository on GitHub, at the commit this page was made from: the board is stm32_linux.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Stm32 linux design in my own project?

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).