Skip to the content
2 layers50 × 50 mmRo system, the printed circuit board in 3D

A reverse osmosis controller system designed around STM32.

Size
50 × 50 mm
Copper layers
2
Thickness
1.6 mm
Parts
57
Nets
39
Pads
145
Tracks, vias
210, 52
Pours
4
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
8 Aug 2026
Updated
15 Aug 2026

Overview

Ro system is an open-source printed circuit board by oxfordfish, from the oxfordfish/STM32G0F6Px-ROC repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 2-layer board of 50 × 50 mm with 57 parts on 39 nets, routed with 210 tracks and 52 vias.

It is built around the L7985ATR, SS24 and IRLML6344TRPBF, with the BAT54, SMAJ30A and STPS1L30A among its other parts. Its parts include 17 resistors, 13 capacitors, 8 diodes, 8 connectors and 3 transistors. It belongs with the STM32 boards of this library.

Main components

6

README

README.md

⚡ STM32 Reverse Osmosis Controller Board

⚠️ Status: Manufacturing Phase / Untested
This board design has been sent to fabrication and is currently untested in hardware. Use or manufacture at your own risk.

An ROC board designed to improve the performance of an RO system using STM32 and peripherals

STM32 Board Render


🙏 Acknowledgments & References


📋 Board Specifications & Features

  • Microcontroller: STM32G0F6Px (TSSOP-20 Package)
  • Power Supply: On-board Buck Converter (24V to 3.3V step-down) switching regulator network
  • Connectivity: Screw Terminals for 24V power and peripherals
  • Debugging & Flash: SWD (Serial Wire Debug) header
  • Status Indicators: Power LED
  • Design Tool: KiCad 10.0

⚙️ System Functions & Peripherals

  • Input Voltage: $24\text{V DC}$ main power supply (stepped down to $3.3\text{V}$ for logic).
  • Actuator Control (Low-Side MOSFET Drivers):
    • Inlet Solenoid: Controls feedwater inflow to the RO membrane.
    • Flush Solenoid: Handles periodic high-pressure membrane flushing.
    • Booster Pump: Drives high-pressure water delivery through the filter stages.
  • Sensor Inputs (Filtered & Conditioned):
    • High-Pressure Switch: Detects full tank pressure to shut down pumping.
    • Low-Pressure Switch: Detects water feed loss to prevent pump dry-running.
    • TDS Sensor: Measures Total Dissolved Solids / water purity output.

📂 Repository Structure

text
ro-system/
├── .gitignore
├── README.md
├── LICENSE
│
├── hardware/                 
│   ├── ro-system.kicad_pro
│   ├── ro-system.kicad_sch
│   ├── ro-system.kicad_pcb
│   ├── bom.csv
│   └── manufacturing/         
│
├── firmware/                  
│   ├── Core/
│   ├── Drivers/
│   ├── .STM32CubeIDE/        
│   └── ro-system.ioc
│
└── docs/                     
    ├── ro-system.png
    ├── mcu_and_terminals.png
    ├── schematic.pdf
    └── switching_regulator.png
    

Parts

57
QtyValueFootprintReferences
7Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalJ1, J2, J3, J4, J5, J6, J7
6100nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC2, C3, C4, C5, C6, C8
510kRResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR4, R5, R6, R11, R14
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_PadH1, H2, H3, H4
4SS24Diode_SMD:D_SMA_HandsolderingD1, D2, D3, D8
3100RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2, R3
31uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC10, C11, C12
3IRLML6344TRPBFPackage_TO_SOT_SMD:SOT-23_HandsolderingQ1, Q2, Q3
210kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR7, R16
21k5RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR12, R15
21kRResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR10, R13
1100kRResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR8
115kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR17
115uInductor_SMD:L_6.3x6.3_H3L1
11AFuse:Fuse_1812_4532Metric_Pad1.30x3.40mm_HandSolderF1
12.2kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR18
1220nCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC9
14.7uCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1
147nCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC13
147uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC7
1BAT54Package_TO_SOT_SMD:SOT-23_HandsolderingD4
1Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ8
1GREENLED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolderD6
1L7985ATRPackage_SO:HSOP-8-1EP_3.9x4.9mm_P1.27mm_EP2.3x2.3mmU2
1SMAJ30ADiode_SMD:D_SMA_HandsolderingD9
1STM32G030F6PxPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU1
1STPS1L30ADiode_SMD:D_SMA_HandsolderingD7

Similar boards

  • 4 layers100 × 100 mmRpi pico printer board, the printed circuit board in 3D

    Rpi pico printer board

    jackw01/pi-pico-printer-board

    Tinkerer-friendly Klipper compatible 3D printer control board using Raspberry Pi Pico

    224 parts42CERN-OHL-W-2.0
  • 4 layers100 × 80 mmPellet burner, the printed circuit board in 3D

    Pellet burner

    Weyla/pellet-burner-pcb

    171 parts
  • 4 layers70 × 71.6 mmHub v9, the printed circuit board in 3D

    Hub v9

    felixfelix-bot/balloon-fresh

    Open-source pico-balloon hardware and firmware, multi-radio LoRa/FLRC mesh networking, ground stations, and RF range-test tooling.

    59 parts
  • 2 layers90.2 × 95.9 mmChargeController2.0, the printed circuit board in 3D

    ChargeController2.0

    UWCubeSat/BMS-EPS-HS2

    Repository of the HS-2 Battery Management System

    88 parts
  • 4 layers100 × 100 mmFeederController, the printed circuit board in 3D

    FeederController

    atanisoft/Esp32FeederController

    ESP32 based OpenPnP feeder controller

    103 parts10
  • 4 layers43 × 66 mmWookey, the printed circuit board in 3D

    Wookey

    wookey-project/hard-wookey-motherboard

    WooKey Secure Mass Storage Mainboard PCB

    90 parts10
  • 2 layers129.5 × 72.6 mmOpenPLC, the printed circuit board in 3D

    OpenPLC

    radioelf/OpenPlc

    Hardware for OpenPLC with raspberry PI Z and Mod. software OpenPlc

    165 parts7
  • 2 layers80 × 51.4 mmP44ttngw, the printed circuit board in 3D

    P44ttngw

    plan44/p44ttngw-hardware

    KiCAD files for TTN LoRA gateway based on RAK831 and Omega2S

    78 parts4

Questions

How big is the Ro system PCB?

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

What parts does the Ro system use?

57 parts, built around the L7985ATR, SS24, IRLML6344TRPBF and BAT54. 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 Ro system KiCad files?

From the oxfordfish/STM32G0F6Px-ROC repository on GitHub, at the commit this page was made from: the board is hardware/ro-system.kicad_pcb and its schematic hardware/ro-system.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Ro system design in my own project?

Its repository publishes it under the CERN-OHL-P-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).