Skip to the content
PCBKitNew board
4 layers114.8 × 45 mmBravaController, the printed circuit board in 3D

A difficult problem we ran into was that when controlling the fan through PWM it made audible noises. At low PWM frequencies the fan would make a variable whoosing sound and at higher frequencies (1000Hz) a whining…

Size
114.8 × 45 mm
Copper layers
4
Thickness
1.6 mm
Parts
45
Nets
74
Pads
202
Tracks, vias
101, 21
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
15 Aug 2026
Updated
16 Aug 2026

Overview

BravaController is an open-source printed circuit board by Estebene, from the Estebene/fiat-brava-function-controller-pcb repository on GitHub. It is a 4-layer board of 114.8 × 45 mm with 45 parts on 74 nets, routed with 101 tracks and 21 vias.

It is built around the 74AHCT125D, AMS1117-3.3 and BTS50010-1TAD, with the ULN2002D, SRD-05VDC-SL-C and IRLZ44N among its other parts. Its parts include 13 resistors, 7 diodes, 6 capacitors, 6 connectors and 5 ICs. It belongs with the STM32 boards of this library.

Main components

6

README

README.md

Center Console Controller For Fiat Brava

Project Overview

My friend has a Fiat Brava and has been working to replace the center console with a giant Tesla style screen. He asked me to help create all of the electronics for this silly revolutionary project. The goal was to design a system so that all of the controls that were previously accessible through the mostly mechanical center console could now be accessed through the screen. Being a software engineer my friend had already developed a system to do this.

Screen hastily attached to the front of a destroyed center console

It involved using a Raspberry Pi running Android OS for the GUI displayed on the screen which connected to another Raspberry Pi running a Debian Linux based OS over websockets. The second Raspberry Pi would control the Car's systems through its GPIO. It was necessary because Android OS does not support the GPIO on the Raspberry Pi. Android OS was required on the first Raspberry Pi as it offered the best touchscreen and USB GPS support.

Initial Prototyping

I thought the electrical design would be best implemented as a PCB with various components. However, before a schematic and PCB is developed it is often wise to do some initial prototyping to figure out the requirements and specifications for the design. Cheap Aliexpress boards such as the IBT-2 and an 8 channel relay board and a Raspberry Pi 4 were used to test all of the functionality of the car. We referred to the car's electrical wiring diagrams available in the manual. ChatGPT was used to develop much of the code as this allowed for rapid prototyping.

Description

A difficult problem we ran into was that when controlling the fan through PWM it made audible noises. At low PWM frequencies the fan would make a variable whoosing sound and at higher frequencies (~1000Hz) a whining sound could be heard. The previous fan controller used selectable position resistor ladder to determine the power to the fan and thus the speed so I became worried that the motor was not suitable for controlling with PWM. We tried placing a capacitor across the fan to smooth out the switched voltage but this did not help. To help diagnose the problem I used an oscilloscope to measure the voltage across the fan, this showed than even though the PWM frequency might be set at 50kHz in software only 1kHz might be generated on the output of the Raspberry Pi. This is because the PWM was implemented in software using function calls to turn the GPIO on and off quickly. Eventually, we found that the PWM frequency can be increased significantly by using the Raspberry Pi's built-in hardware PWM. Implementing this fixed the issue and the fan no longer made unexpected noises.

Electrical Design

Brava High Level Electrical Diagram

Parts

45
QtyValueFootprintReferences
51.1kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR16, R18, R19, R20, R21
5LEDLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD5, D7, D8, D9, D10
410kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR3, R7, R10, R11
4Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ1, J2, J3, J4
4SRD-05VDC-SL-Cfootprints:RELAY_SRD-05VDC-SL-CK1, K2, K3, K4
2100Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR4, R6
2100nCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C7
21uCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC8, C9
2IRLZ44NPackage_TO_SOT_THT:TO-220-3_Horizontal_TabDownQ1, Q2
2Zener (15V)Package_TO_SOT_SMD:SOT-23D3, D4
110nCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC5
1150nCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC4
14Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR14
14.7kResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR15
174AHCT125Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU2
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U1
1BTS50010-1TADPackage_TO_SOT_SMD:TO-263-7_TabPin4U3
1Conn_01x08_SocketEasyEDA:CONN-TH_8P-P5.08_MEGASTAR_ZX-DGRC-5.08-8PJ7
1LOGOLOGOG***
1STM32C071KBTxPackage_QFP:LQFP-32_7x7mm_P0.8mmU8
1TestPoint_2PoleTestPoint:TestPoint_2Pads_Pitch2.54mm_Drill0.8mmTP1
1ULN2002Package_SO:SOIC-16_3.9x9.9mm_P1.27mmU6
1USB4085-GF-A_REVBfootprints:GCT_USB4085-GF-A_REVBJ5

Questions

How big is the BravaController PCB?

It measures 114.8 × 45 mm and has 4 copper layers, 1.6 mm thick.

What parts does the BravaController use?

45 parts, built around the 74AHCT125D, AMS1117-3.3, BTS50010-1TAD and ULN2002D. 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 BravaController KiCad files?

From the Estebene/fiat-brava-function-controller-pcb repository on GitHub, at the commit this page was made from: the board is BravaController/BravaController.kicad_pcb and its schematic BravaController/BravaController.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the BravaController design in my own project?

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

Similar boards

  • 2 layers76.2 × 69.9 mmCutoff, the printed circuit board in 3D

    Cutoff

    charlieh0tel/ham_radio

    AI6KG's amateur radio sundries

    39 parts1
  • 2 layers174 × 202 mmPdmrazora, the printed circuit board in 3D

    Pdmrazora

    quintinbannink42/hellen-pdm-razor

    Hellen-One PDM hardware matching Link Razor PDM 26-pin SuperSeal pinout (mega-mcu144)

    38 parts
  • 4 layers100 × 100 mmSTM32Inverter, the printed circuit board in 3D

    STM32Inverter

    Zychlix/Inverter32

    An open source, open hardware plug'n'play 3 phase motor inverter design. It

    154 parts4
  • 2 layers36 × 54.5 mmSegmentTable, the printed circuit board in 3D

    SegmentTable

    bask185/RosedaleAbbey

    22 parts
  • 2 layers161.9 × 91.4 mmStackboard, the printed circuit board in 3D

    Stackboard

    deathzombee/pingu

    harder drive mirror

    81 parts
  • 2 layers140.4 × 71.7 mmPad, the printed circuit board in 3D

    Pad

    ludovicbontron/neogeo_pad_db15

    Create new PCB to use mini pad neo geo with aes/mvs

    51 parts
  • 2 layers90 × 48.9 mmEsp32 octal wled, the printed circuit board in 3D

    Esp32 octal wled

    klaus-liebler/esp32_octal_wled

    79 partsMIT
  • 2 layers201.3 × 152.1 mmDC DC CONVERTER, the printed circuit board in 3D

    DC DC CONVERTER

    William-Souza-Santos/ADAPTIVE_FUZZY_LOGIC_CONTROL_FOUR_SWITCH_BIDIRECTIONAL_BUCK_BOOST_DC_DC_CONVERTER

    Final Year Project by Electronic Engineering

    95 parts6