Skip to the content
2 layers62 × 60.5 mmChiller control, the printed circuit board in 3D

Chiller control

eddyem/stm32samples208

Code samples and ready projects based on bare-metal STM32

Size
62 × 60.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
73
Nets
46
Pads
206
Tracks, vias
533, 25
Pours
3
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
21 Mar 2015
Updated
10 Oct 2026

Overview

Chiller control is an open-source printed circuit board by eddyem, from the eddyem/stm32samples repository on GitHub. It is a 2-layer board of 62 × 60.5 mm with 73 parts on 46 nets, routed with 533 tracks and 25 vias.

It is built around the MAX3232ID, L7805 and LM1117-3.3, with the SI2300 and SS14 among its other parts. Its parts include 26 resistors, 21 capacitors, 7 connectors, 5 transistors and 4 ICs. It belongs with the sensors and measurement and computers and single-board computers boards and the STM32 boards of this library.

Main components

5

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

73
QtyValueFootprintReferences
120.1Capacitor_SMD:C_0603_1608Metric_Pad0.99x1.00mm_HandSolderC1, C2, C3, C5, C8, C9, C12, C17, C18, C19, C20, C21
1110kResistors_SMD.pretty:R_0603_HandSolderingR1, R6, R8, R9, R12, R13, R14, R15, R19, R20, R21
5Val**modules:hole_3mmhole_3mm, hole_3mm, hole_3mm, hole_3mm, hole_3mm
41k0.1%Resistors_SMD.pretty:R_0805_HandSolderingR2, R3, R4, R5
4220Resistor_SMD:R_0805_2012Metric_Pad1.29x1.40mm_HandSolderR7, R22, R23, R26
4510Resistors_SMD.pretty:R_0603_HandSolderingR10, R16, R17, R18
30.47Capacitor_SMD.pretty:C_0805_HandSolderingC10, C11, C13
3SI2300TO_SOT_Packages_SMD:SOT-23_HandsolderingQ1, Q2, Q3
20Resistor_SMD:R_0805_2012Metric_Pad1.29x1.40mm_HandSolderR24, R25
21uCapacitor_SMD:C_0805_2012Metric_Pad1.29x1.40mm_HandSolderC14, C16
2DC3-10PConnector_IDC:IDC-Header_2x05_P2.54mm_VerticalJ3, J4
2IRL3303TO_SOT_Packages_THT:TO-220-3_VerticalQ4, Q5
1100uCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC15
110uCapacitor_SMD.pretty:C_1206_HandSolderingC7
112VINConnectors_Terminal_Blocks:TerminalBlock_Pheonix_MKDS1.5-2polJ2
11uCapacitor_SMD.pretty:C_0805_HandSolderingC6
1220Resistors_SMD.pretty:R_0805_HandSolderingR11
147uCapacitor_Tantalum_SMD.pretty:CP_Tantalum_Case-A_EIA-3216-18_HandC4
1BMBA 0.1mHResistors_SMD.pretty:R_0805_HandSolderingL1
1BootButtons_Switches_SMD:SW_SPST_FSMSMSW2
1BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1CoolerConnectors_Terminal_Blocks:TerminalBlock_Pheonix_MKDS1.5-2polJ5
1DB9_Femalemodules:DB9-FJ1
1HeaterConnectors_Terminal_Blocks:TerminalBlock_Pheonix_MKDS1.5-2polJ6
1L7805TO_SOT_Packages_THT:TO-220-3_VerticalU4
1LM1117-3.3TO_SOT_Packages_SMD:SOT-223U1
1MAX3232Housings_SOIC:SOIC-16_3.9x9.9mm_Pitch1.27mmU2
1PumpConnectors_Terminal_Blocks:TerminalBlock_Pheonix_MKDS1.5-2polJ7
1ResetButtons_Switches_SMD:SW_SPST_FSMSMSW1
1SS14Diode_SMD.pretty:D_SMA_HandsolderingD1
1STM32F030F4PxHousings_SSOP:TSSOP-20_4.4x6.5mm_Pitch0.65mmU3

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 layers80 × 84 mmMany485, the printed circuit board in 3D

    Many485

    eddyem/stm32samples

    Code samples and ready projects based on bare-metal STM32

    117 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

Similar boards

  • 2 layers87 × 71 mmSocket, the printed circuit board in 3D

    Socket

    eddyem/STM8_samples

    Some code samples and ready projects based on STM8 (deprecated)

    89 parts80
  • 2 layers83.7 × 53.7 mmNode RS232, the printed circuit board in 3D

    Node RS232

    maivananh111/DoAnTotNghiep

    LoRaWAN wireless sensor network

    108 parts
  • 2 layers22.2 × 24.6 mmEsp mini, the printed circuit board in 3D

    Esp mini

    tyrobee/esp_mini

    A Esp based flight controller

    45 parts
  • 2 layers189.5 × 204.9 mmSmartSpin2k Panelized, the printed circuit board in 3D

    SmartSpin2k Panelized

    doudar/SmartSpin2k

    Transform your spin bike into a Smart Trainer!

    749 parts292GPL-2.0
  • 2 layers100 × 60 mmHMI VERA, the printed circuit board in 3D

    HMI VERA

    chalmers-vera-team/VeraHMI-PCB

    An adapter PCB for a Raspberry Pi, IO, connectors and power regulation. Designed in KiCad.

    32 parts4
  • 2 layers204.5 × 121.9 mmCt800-pcb, the printed circuit board in 3D

    Ct800-pcb

    d3rvita/ct800-pcb

    PCB for the CT800 chess computer

    91 parts4MIT
  • 2 layers320 × 136 mmGov tracker Panel, the printed circuit board in 3D

    Gov tracker Panel

    lectrotel/Gov_tracker_PCB

    Govenor tracker PCB

    689 parts
  • 2 layers73.7 × 48.9 mmSerialGPS, the printed circuit board in 3D

    SerialGPS

    Ehryk/ehryk.github.com

    Code

    56 parts2

Questions

How big is the Chiller control PCB?

It measures 62 × 60.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Chiller control use?

73 parts, built around the MAX3232ID, L7805, LM1117-3.3 and SI2300. 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 Chiller control KiCad files?

From the eddyem/stm32samples repository on GitHub, at the commit this page was made from: the board is F0:F030,F042,F072/Chiller/kicad/Chiller_control.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Chiller control design in my own project?

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