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.

Jigsaw Table

Sometimes when you don’t have the right tool for the job, you build it. There are many times I’ve run across situations where I needed to cut aluminum, and while I’ve found that a miter saw with a wood blade was a good option, I wanted something a little safer that I could cut more intricate shapes with. Enter, this little project.

It’s just a super cheap jigsaw attached underneath. I think it was only $16 at Walmart…


The aluminum surface was a scrap piece I had laying around. The legs were pieces to a shelf my parents had cut years ago that never materialized. They were already the same length, so I didn’t have to do much. Just drilled countersunk holes for all the hardware, and used the saw to cut a relief slot for the blade.

And finally, the piece I’m cutting in the first picture is a spacer for the drive gear on the Pints and Pedals cart. That chunk of aluminum is 1 1/4″ thick, and it took FOREVER, but I was able to cut it down and get the new electric drive gear mounted. I hope to be doing a writeup on the Pints and Pedals cart soon. It’s a full electric vehicle conversion and one of the biggest projects I’ve taken on to date.

Touch Table

So, I’ll start this blog off with my high school senior project. Back in 2009, when I was trying to decide what to do, I had initially wanted to build an Android tablet. That was a little too ambitious, and I didn’t get started early enough… The spring of 2010 came, and I really didn’t know what I was doing with my Texas Instruments OMAP 3 development board, so I chose a change of direction. I have to say that I am very happy with the results of this project. It wowed and amazed my classmates, and I had a blast building it.

This touch table works by sensing infrared light with a camera (a modified webcam with a light filter that only allows infrared light to pass through it) positioned in the base of the table facing up. The display is provided from a projector bouncing off of a mirror to get a further throw distance. The software Community Core Vision is able to calibrate touch inputs by sensing bright dots in the camera’s video and making a reference to where they are in relation to the display output.

It was all pretty neat. The original version did not work with touch, but I was able to put some IR LEDs into some gutted highlighters with momentary buttons to make them light up. It was actually really cool to be able to hover over the screen with the pens, but I really wanted to get reflective touch working, and the version in this video has a very bright infrared backlight that my fingers reflect when they come in to contact with the drafting paper surface.

I Think a Blog is the Answer

I’ve been doing way too many projects without documenting them at all, so today I finally decided to start writing this blog. I’m not sure how active I’ll be on here, but my goal is to provide a resource and reference for some of the things I have and will be working on. First, I’ll start by creating an archive of some of the older projects I’ve done, and I think I’ll be moving forward in time, but it may be scattered as I dig up older photos and videos.