Wiki source code of Power controller

Version 14.5 by Mathias Larsen on 2026/08/22 16:20

Hide last authors
Mathias Larsen 14.2 1 == Connector pinout ==
Mathias Larsen 6.2 2
Mathias Larsen 14.2 3 |=(% style="width: 658px;" %)Pin|=(% style="width: 205px;" %) |= |=
Mathias Larsen 14.5 4 |(% style="width:658px" %)1|(% style="width:205px" %)canH| |
5 |(% style="width:658px" %)2|(% style="width:205px" %)CANL| |
6 |(% style="width:658px" %)3|(% style="width:205px" %)FAN 1| |
Mathias Larsen 14.2 7 |(% style="width:658px" %)4|(% style="width:205px" %) | |
8 |(% style="width:658px" %)5|(% style="width:205px" %) | |
9 |(% style="width:658px" %)6|(% style="width:205px" %) | |
10 |(% style="width:658px" %)7|(% style="width:205px" %) | |
11 |(% style="width:658px" %)8|(% style="width:205px" %) | |
12 |(% style="width:658px" %)9|(% style="width:205px" %) | |
13 |(% style="width:658px" %)10|(% style="width:205px" %) | |
14 |(% style="width:658px" %)11|(% style="width:205px" %) | |
15 |(% style="width:658px" %)12|(% style="width:205px" %) | |
16 |(% style="width:658px" %)(((
17 13
18 )))|(% style="width:205px" %) | |
19 |(% style="width:658px" %)14|(% style="width:205px" %) | |
20 |(% style="width:658px" %)15|(% style="width:205px" %) | |
21 |(% style="width:658px" %)16|(% style="width:205px" %) | |
22 |(% style="width:658px" %)17|(% style="width:205px" %) | |
23 |(% style="width:658px" %)18|(% style="width:205px" %) | |
24 |(% style="width:658px" %)19|(% style="width:205px" %) | |
25 |(% style="width:658px" %)20|(% style="width:205px" %) | |
26 |(% style="width:658px" %)21|(% style="width:205px" %) | |
27 |(% style="width:658px" %)22|(% style="width:205px" %) | |
28 |(% style="width:658px" %)23|(% style="width:205px" %) | |
29 |(% style="width:658px" %)24|(% style="width:205px" %) | |
30 |(% style="width:658px" %)25|(% style="width:205px" %) | |
31 |(% style="width:658px" %)26|(% style="width:205px" %) | |
32 |(% style="width:658px" %)27|(% style="width:205px" %) | |
33 |(% style="width:658px" %)28|(% style="width:205px" %) | |
34 |(% style="width:658px" %)29|(% style="width:205px" %) | |
35 |(% style="width:658px" %)30|(% style="width:205px" %) | |
36 |(% style="width:658px" %)31|(% style="width:205px" %) | |
37 |(% style="width:658px" %)32|(% style="width:205px" %) | |
38 |(% style="width:658px" %)33|(% style="width:205px" %) | |
39 |(% style="width:658px" %)34|(% style="width:205px" %) | |
40 |(% style="width:658px" %)35|(% style="width:205px" %) | |
41
42
43
Mathias Larsen 6.2 44 == Microcontroller Pinout ==
45
Mathias Larsen 11.1 46 The power controller uses a microcontroller to control the pumps, fans, buzzer, and brake light. It also features current monitoring and LED indicators. The Microcontroller used in this system is STM32G431CBT6
Mathias Larsen 7.1 47
48
Mathias Larsen 2.4 49 |=Physical pin|=Electrical pin|=(((
50 Description
51 )))
Mathias Larsen 4.2 52 |1|VBAT|Power source from a backup battery if a RTC would be used (Connected to +3V3 in this case)
53 |5|OSC_IN|Clock input (8MHz oscillator)
54 |7|NRST|Negative reset which can be connected to a button (Connected to +3V3)
Mathias Larsen 7.2 55 |8|PA0|Analog signal: Current 6 Supply 24V resserve
56 |9|PA1|Analog signal: Current 7 Supply 24V resserve
57 |10|PA2|Analog signal: Current 5 Supply sensor card
58 |11|PA3|Analog signal: Current 4 Supply front
59 |12|PA4|Analog signal: Current 3 Supply accumulator
60 |13|PA5|Analog signal: Current 2 Supply fans
Mathias Larsen 7.3 61 |14|PA6|Digital output LED 9
62 |15|PA7|Digital output LED 2
63 |16|PB0|Analog signal Current 8 Supply buzzer, brake light
Mathias Larsen 8.1 64 |17|PB1|PWM: enable Fan 1
Mathias Larsen 7.4 65 |18|PB2|Input: V-sense
Mathias Larsen 5.1 66 |19|VSSA|Voltage source: Ground
Mathias Larsen 9.1 67 |20|VREF|Voltage reference (Internal voltage refferance)
Mathias Larsen 5.1 68 |21|VDDA|Voltage source: Power (+3V3)
Mathias Larsen 7.4 69 |22|PB10|Digital output: LED 8
Mathias Larsen 5.1 70 |23|VSS|Voltage source: Ground
71 |24|VDD|Voltage source: Power (+3V3)
Mathias Larsen 7.1 72 |25|PB11|Current 1 Internal components
73 |26|PB12|Current 9 Supply 12 V Pumps inverter and datalogger 
Mathias Larsen 8.1 74 |29|PB15|PWM: enable fan 2
Mathias Larsen 13.1 75 |30|PA8|Digital output Enable buzzeer(On the car it is Brake light)
76 |31|PA9|(((
77 Digital output Enable brake light(On the car it is the buzzer)
78 )))
Mathias Larsen 7.4 79 |32|PA10|Input ASMS signal
Mathias Larsen 12.1 80 |33|PA11|CAN-BUS RXD
81 |34|PA12|CAN-BUS TXD
Mathias Larsen 5.1 82 |35|VSS|Voltage source: Ground
83 |36|VDD|Voltage source: Power (+3V3)
84 |37|PA13|SWDIO
85 |38|PA14|SWCLK
Mathias Larsen 9.2 86 |40|PB3|Digital output: LED 3
87 |41|PB4|Digital output: LED 4
88 |42|PB5|Digital output: LED 5
Mathias Larsen 10.1 89 |43|PB6|Digital output: Enable Pump 1
Mathias Larsen 9.2 90 |44|PB7|Digital output: Enable Pump 2
91 |45|PB8|Digital output: LED 6
Mathias Larsen 5.1 92 |46|PB9|LED 7
93 |47|VSS|Voltage source: Ground
94 |48|VDD|Voltage source: Power (+3V3)
Mathias Larsen 2.1 95
Mathias Larsen 14.1 96 == Features to add ==
97
98 Add mosfets to cut power if the Lv battery is to low to save power