Within the framework of a Capstone Project, twelve students in mechanical engineering and fifteen students in electrical engineering chose to design and build an urban electric vehicle with active torque vectoring. As there is actually no such thing as a freely available car control architecture which would allow us to test and implements our ideas on an existing vehicle, we designed one. The approach taken favours a highly modular hardware architecture, built around multiple VUE32 boards and a PandaBoard embedded computer. This page covers the VUE32 module.
This project is released under an Open Hardware licence (OSHW).
For additional details, please refer to Projet VUE's official web page: 
- Modified Smart ForTwo
- Active torque vectoring
- 2 independent Enstroj EMRAX motors (info: )
- Water cooled
- 2x 50kW (135hp)
- Piktronik SAC41 Drives (info: )
- 192 EIG F014 LiFePO4 cells for a total of 8.6kWh
- 7x VUE32 on a CAN network
- 1x PandaBoard embedded computer
- 2x LCD displays
Official specifications obtained from our tests.
- Autonomy: 45km
- 0-60kph: 4s
- Top speed: tested up to 75kph (can go up to 110kph)
For additional details and pictures of the car, please refer to Projet VUE's official web page: 
Functionalities and details
- PIC32MX795F512H Microcontroller
- 80MHz, 1.56 DMIPS/MHz, 32-bit MIPS M4K® Core
- 512K Flash, 128K RAM
- USB 2.0, 2 x CAN2.0b
- 8x Digital I/Os, 0-3.3V (protected)
- 4x External 10 bits ADC 0-3.3V (protected, filtered)
- 2x Speed sensor inputs, compatible with standard car's magnetic speed sensors
- 4x 12V 10A power outputs
- 2x 2A motor driver outputs
- 1x I²C
- Onboard sensors: temperature and battery voltage
- Compact design
- 4-layers 95 x 54.25mm PCB
- Custom enclosure
- Open source hardware, Altium files available
- Open source software, based on the NETVProtocolStack
Detailed hardware description
Complete PDF Schematic: PDF
Page by page description:
- p. 1/10: Top sheet
- p. 2/10: 4 channel analog inputs. Details: VUE32_4CH_ANALOG
- p. 3/10: CAN
- p. 4/10: 2A DC Motor driver
- p. 5/10: PIC32
- p. 6/10: Power output. Details: VUE32_PWR_OUT
- p. 7/10: Digital I/Os
- p. 8/10: Speed sensors. Details: VUE32_SPEED
- p. 9/10: Supplies. Details: VUE32_SUPPLIES
- p. 10/10: USB-Serial
- Additional information pages are supplied when the comments on the schematic were not judged complete enough. Feel free to request more information.
- Partial assembly is used to keep the cost at a minimum
- There is only 1 USB connector, even if there is on-board USB and a USB-Serial bridge. The later one was added only as a security (in case we couldn't use the USB stack due to timing considerations). As the onboard USB works flawlessly, the USB-Serial peripheral is not used.
|2D PCB Top view||3D PCB Top view|
|Top Layer: signals||Inner Layer 1: GND plane|
|Inner Layer 2: power planes||Bottom Layer: signals|
- 259 components, 793 pads, 536 via/holes, 94 x 54.25mm
- We used Labo Circuit's Standard specs: 
- The assembly was done on a pick and place, reflow soldering
- 97.7% of the components are on the top layer to reduce the assembly cost (single stencil). The only components on the bottom side are optional jumper resistors (in an easy to solder 0603 package).
A couple simulations were made in LTSpice. The files are in the main archive. Here's an example, the power output:
Custom enclosure, designed especially for the VUE32 board:
3D animation of the first design: 
This design offers the equivalent of an IP31B protection:
- IP31B: Solid particle protection: >2.5 mm (Tools, thick wires, etc.)
- IP31B: Liquid ingress protection: Dripping water (Dripping water (vertically falling drops) shall have no harmful effect.)
- IP31B: Protected against access to hazardous parts with fingers
For all the details: 
This is far from being perfect. It was designed that way to keep costs down and to simplify connector selection. In our car, they are placed in protected areas. The next step would be to pick new connectors and design a sealed enclosure to reach at least an IP64D (or even IP66D) rating. That way, we could place these boards everywhere in the car, not just in protected areas.
An example of what could be used is the TE Connectivity Ampseal series. The 1-776163-1 is 12$, has 35 contacts rated up to 17A each.
Here is a brief list of the automotive peripherals that we use with the VUE32:
Sensors and user input:
- CAN steering wheel position sensor
- Yaw and lateral acceleration sensor (analog)
- Lights lever
- Wipers lever
- Key, Drive/Park/Reverse switch
- Battery current sensor
- Magnetic wheel speed sensors
- Doorlock switches, windows switches
- Pedal position sensors (analog)
- All kinds of lights: low beams, high beams, flashers, ...
- Wipers: arms and washer pump
- Power windows
- Door locks
- Audio amplifier enable
Excellent source of information: Evilution 
Cables and Connectors
|Logic connector:||Logic connector (zoom):|
A spreadsheet with all the wiring information of our Smart is available here: 
Full paper available here: 
Embedded software - PIC32: GitHub VUE32
Final code is in VUE32_2_0.
Does it work?
Of course! We waited a long time before releasing the details to be sure that the boards were thoroughly tested. While v0.1 (our initial design) had some issues, v1.0 is almost perfect.
Here is an extract of our QA sheet, as of December 13th 2012:
An example of what we went through to qualify our power outputs. Notice the size of the power resistor compared to the size of the board!
- Analog inputs: wrong resistor value. Refer to VUE32_4CH_ANALOG.
- Can't do hot power swapping. Refer to VUE32_SUPPLIES.
- CAN resistor: wrong connection, the resistor should be wired between CANH and CANL
Design files and license
This project is licensed as Open Source Hardware. Here is an extract of the definition, according to Sparkfun:
If a device or project has this icon, it means the plans must:
- Contain editable source files
- Allow for modification
- No discrimination against groups [...] or technology [...]
- You are allowed to sell your version. No -NC limitations.
- May require attribution
All the details are available on their website: 
We are not selling this board. This project was purely educational, not for profit. By releasing this design we hope we will help the development of electric cars of all kinds.
Let us know if you use the files and give us credit. That's the least we can ask. Contact: j f d u v a l @at@ a q r a .dot. c a.
All the design files are available here: 
Free Altium Viewer: 
Software / sources
Many good questions and comments were made on Hackaday and by email. In this FAQ, I’ll try to clarify some points:
- Why do you use an electronic board instead of wires for simple stuff (door sensors and lights, turn signal lever, etc.)?
First, it reduces the number and the length of wires. Copper is both heavy and expensive, so there is a real gain in minimizing its use.
Second, we can program more “intelligent” functions (single tap opens the window, auto door lock when you start rolling, turning off the roof light when the door stays open too long, etc.)
- What happens if controller fails and people are locked inside vehicle during accident or car going into deep water?
It’s no different than in any car. We use the manual override.
- Open controller but closed motors?
This page deals only with the VUE32. We are also looking at the possibility of releasing the mechanical plans under an OSHW license. As for the motors, well, we can’t design and build every single component of the car in a couple months, so we had to use some off the shelf parts. The good news is that a new team can now use our VUE32 and focus on designing an OSHW motor!
- Why didn’t you buy ready-made electronics at a scrapyard?
Our plan is not to do an exact replica of a Smart car. We are trying a new control architecture. An open design like the VUE32 allows us to try a lot of functionalities!
“Smart” parts are expensive. It’s cheaper to use wires.
Copper is getting more and more expansive: . If we can regroup a lot of functions on a cheap, polyvalent computer board we can gain a lot.
- Can we use it for conversions? In a different car than a Smart?
Yes. It’s an open design, made to be used with any brand or model or car.
- Is it rugged enough for real-world conditions?
Not yet. Please see the Future and Security sections.
Thanks for the feedback!
Security / Legal
This is only a prototype!
- We are NOT responsible for any problem or accident linked to the use of this board
- Use and modify AT YOUR OWN RISK
Use this design as a reference only. Our car will only be tested in a closed circuit.
Here's a list of improvements and ideas for the next revision:
- Fix the known issues
- The programming connector is too fragile. A better, more rugged part should be used (ex.: Molex Picoblade)
- We broke many wires on the Logic connector (Molex iGrid). A more robust connector could be used.
- Better IP protection (see Enclosure)
- Bigger SMT components (see below)
- Improved protections
Please note that v1.0 is NOT READY for real word usage. Yes, it works well in our Smart. No, it probably won’t sustain years of abuse (thermal cycles, vibrations, humidity). The beauty of OSHW is that you can now improve on this design!
Luky, who’s in the automotive engineering field, contacted me about this design. He did an in-depth analysis of the design and he offered a lot of good ideas for the next generation. Here is a summary of our email exchange:
Luky: You should seriously consider to use a casting compound. Vibrations and water condensation are very serious problems for automotive electronics.
Me: The only reason we are not using any at this time is that we want to be able to work on the boards. I'll look at removable conformal coating to see if we can apply some on the boards (Update 12/12/2012: conformal coating was applied on all our boards. MG 419c ) when they'll be fully tested in the car. Also, this is an academic project. The car will be used only for a couple hours of testing, in controlled conditions.
Luky: Removable compound is "only" a protection against moisture / dirt etc. For a mechanical protection you will need a "hard" or at least a viscous coating. But I'm not an expert on this.
Luky: The first weak point is the THT-electrolyte capacitor. Cracks are inevitable. SMD Elkos are much more stable, an alternative is an axial Electrolyte capacitor.
Luky: About 0402 components: They have a problem with temperature cycles. If the expansion coefficient from the PCB and the component is different, a large amount of mechanical stress will be created and the small components will simply fall down. Not instantly, but after 1-2 years. Using bigger solder pads ("IPC low density") is an additional help. The other problem is that a high voltage (ESD...) simply jumps over a small component if you don't provide an additional Spark Gap.
Luky: I noticed that you are using a FT230XS. This chip has a problem: (3.1.1 USB Data Transfer) 
Me : I'm aware of this, I received the recall email after the design was sent to fab. Anyway, as mentioned on the website, we only use the onboard USB of the PIC32.
Luky: Transient Absorption Zener Diodes are really important, but they are not suitable for overvoltage Protection, they are made for Transient protection. Don't use a 12V TVS in a 12V System (unless the +12V is really stable), 15V or 18V are a good choice. If you need an overvoltage protection you must consider where the Power is going. The currents can be very high! A circuit breaker is usually a better choice.
Me: It’s not shown on the schematic but we have an in-line fuse with each board. Our 12V should be stable as we don’t have an alternator and we are not constantly switching inductive loads. This system will be improved in the next revision.
Luky: If the USB connector is used a ESD-Protection would be a good idea and maybe a common mode choke, considering that you have power Electronic components nearby.
Luky: An old Saying in the Industry is that over 1/3 of the Board is I/O protection...
This project would have been impossible to realise without our generous sponsors. The major ones are: Dassault Systèmes, Enseignement supérieur, Recherche, Science et Technologie Québec, Solaxis, Piktronik, A.M. Midatech, Labo Circuits, Gates and Proto Prototypes. A complete list is available here: 
Authors and Greetings
- Jean-François Duval and Team VUE (full list of members: )
- Special thank you to Dominic Létourneau for his code and support
- Thanks to all our sponsors!
Contact Jean-François Duval for more information, j f d u v a l @at@ a q r a .dot. ca.