At Hackaday we’re very happy to see the increasing number of open hardware devices that appear everyday on the internet, and we’re also quite thrilled about open-source electric cars. Pictured above is the GEVCU, an open source electric vehicle control unit (or ECU). It is in charge of processing different inputs (throttle position, brake pressure, vehicle sensors) then send the appropriate control commands to electric motor controllers (aka inverters) via CAN bus messages or digital / PWM signals.
The project started back in December 2012 and was originally based on an Arduino Due. Since then, the GEVCU went through several revisions and ultimately a complete custom board was produced, while still keeping the Cortex M3 ATSAM3X8E from the Due. As you may have guessed, the board also includes a Wifi transceiver so users may adjust the ECU parameters via a web based platform. All resources may be downloaded from the official GitHub.
Now I want to see an open source ecu for gasoline and diesel engines.
I think someone actually is working on an open-source variant of megasquirt..
Megasquirt started as a open source project and you can still order the source code directly from their site.
http://www.megamanual.com/index.html
Super cool. Never seen this before.
It’s a bit more complex. The MS code is open as in you can read it, but AFAIK there is no permission to run it on any hardware – only on the official hardware.
it’s called FreeEMS: https://github.com/FreeEMS
Thanks for that link! I was looking for something like this for my jeep but couldn’t find anything.
Related hacks: http://hackaday.com/2014/01/01/building-an-engine-control-unit-with-the-stm32f4/
i cant figure out: is this just an a/d interface, or does this also serve as a controller of some sort (PID, neural net, or fuzzy logic, or something)?
I’m one of the developers on this project.
It takes the place of the ECU in a gas car. It reads the accelerator pedal, optionally a brake transducer or pedal signal, and other things. From this it can control a motor controller to tell it what to do. This is necessary in order to use many motor controllers because they are canbus controlled only. The original intent was to control DMOC645 motor controllers. These were used in Transit Connect Electric vehicles. There was a bankruptcy auction back in 2012 where many of these controllers and the motors they control were sold.
Since then support for other hardware has been added. It can use pot based, hall effect, and canbus throttles and brakes. It can interface with a Brusa motor controller as well. Currently we’re adding OBDII support to it so that it can directly interface with applications like Torque for vehicle monitoring.
What kind of functionality does this have compared to say the Cobb access port? Can it completely replace the ECU in a kit car?
It is a complete ECU for an EV. How hard is that to understand? o_O The Cobb AP is just for remapping and monitoring purpose AFAIK
for gasoline cars
google: FreeEMS
google: rusEfi
I’m a developer on the project.
It is meant as a full ECU replacement. It takes in throttle and brake signals as well as things like system voltage and current and uses this data to control canbus based motor controllers and other hardware.
Right now I’m working on adding direct OBD2 support so that one can use Torque to directly monitor the electric car.
Guys, I work in the automotive industry as an electrical engineer and I must say that yyou have built a solid open source project base, once I get some free-time. I will start contributing what I can on your project.
Thanks for sharing and don’t give up :)
Is anyone can answer me if I understand the http://www.gevcu.org/pics/config2.png picture right?
Based on the graph, if the car is not moving, and the driver presses the throttle pedal gently (pedal possition in “regen” region) the car will go in reverse? :D
I don’t think that’s quite right.
I read it as, if there is no (or very slight) throttle pressure then the motor will actively decelerate (regenerate energy through the motor), if there is about 25% throttle then the motor will just let things spin and it’s only only larger deflections will it provide power. There is no mention of going backwards.
It shouldn’t. Regen only serves to pull power from the motor, not supply it in a backward direction.
Whenever a synchronous induction AC motor is running, there’s an amout of phase slip between the current and the actual angle of the motor. In order to make the motor generate, you have to slip in the opposite direction with the motor leading in phase, which means that you have to power the motor but at a lower frequency than it is turning to keep the phase slipping backwards.
So what happens when you blindly apply regen brake without checking that the motor is turning is that the controller applies a negative frequency to the motor and it does indeed take off in reverse. Worse still, if your controller is dumb as bricks, it will automatically keep going faster and faster.
So the code is from a Prius then?
I see what you did there
Yes, but the controller also has a tachometer (or HALL sensor for BLDC) so it can know at what speed the motor is turning and at what frequency it needs to drive the motor. So as the motor slows with regen it can drop the frequency until it needs to cut out completely.
Every EV out there does regen when you lift the pedal and none of them roll back, in fact most (perhaps all) recent EVs have hill hold – making it impossible to roll back. I don’t see why an open source EV would not do this.
The negative portion is regen only. If you aren’t moving then nothing happens. The car will start to roll forward when you get to the positive portion. If you are currently rolling at 50MPH and you let off of the accelerator you’d regen while in the negative portion of that graph.
so to kill some one all you need do is hack there cars software leaving no physical trace there was any tampering with the system and they will accelerate into a wall at top speed …. cool . I would prefer a little more security than that personally.
No offence, but decoding your message was pretty damn hard.
ROT13 it and it makes more sense.
Why does WiFi imply a “web based platform”?
Good question. Would be cheaper than creating client apps for different mobile platforms though.
Note if you are really interested in car ECM’s start with the GM 7730 ECM. it is the most hacked ECM on the planet with guys that have completely reverse engineered the code.
http://www.tunerpro.net/ is the free software that you use to dig around inside them. Note: you can blow the engine up by dinking around. you need to know what you are doing, which means you need to know math and how to apply it.
Nice for average Arduino programmer, too expensive product though.
gevcu.org is down, can anyone share the schematics of the GEVCU board
https://github.com/collin80/GEVCU