Ventilator Main Board
RespiraWorks·Ventilator·pcb/Ventilator.kicad_pcb
About the Ventilator Main Board
Ventilator Main Board is an open source STM32 PCB design by RespiraWorks, published on GitHub under the Apache-2.0 license. It is a 4-layer board measuring 350 × 155 mm, with 646 components from 126 distinct parts.
Its main chip is the STM32L496VGT, from the STM32 family. Other key parts include the TPS54561, LD39050PU33R, TLC555, TL431LI and BMP280. By type, the board carries 260 resistors, 182 capacitors, 54 connectors, 42 diodes, 31 ICs and 27 transistors.
It belongs with the sensors and power & battery designs in this gallery.
From the project
Fully-featured ICU ventilator design, optimized for manufacture using commonly available components and free to license. Repository tracks all mechanical, electrical and systems design, software, requirements and regulatory documentation.
This directory contains files for the Ventilator mainboard design.
The RespiraWorks Ventilator Mainboard PCB is a custom component that integrates the Cycle Controller, UI Computer, sensors, actuator drives, power supplies, filtering, and protection components.
Due to the coupled nature of the controls, electrical, and mechanical components and their design the RespiraWorks ventilator contains a custom fabricated printed circuit board (PCB) to connect the microcontroller, interface processor, and sensor interfaces. The use of a custom PCB greatly reduces the chance for electrical assembly…

Main components on the Ventilator Main Board
Ventilator Main Board bill of materials (BOM)
646 components, 126 distinct parts.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 2 | TPS54561 | WSON-10-1EP_4x4mm_P0.8mm_EP2.6x3mm | U1, U3 |
| 2 | LD39050PU33R | DFN-6-1EP_3x3mm_P0.95mm_EP1.75x2.5mm | U2, U4 |
| 1 | STM32L496VGT | LQFP-100_14x14mm_P0.5mm | U5 |
| 2 | TLC555 | SOIC-8_3.9x4.9mm_P1.27mm | U6, U7 |
| 1 | TL431LI | SOT-23 | U8 |
| 1 | BMP280 | Bosch_BMP280 | U9 |
| 1 | INA333AIDGKR | VSSOP-8_3.0x3.0mm_P0.65mm | U10 |
| 5 | USBLC6-2SC6 | SOT-23-6 | U11, U12, U13, U14, U15 |
| 2 | TPS1H100A | TSSOP-14-1EP_4.4x5mm_P0.65mm | U16, U26 |
| 2 | L6470PD | ST_POWERSO36_ThermalVias | U17, U27 |
| 1 | 24LC256T-I_MS | TSSOP-8_3x3mm_P0.65mm | U18 |
| 1 | SN74LVC2T45DCTR | SSOP-8_2.95x2.8mm_P0.65mm | U19 |
| 1 | TCA9544APWR | TSSOP-20_4.4x6.5mm_P0.65mm | U20 |
| 2 | LM4120-IM5X-3.3 | SOT-23-5 | U21, U28 |
| 2 | ADC128D818 | TSSOP-16_4.4x5mm_P0.65mm | U22, U29 |
| 1 | BQ24773 | QFN-28-1EP_4x4mm_P0.4mm_EP2.6x2.6mm_ThermalVias | U23 |
| 1 | MAX17320G20+ | WQFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm | U24 |
| 1 | LM5141 | VQFN-24-1EP_4x4mm_P0.5mm_EP2.45x2.45mm_ThermalVias | U25 |
| 1 | STM32F103CBT6 | LQFP-48_7x7mm_P0.5mm | U30 |
| 1 | ShieldConnectors | stm32shield | U31 |
Show 106 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 14 | MMBT3904 | SOT-23 | Q1, Q2, Q3, Q4, Q5, Q6, Q8, Q9 +6 |
| 2 | MMBT2907A | SOT-23 | Q7, Q10 |
| 2 | FDS4672A | SOIC-8_3.9x4.9mm_P1.27mm | Q14, Q26 |
| 4 | BSC065N06LS5ATMA1 | VSONP-8-1EP_5x6_P1.27mm | Q16, Q17, Q18, Q19 |
| 1 | SI7145DP-T1-GE3 | VSONP-8-1EP_5x6_P1.27mm | Q20 |
| 4 | BSZ019N03LSATMA1 | VSON-8-SGD_3.3x3.3mm_P0.65mm_NexFET | Q21, Q22, Q24, Q25 |
| 2 | 8 Mhz | Crystal_SMD_HC49-SD | Y1, Y3 |
| 1 | 32.768 kHz | Crystal_SMD_Abracon_ABS25 | Y2 |
| 1 | Optical end stop 1 | Molex_Micro-Fit_3.0_43650-0315_1x03_P3.00mm_Vertical | J1 |
| 1 | Optical end stop 2 | Molex_Micro-Fit_3.0_43650-0315_1x03_P3.00mm_Vertical | J2 |
| 1 | 503182-1852 | SD_Molex_5031821852 | J3 |
| 2 | Arduino Connector | PinSocket_1x08_P2.54mm_Vertical | J4, J7 |
| 1 | Arduino Connector | PinSocket_1x06_P2.54mm_Vertical | J5 |
| 1 | Arduino Connector | PinSocket_1x10_P2.54mm_Vertical | J6 |
| 1 | Raspberry Pi | PinSocket_2x20_P2.54mm_Vertical | J8 |
| 1 | Touchscreen power | Molex_Micro-Fit_3.0_43045-0212_2x01_P3.00mm_Vertical | J9 |
| 1 | Alarm Battery (4x AA) | Molex_Micro-Fit_3.0_43650-0415_1x04_P3.00mm_Vertical | J10 |
| 1 | Cable to indicator board | Molex_Micro-Fit_3.0_43650-0815_1x08_P3.00mm_Vertical | J11 |
| 1 | Mates J4 on BeMicro MAX10 | PinSocket_2x20_P2.54mm_Vertical | J12 |
| 1 | Mates J5 on BeMicro MAX10 | PinSocket_2x20_P2.54mm_Vertical | J13 |
| 16 | Pressure sensor daughterboard | PinHeader_1x04_P2.54mm_Vertical_SMD_Pin1Right | J14, J15, J16, J17, J18, J19, J20, J21 +8 |
| 1 | Oxygen sensor | Molex_Micro-Fit_3.0_43650-0315_1x03_P3.00mm_Vertical | J30 |
| 5 | Temperature sensor (NTC) | Molex_Micro-Fit_3.0_43650-0215_1x02_P3.00mm_Vertical | J31, J32, J33, J34, J35 |
| 2 | Solenoid | Molex_Micro-Fit_3.0_43650-0215_1x02_P3.00mm_Vertical | J36, J47 |
| 2 | Limit switch | Molex_Micro-Fit_3.0_43650-0315_1x03_P3.00mm_Vertical | J37, J48 |
| 2 | Stepper Motor Windings | Molex_Micro-Fit_3.0_43650-0415_1x04_P3.00mm_Vertical | J38, J49 |
| 1 | Molex Micro-Fit | Molex_Micro-Fit_3.0_43650-0415_1x04_P3.00mm_Vertical | J39 |
| 4 | Molex Micro-Fit | Molex_Micro-Fit_3.0_43650-0515_1x05_P3.00mm_Vertical | J40, J41, J42, J43 |
| 1 | POWER-ENTRY MegaFit 2x2 | Molex_Mega-Fit_76829-0104_2x02_P5.70mm_Vertical | J44 |
| 1 | BAT-PWR MegaFit 2x1 | Molex_Mega-Fit_76829-0102_2x01_P5.70mm_Vertical | J45 |
| 1 | BAT-BALANCE JST XH 5-pin | JST_XH_B5B-XH-A_1x05_P2.50mm_Vertical | J46 |
| 1 | USB B micro | USB_Micro-B_Molex-105017-0001 | J50 |
| 1 | Backup debug in for cycle controller | PinHeader_1x06_P2.54mm_Vertical | J51 |
| 1 | Debug in for ST-LINK | PinHeader_1x06_P2.54mm_Vertical | J52 |
| 1 | Fan | Molex_Micro-Fit_3.0_43650-0215_1x02_P3.00mm_Vertical | J53 |
| 1 | BLOWER-PWR MegaFit 2x1 | Molex_Mega-Fit_76829-0102_2x01_P5.70mm_Vertical | J54 |
| 1 | CR2016 | BatteryHolder_CR2016_MPD_BLP2016SM-G | BT1 |
| 2 | 2A | Fuse_2920_Bel_fuse | F1, F4 |
| 2 | 10A | Fuseholder_Littelfuse_OMNI-BLOK-154 | F2, F3 |
| 1 | 1.1A 16V | Fuse_1812_4532Metric_Castellated | F5 |
| 1 | FPGAOutline | BEMICRO-MAX10 | H15 |
| 7 | Heatsink_Pad | Heatsink_Aavid_573100D00010G_HandSolder | HS1, HS2, HS3, HS4, HS5, HS6, HS7 |
| 4 | CT-1205H-SMT | CT-1205H-SMT-TR | S1, S2, S3, S4 |
| 1 | User TBD | SW_Push_6x6 | SW1 |
| 1 | Reset CC | SW_Push_6x6 | SW2 |
| 1 | 10k | R_0603_1608Metric | TH1 |
| 22 | TestPoint_Flag | TestPoint_Keystone_5019_Minature | TP39, TP40, TP41, TP42, TP44, TP45, TP46, TP47 +14 |
| 10 | BAT54J | D_SOD-323F | D1, D2, D3, D18, D19, D27, D28, D29 +2 |
| 2 | PDS760 | D_PowerDI-5 | D4, D6 |
| 5 | Green | LED_0805_2012Metric | D5, D7, D17, D32, D41 |
| 1 | 2.0V | D_SOD-123 | D8 |
| 2 | 3.3V | D_SOD-123 | D9, D10 |
| 4 | 1N4448W | D_SOD-123 | D11, D12, D13, D14 |
| 3 | 20V | D_SMC | D15, D26, D30 |
| 2 | ES2B | D_SMA | D16, D31 |
| 12 | Yellow | LED_0805_2012Metric | D20, D21, D22, D23, D24, D25, D35, D36 +4 |
| 1 | Red | LED_0805_2012Metric | D42 |
| 2 | 15uH | L_TDK_SPM12565VT | L1, L2 |
| 1 | SRP1038A-3R3M | L_Bourns_SRP1038 | L3 |
| 1 | 6.8uH | L_TDK_SPM12565VT | L4 |
| 7 | 33uF | CP_Elec_6.3x7.7 | C1, C48, C71, C74, C94, C126, C127 |
| 31 | 10uF | C_1210_3225Metric | C2, C3, C14, C15, C42, C60, C61, C62 +23 |
| 58 | 100nF | C_0603_1608Metric | C4, C8, C9, C16, C20, C21, C26, C32 +50 |
| 18 | 10nF | C_0603_1608Metric | C5, C17, C51, C52, C54, C55, C83, C95 +10 |
| 2 | 4.7nF | C_0603_1608Metric | C6, C18 |
| 6 | 18pF | C_0603_1608Metric | C7, C19, C29, C30, C179, C180 |
| 19 | 1uF | C_0603_1608Metric | C10, C12, C13, C22, C24, C25, C31, C35 +11 |
| 4 | 47uF | C_1210_3225Metric | C11, C23, C187, C188 |
| 2 | TBD | C_0603_1608Metric | C27, C28 |
| 2 | 6.8pF | C_0603_1608Metric | C33, C34 |
| 6 | 68uF | CP_Elec_8x10 | C66, C81, C82, C156, C171, C172 |
| 12 | 220nF | C_0805_2012Metric | C70, C73, C75, C78, C84, C144, C145, C160 +4 |
| 1 | DNP | C_0603_1608Metric | C88 |
| 1 | 1nF | C_0603_1608Metric | C98 |
| 2 | 47nF | C_0603_1608Metric | C99, C109 |
| 6 | 100pF | C_0603_1608Metric | C108, C114, C115, C120, C140, C147 |
| 4 | 470nF | C_0805_2012Metric | C129, C130, C131, C133 |
| 1 | 2.7nF | C_0603_1608Metric | C139 |
| 34 | 1k | R_0603_1608Metric | R1, R2, R3, R4, R5, R6, R7, R8 +26 |
| 20 | 4.7k | R_0603_1608Metric | R9, R18, R19, R41, R87, R88, R142, R143 +12 |
| 20 | 100k | R_0603_1608Metric | R10, R11, R12, R13, R14, R15, R16, R17 +12 |
| 35 | 0 | R_0603_1608Metric | R22, R39, R40, R42, R43, R45, R46, R47 +27 |
| 3 | 316k | R_0603_1608Metric | R23, R30, R175 |
| 9 | 52.3k | R_0603_1608Metric | R24, R27, R31, R34, R69, R114, R171, R208 +1 |
| 3 | 249k | R_0603_1608Metric | R25, R32, R70 |
| 2 | 16.9k | R_0603_1608Metric | R26, R33 |
| 49 | 10k | R_0603_1608Metric | R28, R35, R37, R44, R54, R55, R56, R57 +41 |
| 4 | 2k | R_0603_1608Metric | R29, R36, R64, R99 |
| 5 | 100 | R_0603_1608Metric | R38, R192, R193, R252, R260 |
| 4 | 1M | R_0603_1608Metric | R62, R77, R78, R214 |
| 4 | 442k | R_0603_1608Metric | R67, R163, R166, R169 |
| 1 | 680 | R_0603_1608Metric | R75 |
| 9 | 0 | R_1206_3216Metric | R89, R119, R120, R121, R126, R223, R224, R225 +1 |
| 4 | 1.5k | R_0603_1608Metric | R101, R116, R220, R247 |
| 5 | 220 0.1% | R_0603_1608Metric | R102, R104, R106, R108, R110 |
| 5 | 10k 0.1% | R_0603_1608Metric | R103, R105, R107, R109, R111 |
| 12 | 4.02k | R_0603_1608Metric | R118, R131, R134, R135, R136, R179, R180, R222 +4 |
| 11 | 39k | R_0603_1608Metric | R124, R129, R130, R164, R165, R167, R168, R228 +3 |
| 5 | DNP | R_0603_1608Metric | R159, R161, R242, R244, R259 |
| 4 | 0.005 | R_2512_6332Metric | R173, R188, R194, R211 |
| 4 | 10 | R_0603_1608Metric | R174, R201, R209, R210 |
| 1 | 3M | R_0603_1608Metric | R183 |
| 1 | 30.1k | R_0603_1608Metric | R187 |
| 1 | 2k | R_1206_3216Metric | R190 |
| 4 | 49.9 | R_1206_3216Metric | R196, R197, R198, R199 |
| 1 | 6.49k | R_0603_1608Metric | R206 |
Ventilator Main Board design files
The KiCad project lives in the RespiraWorks/Ventilator repository on GitHub; these links point at the commit this page was built from.
- Layoutpcb/Ventilator.kicad_pcb
Ventilator Main Board: common questions
What microcontroller does the Ventilator Main Board use?
The Ventilator Main Board is built around the STM32L496VGT, from the STM32 family.
How big is the Ventilator Main Board?
The Ventilator Main Board measures 350 × 155 mm, has 4 copper layers and is 1.6 mm thick.
How many components are on the Ventilator Main Board?
646 components, from 126 distinct parts. The full bill of materials is listed on this page.
Where can I download the Ventilator Main Board design files?
From the RespiraWorks/Ventilator repository on GitHub, which has the KiCad layout; the links under Design files point to each one.
Can I use the Ventilator Main Board design in my own project?
Yes, under the terms of its Apache-2.0 license, which RespiraWorks chose for the repository.
Can I test firmware for the Ventilator Main Board without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug STM32 firmware against it before you order a PCB.
More boards in Ventilator
Indicator Board
RespiraWorks
21.5 × 42 mm15 parts4LApache-2.0168Pressure Sensor Daughterboard: MPXV5010DP
RespiraWorks
42 × 25 mm8 parts2LApache-2.0168Pressure Sensor Daughterboard: MPXV5004DP/5010DP
RespiraWorks
42 × 25 mm8 parts2LApache-2.0168Pressure Sensor Daughterboard: MPX5700AP/GP
RespiraWorks
42 × 25 mm8 parts2LApache-2.0168Pressure mpxv5004dp
RespiraWorks
42 × 25 mm8 parts2LApache-2.0168Pressure XGZP6897A
RespiraWorks
42 × 25 mm8 parts2LApache-2.0168Pressure Sensor Daughterboard: MS4525DO
RespiraWorks
42 × 25 mm4 parts2LApache-2.0168
Similar boards
STM32
LumenPnP Motherboard
opulo-inc
149 × 95 mm296 parts4LCC-BY-SA-4.03.7kSTM32
AxxSolder
AxxAxx
39 × 82.5 mm122 parts2LGPL-3.01.7kSTM32
AIOC
skuep
21 × 31.5 mm47 parts2LMIT1.4kSTM32
Ferris
pierrechevalier83
208.8 × 86.8 mm102 parts2LSHL-2.11.3kSTM32
176 pin board
rusefi
61.8 × 73.2 mm76 parts2LGPL-3.01.2kSTM32
Brain board STM32F407
rusefi
61.8 × 73.2 mm69 parts2LGPL-3.01.2k