Skip to the content
PCBKitNew board
2 layers80 × 84 mmMany485, the printed circuit board in 3D

Code samples and ready projects based on bare-metal STM32

Size
80 × 84 mm
Copper layers
2
Thickness
1.6 mm
Parts
117
Nets
133
Pads
432
Tracks, vias
1,229, 77
Pours
10
Routed
Yes
KiCad
KiCad 9.0 (file 20250309)
Created
21 Mar 2015
Updated
10 Oct 2026

Overview

Many485 is an open-source printed circuit board by eddyem, from the eddyem/stm32samples repository on GitHub. It is a 2-layer board of 80 × 84 mm with 117 parts on 133 nets, routed with 1,229 tracks and 77 vias.

It is built around the STM32F303RBT6, ISO3088DW and ISO1050DUB, with the ISO3086DW, MAX3232ID and B0505S-1W among its other parts. Its parts include 32 capacitors, 18 resistors, 14 connectors, 13 ICs and 12 diodes. It belongs with the sensors and measurement and computers and single-board computers boards and the STM32 boards of this library.

Main components

12

README

Readme.md

Repository Overview

The stm32samples repository is a collection of low-level, bare-metal code examples and complete projects for various STM32 microcontroller series (F0, F1, F3, F4, G0). It uses CMSIS header files from modm-io/cmsis-header-stm32 for register definitions.

Project Structure by MCU Series

STM32F0 (F030, F042, F072)

  • 3steppersLB – Controls 3 stepper motors with encoders via USB/CAN bus
  • blink – Simple LED toggling
  • CANbus4BTA – CAN replacement for PEP-CAN
  • CANBUS_SSI – Works with BTA SSI azimuth encoder
  • Chiller – Basic chiller temperature controller
  • F0_testbrd – Tests STM32F0x2 on custom board
  • htu21d_nucleo – Reads HTU-21D sensor on Nucleo-F042K
  • morze – Echoes USART1 data as Morse code on TIM3CH1 (PA6)
  • NUCLEO_SPI – SSI over SPI on Nucleo-F042K
  • PL2303_ringbuffer – USB CDC ACM with ring buffers
  • QuadEncoder – Quadrature encoder via timer
  • Servo – Controls SG-90 style servos
  • Socket_fans – Manages multiple fans
  • TM1637 – Drives 7‑segment displays
  • tsys01_nucleo – Reads two TSYS01 sensors
  • uart_blink & uart_blink_dma – USART echo with DMA
  • usbcan_relay – Relay board over CAN bus
  • usbcan_ringbuffer – USB‑CAN adapter with ring buffers
  • USBHID – USB HID keyboard + mouse

STM32F1 (F103)

  • BMP180, BMP280 – I²C temperature/pressure sensors
  • Canon_managing_device – Controls Canon lenses
  • canUART – UART‑CAN bridge
  • DHT22_DHT11 – Humidity sensors using timer+DMA
  • DS18 – DS18x20 temperature sensors
  • F1_testbrd – Test board for LQFP48 packages
  • I2Cscan – I²C scanner with register R/W
  • LED_Screen – Drives 32×16 LED matrices (P10)
  • MAX7219_screen – Controls 8×8 LED matrices
  • RGB_LED_Screen – HUB75E RGB panel with 8.8.4 color
  • SevenCDCs – Seven USB‑CDC ACM instances on one MCU (joke project)
  • shutter – Bistable shutter via USB/external signal
  • Tetris – Tetris on HUB75E panel
  • USB_HID – USB HID mouse+keyboard
  • ws2815 – Rainbow effect on WS2815 strips

STM32F3 (F303)

  • ADC – Works with ADC peripheral
  • blink – Toggles LEDs on PB0/PB1
  • CANusb – USB‑CAN adapter
  • floatPrintf – Converts floats to strings
  • Multistepper – Controls up to 64 multiplexed steppers
  • NitrogenFlooding – Automatic nitrogen flooding
  • PL2303 – PL2303 emulator (old)
  • Seven_CDCs – Seven USB CDC ACM interfaces
  • usart1fullDMA – USART1 Rx/Tx DMA with match detection
  • USB_template_CDC – USB‑CDC template

STM32F4 (F401)

  • blink – Simple LED toggling

STM32G0 (G070, G0B1)

  • blink – Basic LED blink
  • RTC – Real‑time clock
  • flash – Flash memory operations
  • g0b1 – USB‑CDC working on G0B1
  • i2c – I²C operations
  • usart – USART communication

Other Directories

  • deprecated – Archive of older, no‑longer‑maintained code
  • snippets – Small reusable code fragments
  • testboard – KiCad 8 design files

Development Environment

  • Toolchain: arm-none-eabi‑gcc with -flto optimisations
  • Build: Structured Makefiles per series
  • Debug: OpenOCD configuration files provided
  • Libraries: No third‑party libraries; only CMSIS‑SVD headers

Project Maturity

  • Alpha: USB template for F303, MLX90640 all‑sky camera
  • Stable: LED blink, UART echo, sensor interfaces, USB‑CDC
  • Draft: CANbus4BTA, MLX90640multi
  • Deprecated: Older code in deprecated/

Summary

This repository is a valuable resource for learning low‑level STM32 programming without vendor libraries. It covers practical applications:

  • Industrial control: Stepper motors, CAN bus, relay boards
  • Sensor interfacing: Temperature, pressure, humidity, encoders
  • Human‑machine interfaces: LED matrices, 7‑segment displays, USB HID
  • Communication: UART, SPI, I²C, USB‑CDC, USB‑HID, CAN
  • Prototyping: Test boards for F0, F1, F3, G0

For the latest updates, check the repository on GitHub.

License

This repository is provided under the GNU General Public License v3 or later. Full text of the GPLv3 is available at https://www.gnu.org/licenses/gpl-3.0.html.

Parts

117
QtyValueFootprintReferences
220.1Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC3, C10, C11, C13, C16, C17, C18, C21, C22, C23, C24, C25, C26, C27, C28, C29 +6
8510Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2, R3, R4, R5, R6, R7, R8, R9
60.5AFuse:Fuse_1206_3216MetricF1, F2, F3, F4, F5, F6
6Term_3TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3_1x03_P5.00mm_HorizontalJ6, J7, J8, J12, J13, J14
5B0505S-1Wmy_footprints:B0x0xSQ2, Q3, Q5, Q6, Q7
5Jumper_3_OpenConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJP1, JP2, JP4, JP5, JP6
5SM712_SOT23Package_TO_SOT_SMD:SOT-23D6, D8, D10, D11, D12
41uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C9, C14, C15
4H11L1Package_DIP:DIP-6_W7.62mmU10, U11, U12, U13
4HOLEMountingHole:MountingHole_3.2mm_M3J1, J2, J4, J5
4SMAJ15CADiode_SMD:D_SMAD2, D3, D4, D5
30.47Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C6, C8
310kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR10, R14, R16
322Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR11, R13, R15
33.3VTestPoint:TestPoint_Loop_D2.54mm_Drill1.5mm_BeadedTP1, TP2, TP3
3ISO3088DWPackage_SO:SOIC-16W_7.5x10.3mm_P1.27mmU7, U8, U9
3SW_PushButton_Switch_SMD:SW_SPST_FSMSMSW2, SW3, SW4
212Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC19, C20
21N5817Diode_SMD:D_SMA-SMB_Universal_HandsolderingD7, D9
1120Resistor_SMD:R_1210_3225Metric_Pad1.30x2.65mm_HandSolderR1
11kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR18
11k5Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR12
122uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC12
1330Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR17
18MHzCrystal:Crystal_HC49-U_VerticalY1
1AO3401Package_TO_SOT_SMD:SOT-23_HandsolderingQ1
1B0505S-2Wmy_footprints:B0505S-2WQ4
1ISO1050DUBPackage_SO:SOP-8_6.62x9.15mm_P2.54mmU1
1ISO3086Package_SO:SOIC-16W_7.5x10.3mm_P1.27mmU3
1Jumper_2_OpenConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJP3
1LM1117MP-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U4
1LOGOmy_footprints:QRG***
1MAX3232Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU2
1PESD1CANPackage_TO_SOT_SMD:SOT-23D1
1ProgConnector_PinSocket_1.27mm:PinSocket_1x06_P1.27mm_VerticalJ3
1SSI/422my_footprints:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset4.94mm_Housed_MountingHolesOffset7.48mmJ10
1STM32F303RBT6Package_QFP:LQFP-64_10x10mm_P0.5mmU6
1SW_DIP_x01Button_Switch_THT:SW_DIP_SPSTx01_Slide_6.7x4.1mm_W7.62mm_P2.54mm_LowProfileSW1
1Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalJ9
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U5
1USB_BConnector_USB:USB_B_OST_USB-B1HSxx_HorizontalJ11

Questions

How big is the Many485 PCB?

It measures 80 × 84 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Many485 use?

117 parts, built around the STM32F303RBT6, ISO3088DW, ISO1050DUB and ISO3086DW. 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 Many485 KiCad files?

From the eddyem/stm32samples repository on GitHub, at the commit this page was made from: the board is F3:F303/InterfaceBoard/kicad/many485.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Many485 design in my own project?

Its repository states no licence, so its author keeps all rights: ask eddyem before reusing the design.

More from eddyem/stm32samples

12
  • 4 layers113.5 × 105.5 mmMultistepper, the printed circuit board in 3D

    Multistepper

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    243 parts208
  • 2 layers121.5 × 136.5 mmStm32, the printed circuit board in 3D

    Stm32

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    192 parts208
  • 2 layers121.5 × 136.5 mmStm32, the printed circuit board in 3D

    Stm32

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    155 parts208
  • 4 layers80 × 80 mmNitrogen, the printed circuit board in 3D

    Nitrogen

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    140 parts208
  • 2 layers97 × 69.5 mmStm32, the printed circuit board in 3D

    Stm32

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    103 parts208
  • 2 layers98 × 63.5 mmStm32, the printed circuit board in 3D

    Stm32

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    98 parts208
  • 2 layers58 × 71 mmMLX90640-allsky, the printed circuit board in 3D

    MLX90640-allsky

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    94 parts208
  • 2 layers97.5 × 59.5 mmChrono, the printed circuit board in 3D

    Chrono

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    90 parts208
  • 2 layers75.5 × 52.5 mmStm32, the printed circuit board in 3D

    Stm32

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    89 parts208
  • 2 layers66 × 54 mmWindshield, the printed circuit board in 3D

    Windshield

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    86 parts208
  • 2 layers65.5 × 41 mmLamps, the printed circuit board in 3D

    Lamps

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    78 parts208
  • 2 layers62 × 60.5 mmChiller control, the printed circuit board in 3D

    Chiller control

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    73 parts208

Similar boards

  • 2 layers429.6 × 540.7 mmKeyboard, the printed circuit board in 3D

    Keyboard

    joshajohnson/louise

    A project between Josh and RiotPunch to build a 75% alice keyboard with a southpaw numpad.

    327 parts5
  • 4 layers195 × 123 mmMHCNC, the printed circuit board in 3D

    MHCNC

    TheHexaCube/MHCNC

    417 parts
  • 4 layers65 × 52 mmCOMMS HAT SWITCH, the printed circuit board in 3D

    COMMS HAT SWITCH

    Stab-Rabbit-coding/Serenity-UAV

    A functional, security conscious, Unmanned Aerial Vehicle based on the Firefly Class spacecraft Serenity from the 2002 show..

    39 parts1CERN-OHL-W-2.0
  • 2 layers92.6 × 87.9 mmBMS Master, the printed circuit board in 3D

    BMS Master

    sakshamgupta2004/VegapodAll

    All the vegapod material

    112 parts
  • 4 layers86.3 × 91.4 mm485toSDI12, the printed circuit board in 3D

    485toSDI12

    sihyun-noh/zephyr_485toSDI12

    Zephyr RTOS 기반 Dajilog MCU 장비의 firmware, custom board 정의, 공통 component, KiCad hardware source를 함께 관리하는 repository입니다.

    156 partsApache-2.0
  • 4 layers156.8 × 127 mmPayload PCB v3.1, the printed circuit board in 3D

    Payload PCB v3.1

    team-mountaineers-urc-2023/electronics

    Block diagrams, schematics, and PCB files related to the electronics subteam

    197 parts2BSD-3-Clause
  • 2 layers94.9 × 69 mmECU, the printed circuit board in 3D

    ECU

    rivotmotors-rnd/ECU_Firmware_V3

    RIVOT ECU V3.0 Repo containing STM32F446RE firmware and KiCad PCB hardware designs.

    115 parts
  • 2 layers100 × 90 mmUmdriver, the printed circuit board in 3D

    Umdriver

    Technariumas/umdriver

    Universal AC motor driver

    79 parts1Apache-2.0