Skip to the content
PCBKitNew board
4 layers160 × 90 mmVESC controller, the printed circuit board in 3D

Made open source with KiCAD, an open source EDA tool.

Size
160 × 90 mm
Copper layers
4
Thickness
1.6 mm
Parts
342
Nets
238
Pads
1,013
Tracks, vias
4,385, 698
Pours
13
Routed
Yes
KiCad
KiCad 5 (file 20170922)
Created
24 Jan 2017
Updated
28 Sep 2023

Overview

VESC controller is an open-source printed circuit board by paltatech, from the paltatech/VESC-controller repository on GitHub. It is a 4-layer board of 160 × 90 mm with 342 parts on 238 nets, routed with 4,385 tracks and 698 vias.

It is built around the ISO1050DW, OPA2376AIDR-MS and AD8397AR, with the LM22676QTJ-5.0, LM3488MM and LM2903DT among its other parts. Its parts include 154 resistors, 94 capacitors, 23 diodes, 17 ICs and 7 connectors.

Main components

12

README

README.md

3 phase motor controller for high power systems

This is the hardware repository of a 3 phase inverter brain, UNTESTED but designed with the following specs in mind:

  • Compatible with VESC firmware and software tools
  • Embedded security features (overcurrent protection, pwm overlap elimination, etc)

Alt text Alt text

Microcontroller

The core of the system is a 32 bit ARM Cortex M4 MCU (STM32F405) running ChibiOS RTOS.

Communication interfaces

  • CAN bus for control, configuration and monitoring
  • USB for light usage, firmware upload/upgrade and configuration.
  • UART, I2C and ADCs and GPIOs available

Motor inputs

  • Bus Voltage (differential)
  • Phase current (differential)
  • Phase voltage (differential)
  • Gate driver fault
  • Power_good from gate driver
  • Motor temperature
  • Hall/encoder
  • Resolver

Gate driver outputs

  • PWM high/low
  • dynamic gate drive current (pwm)
  • 24v power

You can also check the layout here

Made open source with KiCAD, an open source EDA tool.

Interface boards

This controller can be interfaced directly to a power stage, or through an interface board. An example of interface board is at adaptor boards/power_integrations_2SP0115T2A/ and looks like this

Alt text

An example of system assembly is also included in this repository

Control board setup

First you need to flash the VESC bootloader. To do so, connect a STLinkv2 to connector J9. In a Linux machine open a terminal and clone the bootloader repository:

  1. git clone git@github.com:vedderb/bldc-bootloader.git
  2. cd bldc-bootloader
  3. make upload <- this will compile and flash the bootloader

Next step is to flash the VESC firmware.

  1. git clone git@github.com:vedderb/bldc.git
  2. Make sure you go to conf_general.h and uncomment the line #define HW_VERSION_PALTA. This will enable all the features especific to this high power control board.
  3. Configure the DEADTIME required for your power switches, look for the line #define HW_DEAD_TIME_VALUE 181 // 1.4usec in hw_palta.h
  4. cd bldc
  5. make upload <- this will compile and flash vesc firmware

Connect the board via USB (conn J4) and launch the latest VESC-tool.

  1. Press the connect button (top right). The status bar should show your PALTA board connected.
  2. Load a sample configuration for this board, you probably need to tune the deadtime compensation field.
  3. Run the motor setup wizard.

System setup

A high power controller would generally need a battery, wiring, contactor, DC link, gate drivers, switches, an interface board, 3 current sensors, a heatsink and a motor. Make sure you have everything you need and you understand all the connections and dangers involved, especially the safety related stuff.

License

This documentation describes Open Hardware and is licensed under the CERN OHL v. 1.2

Parts

342
QtyValueFootprintReferences
4010kIPC7351-Nominal:RESC1608X50R10, R14, R111, R112, R126, R128, R130, R131, R138, R140, R142, R143, R144, R146, R147, R149 +24
38100nFIPC7351-Nominal:CAPC1608X55C1, C3, C10, C11, C12, C13, C15, C18, C19, C20, C21, C22, C24, C25, C27, C30 +22
301kIPC7351-Nominal:RESC1608X50R105, R106, R107, R108, R115, R116, R117, R118, R119, R120, R122, R139, R145, R148, R151, R152 +14
19100RIPC7351-Nominal:RESC1608X50R11, R22, R38, R78, R79, R80, R81, R86, R89, R90, R100, R101, R102, R134, R135, R141 +3
18BAT54Ssmd-semi:SOT-23D1, D2, D3, D4, D5, D6, D7, D10, D11, D12, D13, D14, D18, D19, D21, D22 +2
1222RIPC7351-Nominal:RESC1608X50R20, R21, R44, R45, R58, R59, R71, R72, R73, R103, R104, R123
104.7kIPC7351-Nominal:RESC1608X50R26, R27, R28, R29, R30, R31, R32, R33, R109, R110
72.2uFIPC7351-Nominal:CAPC1608X55C4, C28, C29, C31, C41, C76, C78
7220pFIPC7351-Nominal:CAPC1608X55C55, C56, C59, C60, C63, C64, C93
72kIPC7351-Nominal:RESC1608X50R76, R77, R87, R88, R97, R98, R121
62.2nFIPC7351-Nominal:CAPC1608X55C53, C54, C57, C58, C61, C62
65.6kIPC7351-Nominal:RESC1608X50R4, R5, R34, R35, R50, R51
68.87kIPC7351-Nominal:RESC1608X50R17, R19, R41, R43, R55, R57
6BEAD-220ohm@100khzIPC7351-Nominal:INDC2012X130E1, E2, E3, E4, E5, E6
4100pFIPC7351-Nominal:CAPC1608X55C8, C23, C26, C65
415pFIPC7351-Nominal:CAPC1608X55C17, C33, C79, C80
422kIPC7351-Nominal:RESC1608X50R113, R114, R127, R129
422uFIPC7351-Nominal:CAPC2012X70C48, C50, C88, C89
422uF 10vIPC7351-Nominal:CAPC3216X70C46, C47, C49, C52
44.7uFIPC7351-Nominal:CAPC2012X70C2, C66, C67, C68
4NIIPC7351-Nominal:RESC1608X50R154, R155, R156, R157
4OPA2376AIDRIPC7351-Nominal:SOIC127P600X175-8U3, U12, U14, U16
34.7uF 50vIPC7351-Nominal:CAPC3216X70C69, C70, C71
3GREENsmd-semi:LED-0603DS2, DS4, DS5
3LM2903DTIPC7351-Nominal:SOIC127P600X175-8U4, U10, U17
20RIPC7351-Nominal:RESC1608X50R136, R137
2100kIPC7351-Nominal:RESC1608X50R65, R68
2120pFIPC7351-Nominal:CAPC1608X55C83, C84
215.4kIPC7351-Nominal:RESC1608X50R132, R133
2180nFIPC7351-Nominal:CAPC1608X55C40, C42
21nFIPC7351-Nominal:CAPC1608X55C14, C16
21uF 50vIPC7351-Nominal:CAPC2012X70C39, C43
222uH 5.2Amanuf:BOURNS-SRR1210L1, L3
2270kIPC7351-Nominal:RESC1608X50R66, R69
260.4RIPC7351-Nominal:RESC1608X50R3, R70
268.1kIPC7351-Nominal:RESC1608X50R124, R125
2ABM3B - 8MHzIPC7351-Nominal:OSCCC320X500X150X1, X2
2MBR0540smd-semi:SOD-123D20, D23
2MMSZ52XXBsmd-semi:SOD-123DZ4, DZ5
2SI2302smd-semi:SOT-23Q4, Q5
2SN74ACT08PWRIPC7351-Nominal:SOP65P640X110-14U6, U7
2SS16IPC7351-Nominal:DIOM5326X292D15, D17
11.78kIPC7351-Nominal:RESC1608X50R12
110uF 35vIPC7351-Nominal:CAPC3216X70C5
112Vconn-phoenix:mcv_1,5-2-G-3,81J7
1180kIPC7351-Nominal:RESC1608X50R74
118mOhmIPC7351-Nominal:CAPC1632X76R37
11SMB18CATw_smd_diode:do214aaDZ1
12.2uF 50vIPC7351-Nominal:CAPC3216X70C45
127uHmanuf:BOURNS-SDR1307L2
12N7002PWsmd-semi:SC-70Q2
130BQ100TRIPC7351-Nominal:DIOM7959X265D16
133.2kIPC7351-Nominal:RESC1608X50R13
14.7uF 50v tantIPC7351-Nominal:CAPMP7343X310C6
14v zenerIPC7351-Nominal:DIOM5226X203DZ3
15.7v zenerIPC7351-Nominal:DIOM5226X203DZ2
1680pFIPC7351-Nominal:CAPC2012X70C44
17400-TSSOPIPC7351-Nominal:SOP65P640X110-14U5
1750pFIPC7351-Nominal:CAPC2012X70C7
1ACCELconn-phoenix:mcv_1,5-3-G-3,81J5
1AD2S1205IPC7351-Nominal:QFP80P1200X1200X160-44U15
1AD8397IPC7351-Nominal:SOIC127P600X175-8U19
1AO4805IPC7351-Nominal:SOIC127P600X175-8Q3
1APX809smd-semi:SOT-23U20
1BOOTLOADERpaltatech:SMD-Switch_B3U-1000-BSW1
1BSC340N08manuf:TEXAS-Q5AQ1
1CANBUSw_conn_jst-ph:b4b-ph-klP101
1FAULTsmd-semi:LED-0603DS6
1FUSE 5A SLOWIPC7351-Most:RESC3216X60RT1
1GATE_DRIVER_CONN_Uconn-100mil:CONN-100MIL-M-2x8J1
1GATE_DRIVER_CONN_Vconn-100mil:CONN-100MIL-M-2x8J2
1GATE_DRIVER_CONN_Wconn-100mil:CONN-100MIL-M-2x8J3
1HALL/Encoderconn-phoenix:mcv_1,5-6-G-3,81P1
1ISO1050paltatech:SO8-ISO1050U2
1LM1117IMP-v.vsmd-semi:SOT-223U13
1LM22676QTJ-5.0manuf:TO-263-7-TEXASU9
1LM3488IPC7351-Nominal:SOP65P490X109-8U11
1LOGOpaltatech:PALTA_TECH_SILKS_20mmG***
1LOGOpaltatech:PYMCO_logo_22x15mmG***
1LOGOmech:OSHW-10mmG***

The 325 most common of 342 parts.

Questions

How big is the VESC controller PCB?

It measures 160 × 90 mm and has 4 copper layers, 1.6 mm thick.

What parts does the VESC controller use?

342 parts, built around the ISO1050DW, OPA2376AIDR-MS, AD8397AR and LM22676QTJ-5.0. 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 VESC controller KiCad files?

From the paltatech/VESC-controller repository on GitHub, at the commit this page was made from: the board is pcb_design/VESC-controller.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the VESC controller design in my own project?

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

More from paltatech/VESC-controller

1
  • 2 layers160 × 90 mmPower Integrations interface, the printed circuit board in 3D

    Power Integrations interface

    paltatech/VESC-controller

    Made open source with KiCAD, an open source EDA tool.

    1,126 parts356

Similar boards

  • 2 layers90 × 90 mmMod12003 mod12003, the printed circuit board in 3D

    Mod12003 mod12003

    PCBench/PCBench

    resolution = [0.5, 0.5] pcbfolder = '../PCBs/' pcbnames = ["1Bitsy1bitsy"] iters = 30 env = PCBRoutingEnv(resolution=resolution, pcbfolder=pcbfolder, pcbnames=pcbnames) obs, info = env.reset() for in range(iters): act =…

    452 parts21MIT
  • 2 layers80 × 50 mmSSCosmicRay, the printed circuit board in 3D

    SSCosmicRay

    ethanharstad/SSCosmicRay

    Photodiode cosmic ray detector

    139 parts1
  • 2 layers90.5 × 104.4 mmRP spectroscopy, the printed circuit board in 3D

    RP spectroscopy

    SimoneDamian/RP_Spectroscopy_kicad

    Circuits for the hardware part of the project

    96 parts
  • 6 layers45 × 0 mmBase board, the printed circuit board in 3D

    Base board

    GeniePod/genie-hardware

    GeniePod Home V1 hardware: MVP testing build, wiring, BOM, and planned interface-board/enclosure docs.

    222 parts2CERN-OHL-S-2.0
  • 4 layers48 × 42 mmGimme danger, the printed circuit board in 3D

    Gimme danger

    EDA-bench/eda-bench

    Execution-based benchmark for open-book KiCad PCB reconstruction agents

    113 parts4
  • 2 layers100 × 100 mmCANBuster, the printed circuit board in 3D

    CANBuster

    GBert/misc

    miscellaneous stuff / unsorted

    182 parts99
  • 4 layers143.5 × 14 mmDrChibi, the printed circuit board in 3D

    DrChibi

    joewa/ChibiESC

    Free electric speed controller software using ChibiOS

    284 parts10GPL-3.0