Since, and actually before, installing the ECUGN in my car, I have had issues with data. The Buick’s dash is very spartan. I have a speedometer, odometer, trip odometer, tachometer, boost gauge, and an array of idiot lights that cover what could be covered. That means water temp (light comes on at 225 degrees), oil pressure (light comes on at 0 psi), and charging system.
That is everything that was instrumented in the car as shipped. And the ECM didn’t even track the boost pressure, so that gauge was actually useless. I couldn’t log it.
Prior to the ECU GN, I had Bob Bailey’s Powerlogger. It allowed high speed logging of the factory ECM, plus a few extra sensors. I added oil pressure, a 3 bar manifold air pressure (MAP) sensor, and a fuel pressure sensor. This was logging only. The ECM couldn’t see the data and couldn’t react to it, but it was included in the datastream.
A Bob Bailey ScanMaster-G multi-function gauge allowed display of a lot of the data channels, but not the additional pressure gauges. So, it helped, but it wasn’t the solution I was looking for.
A friend of mine had a Race-Technology Dash2 with a CAN connector. I borrowed it and tried it out. I got it connected, but the Dash2 only pulls a few fields from the ECUGN over CAN, and there’s no way to program more fields. Scratch that one.
So what to do? EFIAnalytics sells a product called ShadowDash that runs on a tablet. I tried it on an Amazon Fire HD. The combination worked, but only sort of. GPS didn’t work with this tablet. The Amazon customizations made the tablet slow to boot, and most annoyingly, it wouldn’t stay connected to my ECUGN over wifi. When there’s no internet access on a wifi network, the Amazon tablets disconnect and hunt for another network. This made the wifi connection all but useless.
So, fall back to USB? Right?
Nope. The USB connection was also unreliable. It would work for awhile, but then the software couldn’t see the ECUGN over USB anymore. I’d have to reboot the tablet to get it back. Time consuming and annoying.
So, what to try next? I have a pile of Raspberry Pi 3Bs laying around from an experiment in parallel computing a few years ago. My Tunerstudio software runs the same dashboards as ShadowDash. And TunerStudio, being a Java based app, runs on anything. But will a little Pi have enough horsepower to run this?
Well, yeah. It does.
Power. This device needs to come on when the car is turned on, and safely shut itself down when the car is turned off. AND, if the key is cycled quickly, it needs to stay on and not shut down.
The heart of that is this thing:
This power supply is three amps. It connects to a battery feed and a switched ignition, plus it connects to a couple of GPIO pins on the Pi. A simple script watches the pins. When the car is shut off, one of the pins goes high, and the script watching the pins initiates a graceful shutdown. If the power comes back on before the shutdown is started, the script aborts and the Pi stays up.
The next item is GPS. I’ve been using a Dual XGPS160 puck with stuff for a few years. It was always finicky. It worked great with Harry’s Lap Timer, but ShadowDash and TunerStudio couldn’t get data from it reliably. An Adafruit 10Hz GPS unit with an external antenna solved the compatibility issue, and it runs off the Pi’s USB, so it comes on and off with the Pi. It’s not here as of this writing, so you’ll see the XGPS160 in the video later.
So that’s GPS and Power. Display.
I wanted to try this:
It’s a 10.1″ IPS display from Seeedstudio.com. Brilliant picture. Huge power requirements. It wouldn’t come on reliably and in futzing with it, I eventually destroyed the control board. So it’s trash now.
Falling back to old-reliable, I had a 5″ official Pi touch screen that was part of a Kodi system attached to the stereo on the back porch:
This screen provides 800×480 resolution, mounts directly to the Pi for power and touch, and uses a handy HDMI bridge for the video signal. The Pi itself backpacks on to the rear of the display, enabling a compact installation.
A cheap case from Amazon and the computer was complete. I loaded the newest version of Raspbian on an SD card, booted it, updated all the software, and installed TunerStudio. Some hackery on my RAM tablet mount, and it was installed in the car.
Now, does it work? Yes. Is it fast? No. It takes 38 seconds for the system to boot, start TunerStudio, connect to the car, and start rendering the dash screen. Most of that time is TunerStudio starting and loading the project. The limitation there is my SD card and the Pi’s slow data bus. Even overclocking the SD card, it struggles to get more than ~15MB/s of throughput. A Pi4 or possible somebody else’s more powerful SOC based computer would be a huge help here. The dash framerate was like 0.5 fps when running on the super-high def 10.1″ screen from above (1920×1600). But, with the 5″ screen, once everything’s loaded, it runs fine. The display keeps up with the data, and the touch screen items are responsive.
The touch screen allows for a touch button to start/stop logging. And I’ve set the system up with /home on thumbdrive. So after the device shuts down, I can pull the thumbdrive, plug it into any Linux system with a USB port (because EXT4), and get my data. I can also swipe left and right to access other dashboards.
Also, the device connects to the wi-fi in my garage or my phone’s hotspot, so I can also use that to transfer data off the dash.
So, back to the why? Why go to the trouble of all of this instead of a bespoke dash like the models from AIM and Race-Technology?
Well, cost for one. This setup probably only has $200 worth of hardware in it, not including the RAM mount. Bespoke dashes are a grand or more. Though, for that money you get things. Those devices are more rugged. They’re faster. They come on instantly instead of in 40 seconds. So, there’s a good reason they cost more.
But the other is flexibility. This is a full-fledged carputer setup. With a more powerful system (possibly a Pi 4 in the future, now that I have the software figured out), this could do more. Entertainment? Navigation? With a cellular modem attached via USB, I could live stream the log data back to the mothership.
Next steps are to get through next weekend with it. I have the NSRA Nationals, then a DriveAutoX event on Saturday, and then a Kentucky Region SCCA Time trial on Sunday. If this thing survives that, then we’ll move forward with better packaging.