

Stm32devboard
Minimal Test Stand Supervisory
- Size
- 20.3 × 61 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 44
- Nets
- 67
- Pads
- 229
- Tracks, vias
- 647, 92
- Pours
- 11
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 25 Feb 2024
- Updated
- 4 Sep 2026
Overview
Stm32devboard is an open-source printed circuit board by psas, from the psas/mints-scada-hardware repository on GitHub. It is a 4-layer board of 20.3 × 61 mm with 44 parts on 67 nets, routed with 647 tracks and 92 vias.
It is built around the STM32F042C6T6, TCAN332D and AP63203WU, with the IP4234CZ6,125(ES), RMCF0603ZT0R00 and RMCF0603FT5K10 among its other parts. Its parts include 16 capacitors, 12 resistors, 4 ICs, 4 connectors and 3 diodes. It belongs with the STM32 boards of this library.
Main components
12STM32F042C6T6
LQFP-48(7x7)-40℃~+85℃ 1.65V~3.6V 12bit 32 Bit 32KB 38 48MHz 6KB ARM Cortex-M0 Built-in FLASH LQFP-48(7x7) Microcontrollers (MCU/MPU/SOC) ROHSSTMicroelectronicsMicrocontrollers (MCU/MPU/SOC)TCAN332D
SOIC-8-40℃~+125℃ 1Mbps 3V~3.6V 60mA CAN Transceiver SOIC-8 CAN Transceivers ROHSTexas InstrumentsCAN TransceiversAP63203WU
TSOT-23-6-40℃~+85℃@(TA) 1 1.1MHz 22uA 2A 3.3V 3.8V~32V Buck Built-in Fixed Overcurrent Protection、Light load efficient mode、Cycle-by-cycle current limiting、Hiccup current limiting、EMI optimization (spread spectrum) Step-down type Yes TSOT-23-6 DC-DC Converters ROHSDiodes IncorporatedDC-DC ConvertersIP4234CZ6,125(ES)
SOT-23-6LSOT-23-6L ESD and Surge Protection (TVS/ESD) ROHSElecSuperUncategorisedRMCF0603ZT0R00
0603-55℃~+155℃ 0Ω 100mW 75V Thick Film Resistor 0603 Chip Resistor - Surface Mount ROHSStackpole Electronics (SEI)Chip Resistor - Surface MountRMCF0603FT5K10
0603-55℃~+155℃ 100mW 5.1kΩ 75V Thick Film Resistor ±1% ±100ppm/℃ 0603 Chip Resistor - Surface Mount ROHSStackpole Electronics (SEI)Chip Resistor - Surface MountRMCF0603FT10K0
0603-55℃~+155℃ 100mW 10kΩ 75V Thick Film Resistor ±1% ±100ppm/℃ 0603 Chip Resistor - Surface Mount ROHSStackpole Electronics (SEI)Chip Resistor - Surface MountGCM1885C2A200JA16D
0603100V 20pF C0G ±5% 0603 Multilayer Ceramic Capacitors MLCC - SMD/SMT ROHSMurataMultilayer Ceramic Capacitors MLCC - SMD/SMTRMCF0603FT60R4
0603-55℃~+155℃ 100mW 60.4Ω 75V Thick Film Resistor ±1% ±100ppm/℃ 0603 Chip Resistor - Surface Mount ROHSStackpole Electronics (SEI)Chip Resistor - Surface MountPH1-20-UA
插件,P=2.54mmPin HeadersADAM TECH1206L025YR
1206-40℃~+85℃ 100A 16V 2.3Ω 250mA 500mA 550mΩ 600mW 80ms 1206 Resettable Fuses ROHSLittelfuseResettable FusesB1911UY--20D000114U1930
06030603 LED Indication - Discrete ROHShongqiguangLED Indication - Discrete
README
README.mdmints-scada-hardware
Minimal Test Stand Supervisory Control and Data Acquisition system hardware and firmware. See mints-scada-software for the computer software to control the whole system.
Assembly
stm32devboards
- Populate all SMD components on the board
- Only populate the 60.4 ohm CAN termination resistors on the nodes on the ends of the chain.
- Populate the USB port and solder its mounting lugs
- Do not populate the headers on the sides as they will make it more difficult to work on the boards if problems are discovered
- Complete the board testing
- Populate THT components
interface-module
- Select the desired configuration of the board. This can be one of
- 8x Push and/or Pull outputs
- 4x I2C
- 4x ADC
- See notes in KiCad for configuration information
- Assemble only the required components for that version of the board. Leave the rest unpopulated
Firmware flashing
Firmware files are located in the firmware/bin directory.
Command line (recommended)
Command line firmware flashing instructions are provided for Ubuntu 24.04. Other debian-based Linux distros should follow a similar procedure. Flashing from Mac or Windows should be possible, but is not covered here.
Setup
- Install
dfu-utilwithsudo apt install dfu-util - Set up udev rules
- Put the following into
/etc/udev/rules.d/60-stm32
text # STM32 ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess"- Either reboot or run
sudo udevadm control --reload-rules && sudo udevadm triggerto reload the udev rules
- Put the following into
Flashing:
- Remove the devboard from the module if it was installed.
- Put the device in bootloader mode
- If the device is unplugged, hold the
BOOTbutton while plugging it in - If the device is already plugged in, press
RESETandBOOT, then releaseRESETthenBOOT
- If the device is unplugged, hold the
- Run
dfu-util --listand confirm that there are two devices with the vendor:product ID0483:df11, one with the name@Option Bytesand one with the name@Internal Flash. If any other devices with that ID are present, remove them before continuing. - Flash the device with
dfu-util --device 0483:df11 --alt 0 --dfuse-address 0x08000000:leave --download [path/to/file/]<filename>.bin. It should erase the flash, then download the new file and showFile downloaded successfullywhen it is done.
Visual
STM32CubeProgrammer can be used to flash device firmware. Setup will be platform-dependent, and thusly not covered here.
To build and upload:
- Open the PlatformIO tab in the left toolbar
- Under
PROJECT TASKS>Build>Generalexecute theBuildprocedure by clicking on it - Execute
Uploadto upload to the microcontroller. Ensure that only a single board is plugged in to ensure you are writing to the correct device.
Building Firmware
Building firmware from source shouldn't be needed unless you are making changes to it. Firmware build instructions are provided for Ubuntu 24.04. Other debian-based Linux distros should follow a similar procedure. Flashing from Mac or Windows should be possible, but is not covered here.
You will need:
- GCC for arm
sudo apt install gcc-arm-none-eabi - make
sudo apt install make - Everything as described in the command line flashing setup section above.
To build the code, simply run make in the firmware folder. This will build the firmware and copy the .bin into the firmware folder. Running make flash will build the firmware then upload it to a connected DFU mode microcontroller.
Initialization code was generated using [https://www.st.com/en/development-tools/stm32cubemx.html](STM32Cube initialization code generator). You should not need to mofidy this, but if you do, the module_io.ioc is included. If you regenerate the code, you may have to add
#######################################
# Flash
#######################################
flash: all
dfu-util --device 0483:df11 --alt 0 --dfuse-address 0x08000000:leave --download $(BUILD_DIR)/$(TARGET).binto the end of Makefile. Optionally, add cp $(BUILD_DIR)/$(TARGET).bin $(TARGET).bin to target all in the makefile (add line 171) to copy the bin out of the build direcotry. Generally, CubeMX does not seem to update the Makefile if it exists.
Testing
stm32devboards
- Populate all SMD components as described in the
assemblysections. Do not populate THT components yet - Visually inspect the board. Fix any issues and inspect again until no issues remain
- Verify that no pins are shorted
- Verify the correct orientation and alignment of all components. Pay special attention to the STM32 since its square shape makes it more difficult to notice errors
- Bridges can hide under the USB port where you can't see them unless you tilt the board to look deep under the port. They can often be fixed by applying flux then heating the two bridged pins.
- Fixing any of these issues is easier before soldering THT parts since everything here is reflow safe, so it is less likely to be damaged during repairs.
- Use a DMM to test between
GND3v3, andGNDand either pad of the polyfuse (the component in the corner of the board by the USB port). Verify there are no shorts. - On your computer run
sudo dmesg -Hwto monitor system messages in real time (-m) with human-readable timestamps (-h). Keep this window open and visible for the next step - Plug the board in via USB. Watch
dmesg. The following should appear. If it does not, then there is a problem with your board.
[<starttime>] usb 3-2: new full-speed USB device number <id> using xhci_hcd
[ +0.148877] usb 3-2: New USB device found, idVendor=0483, idProduct=df11, bcdDevice=22.00
[ +0.000014] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ +0.000006] usb 3-2: Product: STM32 BOOTLOADER
[ +0.000006] usb 3-2: Manufacturer: STMicroelectronics
[ +0.000005] usb 3-2: SerialNumber: FFFFFFFEFFFF- Use the above procedure to flash the
blink-fast.binfirmware. Confirm that the LED blinks at about 10Hz. - Use the above procedure to flash the
blink-slow.binfirmware. Confirm that the LED blinks at about 1Hz. This confirms that you are able to flash new firmware to the device. - Install the THT components as described in the assembly section.
blink-fast.bin and blink-slow.bin should already be built in the firmware/bin directory. If they are not, they can be rebuilt with the blink project. To rebuild them, run the following in firmware/blink
make clean && make DELAY=500 && cp blink.bin ../bin/blink-slow.bin
make clean && make DELAY=50 && cp blink.bin ../bin/blink-fast.binParts
44| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | 0.1u | Capacitor_SMD:C_0603_1608Metric | C4, C5, C6, C7, C8, C9, C10, C11, C13, C14 |
| 4 | 0 | Resistor_SMD:R_0603_1608Metric | R2, R3, R5, R6 |
| 4 | 5k1 | Resistor_SMD:R_0603_1608Metric | R4, R9, R10, R12 |
| 2 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R11 |
| 2 | 20p | Capacitor_SMD:C_0603_1608Metric | C15, C16 |
| 2 | 22u | Capacitor_SMD:C_0603_1608Metric | C2, C3 |
| 2 | 60.4 | Resistor_SMD:R_0603_1608Metric | R7, R8 |
| 2 | Conn_01x20 | Connector_PinHeader_2.54mm:PinHeader_1x24_P2.54mm_Vertical | J1, J2 |
| 2 | SW_SPST | footprints:SW_SPST_3.4x3.4 | SW1, SW2 |
| 1 | 10u | Capacitor_SMD:C_0603_1608Metric | C1 |
| 1 | 1n | Capacitor_SMD:C_0603_1608Metric | C12 |
| 1 | 4.7u | Inductor_SMD:L_1210_3225Metric | L1 |
| 1 | 500mA poly | Fuse:Fuse_1206_3216Metric | F1 |
| 1 | AMBER | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | AP63203WU | Package_TO_SOT_SMD:TSOT-23-6 | U2 |
| 1 | ARM_SWD_TagConnect_TC2030-NL | Connector:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_Vertical | J4 |
| 1 | D_Schottky | Diode_SMD:D_1206_3216Metric | D2 |
| 1 | ECS-160-10-36Q-ES-TR | Crystal:Crystal_SMD_2520-4Pin_2.5x2.0mm | X1 |
| 1 | GREEN | LED_SMD:LED_0603_1608Metric | D3 |
| 1 | IP4234CZ6,125 | Package_SO:TSOP-6_1.65x3.05mm_P0.95mm | U4 |
| 1 | STM32F042C6Tx | Package_QFP:LQFP-48_7x7mm_P0.5mm | U1 |
| 1 | TCAN332 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3 |
| 1 | USB_C_Receptacle_USB2.0 | Connector_USB:USB_C_Receptacle_Palconn_UTC16-G | J3 |
Questions
How big is the Stm32devboard PCB?
It measures 20.3 × 61 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Stm32devboard use?
44 parts, built around the STM32F042C6T6, TCAN332D, AP63203WU and IP4234CZ6,125(ES). 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 Stm32devboard KiCad files?
From the psas/mints-scada-hardware repository on GitHub, at the commit this page was made from: the board is stm32devboard/stm32devboard.kicad_pcb and its schematic interface-module/config1_adc.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Stm32devboard design in my own project?
Its repository states no licence, so its author keeps all rights: ask psas before reusing the design.
More from psas/mints-scada-hardware
1- 2 layers79 × 83 mm

Similar boards
- 4 layers233.4 × 147.3 mm

OpenPLC Hardware
gasiepgodoy/Open-Source-PLC
Open Source Programmable Logic Controller (Hardware and Software). Based on the Master of Science in Electrical Engineering of João Vitor Rocha Santana
494 parts2 - 2 layers83 × 100 mm

- 2 layers83 × 100 mm

- 4 layers54 × 64 mm

- 2 layers100 × 81.3 mm

- 4 layers61.3 × 44.1 mm

At86rf215-design block
oresat/oresat-kicad
All things KiCAD for OreSat; libraries, tools, settings, etc.
80 parts6 - 6 layers81 × 85 mm

- 2 layers54 × 128.6 mm
