JavaScript Gauge Cluster

I once had a 1987 Mazda RX-7 that I paid only $700 for. It ran, drove, turned, and stopped, but it did absolutely none of them well. I loved the Wankel rotary engine in that car, and despite a completely worn out suspension, the car felt so perfectly balanced right in the middle of a drift.

The wiring in the car had clearly been tampered with over the years. Being the inexperienced and optimistic guy that I was at the time, I decided to rip all of the factory wiring out with the intention of reworking the entire car. Needless to say, that project never happened, but I did end up learning a lot.

This gauge cluster was the best part of that project, and it was supposed to be the cluster for my never completed RX-7 project. Using an Arduino compatible Teensy microcontroller, I was able to send data from real world inputs to a Node.js server. The server was then able to host a web page and send this data to its JavaScript canvas and display it on gauges in real time.

Mostly, I just like the way it looks, but the project taught me about how to render images on screen strictly through JavaScript, and it was my first experience with pushing data to a web page in real time.

Bluetooth Remote Start

This was a project I had wanted to do for a long time. It’s a Bluetooth remote start box that I built using an Arduino compatible Teensy microcontroller, 4 logic-level relay boards, a Bluetooth serial module, a generic metal case, and a few speaker connections from Radio Shack (RIP).

The remote start was programmed to flick relays in response to serial commands sent from my phone over Bluetooth. I could independently turn on accessory power, start the car, and shut it off. The app I used was BlueTooth Serial Controller, and it allowed me to send full serial strings with a simple button press.

In order to make all of this work in my 1992 Saturn SC2 with a manual transmission, I had to bypass the clutch safety switch, but this had been fine since I was very used to keeping the car in neutral and setting the emergency brake. This worked great until I accidentally left it in gear, and upon hitting the button on my phone, my car drove itself into the window of a local restaurant… Thankfully, the divide between the upper an lower window panes stalled the car, and nobody was hurt. I learned a lot about safety that day, and I immediately removed the box from the car. If I were to do it again, I would need to make sure I had a way of making sure the car was truly in neutral before having the microcontroller blip the starter.