

Ventilation
Implementation of demand controlled ventilation system in Micropython
- Size
- 225 × 90 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 64
- Nets
- 140
- Pads
- 427
- Tracks, vias
- 1,311, 9
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 27 Oct 2024
- Updated
- 9 Dec 2024
Overview
Ventilation is an open-source printed circuit board by PeterLourens, from the PeterLourens/OSVentilationPy repository on GitHub. It is a 2-layer board of 225 × 90 mm with 64 parts on 140 nets, routed with 1,311 tracks and 9 vias.
It is built around the R-78B3.3-2.0, R-78E5.0-1.0 and 74HC595, with the ULN2803A and PJ-102BH among its other parts. Its parts include 25 capacitors, 17 connectors, 15 ICs, 2 inductors and 1 diode.
Main components
5R-78B3.3-2.0
--40°C ~ 70°C 0.45" Length x 0.33" Width x 0.69" Height (11.5mm x 8.5mm x 17.5mm) 1 2A 3-SIP Module 3.3V 32V 4.75V 92% ITE (Commercial) Linear Regulator Replacement OTP,SCP Through Hole - Power Module/Power Supply ROHSRECOM PowerPower Supply Module,Power SuppliesR-78E5.0-1.0
SIP,11.6x7.5mm-40℃~+85℃ 1 10.2mm 11.6mm 1A 2200uF 300uA 50mVp-p 5V 7.5mm 7V~36V 850kHz 94% Short Circuit Protection、Automatic fault recovery Step-down type ±3% SIP,11.6x7.5mm DC-DC Power Modules ROHSYLPTECDC-DC Power Modules74HC595
SOP-16-40℃~+85℃ 1 100ns@5V,50pF 10MHz 2V~6V 74HC 8 Serial-to-Serial or Parallel Tri-State SOP-16 Shift Registers ROHSGRShift RegistersULN2803A
SOP-18-300mil-40℃~+85℃ 0.93mA 100uA 15pF 20uA 30V 500mA 50V 8 SOP-18-300mil Darlington Transistor Arrays ROHSUMWDarlington Transistor ArraysPJ-102BH
插件-25℃~+85℃ 2.5mm 24V 5A 6.5mm DC Power Jack Right Angle 插件 DC Power Connectors ROHSCUIDC Power Connectors
README
README.mdFunctional Description Ventilation system
Fan unit specification:
- Type: CVE ECO 2HE
- Version: 110-0031-001
- Article number: 545-5022
- Capacity: 417 m3/h
- Pressure: 150 Pa
- Nominal Power: 67.1 W
- Nominal Voltage: 230V-50Hz
- Nominal current: 0.5A
- Power factor: 0.58
- Weight: 3.5 kg
State Machine
The ventilation system is based on a state machine library written by José Rullán in 2022. This is the state machine:

Initial state
When the ventilation system starts, all valves should go to their default position and the fan at low (10%) speed. The default positions are:
| Valve number | Room | valve position | flow [m3/h] | High valve position [%] |
|---|---|---|---|---|
| 0 | HR Kap | 4 | 5 | 20 |
| 1 | Keuken | 4 | 5 | 20 |
| 2 | Toliet | 4 | 5 | 20 |
| 3 | Not used | 0 | 0 | 0 |
| 4 | Not used | 0 | 0 | 0 |
| 5 | Wasruimte | 4 | 5 | 20 |
| 6 | Badkamer | 24 | 60 | |
| 7 | Not used | 0 | 0 | 0 |
| 8 | Slaapkamer1 | 4 | 5 | 20 |
| 9 | Slaapkamer 2 | 4 | 5 | 20 |
| 10 | Slaapkamer 3 | 4 | 5 | 20 |
| 11 | Slaapkamer 4 | 4 | 5 | 20 |
Fan:
- Low: 20 -> 10% = 40 m3/h
- Medium: 120 -> 50% = 200 m3/h
- High: 220 -> 100% = 400 m3/h
Operating
| Name | Flap position | ventilation |
|---|---|---|
| Bathroom | 100 | 60-75 |
Ventilatiepatroon/etmaal
Normal ventilation pattern:
- Laagstand 8 uur (23:00u - 07:00u) 8 uur (23:00u - 07:00u)
- Middenstand 14 uur (07:00 - 23:00)
- Hoogstand 2 uur as required, e.g. cooking or shower
Temperature control
No temperature control. Air is drawn in through the rosters in the windows.
Humidity control
Humidity is measured with two sensors. Conditions:
- When bathroom1 humidity is higher than 90% then shower is on. Actions:
- Fanspeed should be increased to high.
- All valves remain in the same position (bathroom1 is and remains 100% open, all other unchanged).
CO2 Control
CO2 is measured with one sensor in the suction tube of the fan so it measures for all rooms. Conditions and actions:
- When CO2 is high (1000ppm) in daytime the ventilation should be increased. Actions:
- Valves remain in same position
- fanspeed should be increased to high until CO2 level has decreased to 800 ppm.
- When CO2 is high during night time, the bedrooms should be ventilated more. Actions
- Open the valves to 100% of all bedrooms (but not in the office).
- Fanspeed remains on low
Parts
64| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 6P6C | ventilation:615006138421 | J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12 |
| 7 | 100n | Capacitor_THT:C_Axial_L3.8mm_D2.6mm_P7.50mm_Horizontal | C13, C20, C21, C22, C23, C24, C25 |
| 6 | 100n | Capacitor_THT:C_Disc_D3.8mm_W2.6mm_P2.50mm | C14, C15, C16, C17, C18, C19 |
| 6 | 10u | Capacitor_THT:CP_Radial_D5.0mm_P2.00mm | C1, C2, C3, C4, C7, C8 |
| 6 | 74HC595 | Package_DIP:DIP-16_W7.62mm_Socket | U2, U3, U5, U6, U7, U13 |
| 6 | ULN2803A | Package_DIP:DIP-18_W7.62mm_Socket | U1, U4, U8, U14, U15, U16 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | 1000u | Capacitor_THT:CP_Radial_D12.5mm_P5.00mm | C5, C6 |
| 2 | 10u | Capacitor_THT:C_Axial_L5.1mm_D3.1mm_P7.50mm_Horizontal | C10, C12 |
| 2 | Conn_01x10 | Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_Vertical | J16, J17 |
| 1 | 10u | Inductor_THT:L_Radial_D8.7mm_P5.00mm_Fastron_07HCP | L2 |
| 1 | 1N5818 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D1 |
| 1 | 2.2u | Capacitor_THT:C_Axial_L5.1mm_D3.1mm_P7.50mm_Horizontal | C9 |
| 1 | 4.7u | Capacitor_THT:C_Axial_L5.1mm_D3.1mm_P7.50mm_Horizontal | C11 |
| 1 | 68u | Inductor_THT:L_Radial_D8.7mm_P5.00mm_Fastron_07HCP | L3 |
| 1 | PJ-102BH | ventilation:CUI_PJ-102BH | J13 |
| 1 | R-78B3.3-2.0 | Converter_DCDC:Converter_DCDC_RECOM_R-78B-2.0_THT | U11 |
| 1 | R-78E5.0-1.0 | Converter_DCDC:Converter_DCDC_RECOM_R-78E-0.5_THT | U10 |
| 1 | SCD40 sensor1 | ventilation:SEEED_110990030 | J14 |
| 1 | SCD40 sensor2 | ventilation:SEEED_110990030 | J15 |
| 1 | ~ | ventilation:NodeMCU-32S 30 pins Ali | U9 |
Questions
How big is the Ventilation PCB?
It measures 225 × 90 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Ventilation use?
64 parts, built around the R-78B3.3-2.0, R-78E5.0-1.0, 74HC595 and ULN2803A. 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 Ventilation KiCad files?
From the PeterLourens/OSVentilationPy repository on GitHub, at the commit this page was made from: the board is hardware/rev1/ventilation.kicad_pcb and its schematic hardware/rev1/output1_sch.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Ventilation design in my own project?
Its repository states no licence, so its author keeps all rights: ask PeterLourens before reusing the design.
Similar boards
- 4 layers170 × 80 mm

- 2 layers74.4 × 72.8 mm

KabukiFlux NES IO Board nessionator Nes xieles
punkfab/pcb-corpus
235 real KiCad boards from open-source hardware repositories, prepared as a placement and routing benchmark
22 parts1 - 2 layers139 × 74 mm

- 2 layers100 × 80 mm

- 2 layers211.2 × 122.4 mm

- 2 layers171.5 × 106.7 mm

Sequencer
westlicht/performer-hardware
PER|FORMER Eurorack Sequencer - Hardware Design Files
435 parts110 - 2 layers50 × 77 mm

- 4 layers174 × 104 mm
