
VCU3.0
Obili69/E-GoCart
Vehicle Control Unit (VCU) firmware for an electric go-kart, built on ESP32-S3 with FreeRTOS. Manages motor control, battery management, charging, telemetry, and safety systems over dual CAN buses.

VCU for Lada Niva
VCU2.0 is an open-source printed circuit board by milutintech, from the milutintech/LADA repository on GitHub. It is a 4-layer board of 137.2 × 61.6 mm with 94 parts on 136 nets, routed with 710 tracks and 347 vias.
It is built around the MCP2551-I/SN, CP2102N-A02-GQFN28R and BC817, with the BTS716GB, TPS1HA08CQPWPRQ1 and ADP3338AKC-3.3-RL7 among its other parts. Its parts include 41 resistors, 23 capacitors, 20 ICs, 2 switches and 2 inductors. It belongs with the ESP32 boards of this library.
Open Auto Pro
Digifitz
Orion
https://www.orionbms.com/manuals/pdf/orionbms2_wiring_manual.pdf
- If fewer than 12 cells are populated in a group, unused cell taps must all be connected to the highest potential cell in that group. For example, if 6 cells are populated in a group, taps 6 – 12 all must be connected to the positive tap on cell 6.*
- No cell group may have fewer than 4 cells connected (higher minimums may apply if a cell's minimum voltage is below 2.8v). If a group of cells ends up with fewer than 4 cells, some cells must be skipped in one of the other groups and wired into the group with less than 4 to ensure that a minimum of 4 cells are present.
- Cell Groups must have a minimum normal working voltage of 11 volts (2.8v per cell for 4 cells) and an absolute minimum voltage of 10v. Accuracy of voltage measurements is decreased when the group voltage is below 11 volts.
- If a cell group has 0 cells connected (the group is skipped entirely), all wires from that group may be left disconnected.
The BMS has two primary modes of operation: Charge Mode and Ready Mode. The BMS will enter into Charge Mode any time 12 - 24v is applied to the CHARGE power pin (Main I/O pin 3), regardlessof whether READY power is also present or not.
https://www.orionbms.com/manuals/pdf/orionbms2_operational_manual.pdf
The following functions are enabled (or change) when the BMS is in Charge Mode:
- The charger safety output is allowed to turn on if enabled and if all criteria have been met.
- The BMS will cap the state of charge to the value specified as the "Charged SOC" percentage. Even if the battery is charged in such a way that would normally cause the SOC to rise above this value, the value will not exceed the "Charged SOC parameter" while the BMS is in charge mode.
- When any cell voltage hits the maximum cell voltage (resulting in the BMS turning the charger off), the BMS will immediately adjust the state of charge to the "Charged SOC" value since the BMS knows that the battery pack is fully charged at this time.
- The cell balancing algorithm is enabled and will begin balancing as soon as any cell voltage goes above the "Start Balancing" voltage. Balancing will continue until all cell voltages are balanced to within the balance delta voltage parameter. See the “How Balancing Works” section for more information on cell balancing.
- Certain CANBUS messages may be transmitted or not transmitted depending on whether the BMS is in CHARGE mode or not (if configured).
- The maximum possible current limit for charging is limited to the "Maximum Amperage While Charging" parameter available on the “Charge Limits” profile settings tab.
- The maximum allowable cell voltage is limited to the "Max. Voltage While Charging" parameter available on the “Cell Settings” profile settings tab.
charge
discharge
- Relais 1 Bat arm
- Relais 2 KühlPumpe
- Relais 3 Lüfter
- Relais 4 NLG KL15
- Relais 5 Rückfahrlicht
- Relais 6 DMC KL15
- Relais 7 BSC KL15
- P1/9 RELAY U2
- P2/22 IGNITION
- P3/10 UNLCKCON
- P4/23
- A0/7 Gaspedal
- CAN/25 CAN_H
- CAN/13 CAN_L
![]()
Source: BMS ID 0x1 MSB 00 00 00 00 00 00 00 00 LSB
- BMS_SOC 0%-100% byte 0
- BMS_U_BAT 0V-450V byte 1,2
- BMS_I_BAT 0A-650A byte 3,4
- BMS_MAX_Discharge 0A-650A 5,6
- BMS_MAX_Charge 0A-250A 7
Source: INFO ID 0x3 MSB 00 00 00 00 00 00 00 00 LSB
- MAX_CHG_SOC 0%-100% byte 0
- DMC_TrqRq 0Nm-1100Nm byte 1,2
- NLG_AcCurrLimMax 0A-32A byte 3
- OFFROAD_MODE 0-1 byte 4
| Qty | Value | Footprint | References |
|---|---|---|---|
| 11 | 2.7k | footprint:R0603 | R411, R412, R413, R414, R415, R416, R417, R601, R602, R603, R604 |
| 9 | 100nF | footprint:C0603 | C202, C206, C208, C212, C303, C304, C305, C401, C404 |
| 9 | 10k | footprint:R0603 | R201, R206, R207, R209, R301, R304, R305, R306, R401 |
| 7 | 7.5k | footprint:R0603 | R404, R405, R406, R407, R408, R409, R410 |
| 4 | 210k | footprint:R0603 | R202, R208, R211, R402 |
| 4 | 22uF | footprint:CAP-SMD_L7.3-W4.3-L-FD | C204, C205, C210, C211 |
| 4 | 282815-3 | footprint:CONN-TH_3P-P5.08_TE_282815-3 | U501, U502, U503, U504 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3_DIN965 | H601, H602, H603, H604 |
| 3 | 1uF | footprint:C0805 | C213, C214, C301 |
| 3 | 2.2k | footprint:R0603 | R205, R302, R303 |
| 3 | 30k | footprint:R0603 | R204, R210, R212 |
| 2 | 10pF | footprint:C0603 | C203, C209 |
| 2 | 10uF | footprint:C0805 | C201, C207 |
| 2 | 22pF | footprint:C0603 | C402, C403 |
| 2 | 5.1k | footprint:R0603 | R307, R308 |
| 2 | BC817 | footprint:SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR | U302, U304 |
| 2 | BTS716GB | footprint:SOIC127P1030X265-20N | IC602, IC603 |
| 2 | TPS1HA08CQPWPRQ1 | footprint:SOP65P640X120-17N | IC601, IC604 |
| 2 | TPS564257DRLR | footprint:SOT-563-6_L1.6-W1.2-P0.5-LS1.6-BR | U201, U202 |
| 2 | Tactile | footprint:SW-SMD_4P-L6.0-W6.0-P4.50-LS9.0-2 | SW301, SW302 |
| 1 | 10 | footprint:R0603 | R403 |
| 1 | 22uF | footprint:CAP-SMD_BD4.0-L4.3-W4.3-LS5.1-FD | C302 |
| 1 | 2x3 | footprint:HDR-TH_6P-P2.54-V-M-R2-C3-S2.54-1 | H301 |
| 1 | 3.3uH | footprint:IND-SMD_L7.3-W6.6 | L201 |
| 1 | 4.7uH | footprint:IND-SMD_L3.3-W3.0 | L202 |
| 1 | 43k | footprint:R0603 | R203 |
| 1 | ADP3338AKC-3_3-RL | footprint:SOT-223-3_L6.5-W3.4-P2.30-LS7.0-BR-1 | U203 |
| 1 | ADS1015IDGST | footprint:VSSOP-10_L3.0-W3.0-P0.50-LS4.9-BL | U403 |
| 1 | CP2102N-A02-GQFN28R | footprint:QFN-28_L5.0-W5.0-P0.50-TL-EP3.3 | U303 |
| 1 | D-SUB-DR-25PCM-BB | footprint:DB25-TH_D-SUB-DR-25PCM-BB | U505 |
| 1 | ESP32-S3-WROOM-1(N8R2) | footprint:WIRELM-SMD_ESP32-S3-WROOM-1 | U301 |
| 1 | K3A160002010 | footprint:CRYSTAL-SMD_4P-L3.2-W2.5-BL | X401 |
| 1 | MCP2515-I/ST | footprint:TSSOP-20_L6.5-W4.4-P0.65-LS6.4-BL | U402 |
| 1 | MCP2551-I/SN | footprint:SOIC-8_L4.9-W3.9-P1.27-LS6.0-BL | U401 |
| 1 | YTC-TC16S-24 | footprint:USB-C-SMD_YTC-TC16S-24 | U305 |
It measures 137.2 × 61.6 mm and has 4 copper layers, 1.6 mm thick.
94 parts, built around the MCP2551-I/SN, CP2102N-A02-GQFN28R, BC817 and BTS716GB. 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.
From the milutintech/LADA repository on GitHub, at the commit this page was made from: the board is VCU/Hardware/VCU2.0/VCU2.0.kicad_pcb and its schematic VCU/Hardware/VCU2.0/CAN.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask milutintech before reusing the design.

Obili69/E-GoCart
Vehicle Control Unit (VCU) firmware for an electric go-kart, built on ESP32-S3 with FreeRTOS. Manages motor control, battery management, charging, telemetry, and safety systems over dual CAN buses.


franc0r/universal_can_board
Contains schematic, pcb layout and software of the francor's universal can board.



martinberlin/bistable-smart-switch
An epaper switch project with 2 PCBs, controller+touch, and 220AC to 3DC with Relay (Latch or solid-state)

gorkemguven/ESP32-S3-4Layer-CoreBoard
High-performance 4-layer core board design based on the ESP32-S3 SoC, featuring impedance-controlled USB differential pairs and optimized power distribution.
