It’s not my fault really. Automotive technology has simply evolved to be more….technical.
I guess when we started EVTV I thought we needed to fit into the custom car “guys in garage” motif. After all, we were computer geeks. But I found it interesting in a couple of recent informal surveys of our viewership to learn that almost ALL of them are computer or information technology/networking people as well. Indeed, I would guess at this point that 90% of our viewership is/are/was employed in the computer/internet ecosphere.
We do hear from traditional “car guys” who would like to make the trip to convert to electric drive. And we would like for them to. They profess mechanical ability and fabrication skills, but little in the way of electrical skills. Indeed a lot of the hot rod crowd have somebody else do their basic vehicle lights and horn wiring.
I’m sympathetic. And indeed it is an acquirable skill. When converting a classic, as we so often do, the “electronics” is really pretty basic and indeed you will find the batteries and motor and controller and pedal much easier to work out than the typical light and turn signal circuit (which drive me crazy by the way).
But more modern cars offer a different challenge. And the challenge is not so much to get it to roll, as it is to interface with the vehicle electronics to gain access to all the features that came with the car. And so in the past year or so, really dating back to the Escalade build, we have been more involved in that.
I’m very pleased with the Generalized Electric Vehicle Control Unit. It’s a remarkable device that I think will make most of all of this much easier. But it has its frustrations. We are just now sending out the next flight of 30 units that have been ordered and they are pretty much spoken for. So I have 100 of the 5.2 version in work as I write. I entered FOUR different orders and waited a day or two on each, just to get the right size of the little tiny nylon screws and nuts I needed to properly mount the new ConnectOne wireless board to our GEVCU board. There’s no fun in this at all. At the last minute, I noticed the pinout placard indicated version 4.00. And so those had to be reordered. And so it goes.
Are these major issues? No. But God is in the details. The difference between a confusing mess in a box with no instructions and no clue how to effectively use it, and a useful product you can use as a tool, is usually just a handful of small details. I know I order a lot of things from China and off of eBay. They usually take several weeks to arrive. And too often, I can’t even tell what it is or why I ordered it. And nothing to indicate any of that in the package.
And so an increasing amount of our time and effort goes to small electronic devices to use with your electric car. And less and less is spent on shiny motors and new batteries and the things that make cars go.
I think most of the computer geeks will be pretty sympathetic to that. In fact, I think some will actually get into to it in a pretty big way. After years of very limited interest in “hot rods” and all that implies, suddenly, we have cars they can understand. And cars they can change. And modify. And do computer guy things with.
That’s a new thing.
Speaking of things, in this episode we attempt to chase down an intermittent and fairly catastrophic failure with the electric 1973 Volkswagen Thing that simply leaves us rolling to the curb. But it has been hard to reproduce. I’ve never met a connector I admired, and I think that’s the case here as well.
We basically rewired the GEVCU device entirely into the car. It had been through several prototypes and a few too many pins had been inserted and removed from the main connector. I made a connection diagram for Jesse to use and promised to share in the blog. Here it is.
Accompanying me in this issue is Mr. Damien Maguire of Ireland. He introduces a new BMW 840CI build that should be fascinating to follow. More so as Maguire has built the power electronics to drive the Siemens motor, and indeed developed an Arduino based device to control the automatic transmission as well.
I was very pleased with Paulo Alameida’s contribution last week showing how to drive a Mazda RX-8 instrument cluster with an Arduino Due and a CAN shield. In most of Europe, you’re not even ALLOWED to have a check engine light or other lights showing on your dash panel after you convert to electric. But in any event, ultimately we want all of our dashboard to work correctly. And CAN based instrument clusters actually do lend themselves to this if we can decode the messages used and provide them.
That’s all pretty doable. But not always easy. I think it will be a bit of a puzzle that many of our computer geek viewership will enjoy – if they have the tools.
We’re working on it.
Ed Clausen and Collin Kidder and I collaborated over a year ago on a CAN shield add on for the Arduino Due that would allow you to communicate with a CAN system using inexpensive hardware. Unfortunately, in some sort of communication mangle between Ed and a U.S. based assembly house, we wound up with 100 totally useless CAN shields with the connectors on the board upside down, and no way to plug it IN to an Arduino Due. The connectors have so many pins, it is essentially impossible to desolder and remove them without damaging any of the board lands, and so I have $6000 worth of totally useless CAN boards sitting in a box. Occasionally, I try to recover one and USUALLLY get ONE of the CAN channels working. But they are not salable.
We got off on GEVCU development and as I have described, this has had its own frustrations. But we are gradually winning and we continue to improve and refine with each iteration.
As I said, I’m extremely pleased with the GEVCU. It’s a powerful device with endless flexibility. But I am aware it is a touch expensive at $595. I don’t see a clear path to making that better. Everytime we shave a bit off the cost, we also add something to the mix, and so the costs actually creep up.
In any event, the CAN gestaldt is more about lots of LITTLE processors than one big central one. So I’ve worked hard to “get over it” on the CAN shield. Collin’s DUE_CAN library is actually a marvel and he recently was persuaded to add callback interrupts to it. You can literally act on receipt of a filtered CAN message now. More, you can have a number of acts that are only triggered on DIFFERENT filtered CAN messages now. It’s actually quite startling. But because of our real time OS like tickhandler in GEVCU, it doesn’t come into play. But for other purposes, it is enormously powerful.
So I took the CAN shield to China, and I’m pleased to report it should arrive this week – quantity 50 at least.
This device, which we’ll certainly price under $100, does a couple of things. First, Arduino Due has rather left out any means of persistent storage. If you want to retain some configuration variables or options, there’s really no place to put them so they will be available the next time you power up. It IS probably possible to use the provided flash memory for this, but if you recompile the software to the board, you lose all those. So we’ve added an electrically eraseable programmable memory or EEPROM chip to this add-on board for Arduino Due.
The Due multiprocessor actually has circuitry built into it to control TWO CAN bus channels. But the Arduino guys did not think it sufficiently important to put the necessary transceiver support chips on the Arduino board. Ergo this shield.
CAN networks require an impedance termination on each end – 120 ohms. This is normally provided by a couple of devices on the network, and in tapping in, you usually don’t have to worry about it. But in the event you are using the shield to connect to ONE device for example, we have provided terminations on the board. They are not connected. To connect them, a couple of closely spaced lands are provided. You simply bridge them with a dab of solder to connect them and activate the termination. I might also mention that we provide those on the GEVCU board as well.
We used RJ-45 female connectors on the board to offer easy connections to these two CAN channels. RJ-45 connectors are a small eight pin connector used on CAT5 and CAT6 ethernet networks. They are inexpensive and easy to connect. I’ve provided a diagram showing the pinout and indeed how to wire it up to a J1962 OBDII connector if anyone is interested.
And so with a $35 Arduino Due board, and this inexpensive CAN board, along with Collin’s DUE_CAN library , you can do a lot of damage to a modern automobile.
But wait, there’s more. We are wanting to do quite a bit of reverse engineering of CAN signals here at EVTV. I persuaded Paulo to do a similar board, but with slightly different connections, and most importantly, a microSD card slot.
These little cards are a marvel of the age. They are very fast (30Mbps), of huge storage now with 128GB cards going for a little over $100 (click on card image to go to Amazon). And they are 0.6 x 0.4 inches in size weighing 0.3 ounce. That’s basically about the size of a fingernail holding 128 gigabytes of data at LESS than a buck a gigabyte. Can you spell 1983? Can you REMEMBER 1983? Future rush.
For those of you who CAN’T remember, those were the days where 1 MEGABYTE of hard drive storage went for about $1000 and was eight inches in diameter. Five of them on a spindle gave you 5MB of hard drive for $5000 in a device the size of a portable sewing machine. This little card is over 25 THOUSAND times as much storage, for $106. That $5000 has shrunk to a bit over NINETEEN CENTS ($0.1953 actually).
I suppose you could go the other way and say that the 128GB would have cost $128 million in 1983. Of course it would have also been 1/1000th the speed – and the size of a 3-bay car wash.
So understand I’m a little agog at these little cards. We have them in the GoPro video cameras and I consider it basically UNLIMITED video storage at 1920×1080 and 30 fps. It isn’t I guess. But since the battery runs out before the storage space does, it is for our purposes.
In any event, I wouldn’t advocate a 128GB card in this shield. 2GB would be overkill. They go for $5.25 cents.
So why the memory storage? Kvaser makes a CAN bus device called the Leaf Memorator. It’s over $1000 and lets you record about a gigabyte of CAN traffic. That’s really the only difference between it and the Leaf Lite at $350. Here, with this CAN shield, a $35 Arduino Due board and a $5 microSD card, you actually have TWO CAN channels and can record both – replacing a $1000 device that works almost as well.
This goes quite beyond simply reverse engineering CAN traffic. Our inverters, both the DMOC645 and the UQM Powerphase 100, report inverter temperature, battery voltage, battery current, motor temperature, and of course torque. It would be TRIVIAL, and I mean truly trivial, to write a program to filter for those messages and record that data for all your drives. You could then graph your torque, basically your accelerations and decelerations, plotted against ampere hours or battery voltage for example. That opens the door to a huge horizon of real world battery tests. And if you sprang for a 32 GB card, you could probably record ALL your drives for a year.
This version features some rather different connections. I asked Paulo for a DB-9 connector because it is rather inexpensive for us to add a DB-9 to J1962 Type A connector cable. This allows you to plug easily into the OBDII connector on your car. We’ll include that cable with the shield but here is a diagram of the pinout.
Note that it picks up 12v and chassis ground from the OBDII connector. This is actually routed to the 12vin on the Arduino and so you can power the whole thing from the OBDII.
There are certainly times you DON’T want to use OBDII to connect to a CANbus. He’s included some screw terminals for the 12v power and ground, and the CAN HI and CAN LO signals so you can wire it as you like.
Finally, it also provides the EEPROM chip missing from the Arduino.
There is actually MUCH more to come. In final testing at the Converte labs with Celso and Paulo is the JLD505. This is a modern replacement for our JLD404. This device will do accurate current measurements of your device in ampere hours and kilowatt hours, as well as pack voltage. Like a little mini-bms. But it will report it via THREE different interfaces, USB, Bluetooth wireless, and CAN. It will also have two control outputs so you can control relays based on voltage, current, ampere hours, kilowatt hours, etc. just like the JLD404. But more accurately and CAN enabled. No doubt we can add a function in software so it can trip relays on received CAN messages from other devices.
And finally, Ed Clausen is working on a full metal jacket BMS with temperature monitoring, up to four pack segment voltages, current, and more in a GEVCU like CAN package. No, it won’t top balance your batteries or bleed energy from them so as to have enough to start the fire.
So I see a future, not only of opening up modern cars to reuse their component parts for our builds, but in many cases converting modern cars to do our will electrically. And that is going to involve things like Paulo’s Mazda RX-8 instrument cluster, or Damien’s automatic transmission controller. And I just cannot change the fact that customized and modified automobiles of the future are really going to belong more to computer geeks and nerds than they do to the previous generation of hot rod builders.
But what I can do, and we are committing inordinate time and treasure at EVTV to do now, is try to build tools to make it easier for all to make the attempt and attack the problem. Tools with clear instructions and diagrams so you can actually USE them – even if you are not a EE but do have basic computer geek skills. And we are scribing that mission on all temple walls, tablets, and obelisks throughout the EVTV realm. Easy to use tools to demystify the proprietary CAN control of cars.
For good or ill, that probably means that EVTV is moving toward more technical presentation all the time. I fear this will narrow our viewership further, and leave a few behind.
There’s no help for it. We lost some to lead-acid batteries. We lost some to the incendiary BMS. And we are going to lose a few to the future. Eventually, we may get this down to three guys here at EVTV and six viewers. But they are going to be six really SMART viewers.
Or should I say, SmartED.