Knowledge Base
Cody Bower

App-Based Haltech CAN Keypad Emulation

OmniCANHaltechElectronics

I've been working on something for a while now and figured I would share where it is at. It is a hardware CAN gateway connected to the vehicles CANbus paired using BLE(Bluetooth Low Energy) with a phone app that emulates a Haltech 3x5 keypad. The attached video shows the current state - button presses on the phone reflect on the ECU near instantly, LED states sync back, and if the connection drops it picks back up where it left off without any fiddling.

I started building this because I couldn’t find anything that properly emulated the LED states. Everything I came across just sent button presses to the ECU without reading the LED feedback, which defeats half the purpose of a keypad. And before anyone points it out, I hate touchscreens in cars too. However, since we all have smartphones with us anyway, I figured why not make use of it.

The main focus has been making it reliable and simple. Near instant auto reconnect when in range, no need to open the app and hit connect every time. Proper state sync so the buttons and LEDs always match what the ECU expects. OTA updates for the gateway firmware.

It is Android and Haltech only at the moment as I built it to solve a problem I had. However if there is a lot of interest it could be setup to handle multiple different ECU manufacturers and have an iOS version of the app.

For those interested in the test setup - desktop PC remoted into a laptop in the car running NSP connected to a Haltech Barra plug-in, with a second remote session into the phone for screen capture. The remote sessions add a small amount of latency, so real world response is quicker than what you see in the video.