A0 Projects

Below are several projects specific to A0. The goal here is to help you get started and get inspired! These are community-developed, open source projects, so we encourage you to get involved.

CAN Reverse engineering using A0 and SavvyCAN πŸ€“

A0 pairs very well with SavvyCAN. We've got a short summary of working with SavvyCAN over here. While this article assumes M2 is the interface, A0 can also act as the bridge between the car and SavvyCAN.

Stay tuned for updates here including detailed instructions for wireless (and wired) car hacking using SavvyCAN and A0!

A0 as a Webserver - a digital dashboard! β²β€‹πŸŽ›β€‹

With the right code, A0 can be a WIFI access point hosting a webpage - not just some boring static website, but a fully dynamic, interactive website where any browser (laptop, tablet, cell phone) can be your digital dashboard!

At the heart of A0 is the powerful ESP32 microcontroller capable of interacting with the car via CAN and be a fully functional WIFI access point at the same time. You connect your phone to the A0 access point, pull up a browser and start interacting with your car.

In this demo, we are displaying Boost pressure in a sweet 2016 Ford Fusion by reading the Intake MAP value via OBD2 commands, subtracting the ambient pressure (hard-coded to whatever it was here in MN during our test) and spitting out websocket messages at 20Hz. We're also demonstrating how to send data to the A0 to toggle an LED via a button press on the phone.

This demo was hacked together starting with this project as a reference:

​https://shawnhymel.com/1882/how-to-create-a-web-server-with-websockets-using-an-esp32-in-arduino/​

The webpage hosted on the ESP32 has a gauge.js instance running and a Bootstrap CSS framework. To add more gauges, we'd need to start using JSON messages (or something similar) to update more than one gauge.

Here is the code we used in this demo:

Next steps:

This demo shows a basic implementation of how to use websockets to display a single gauge on a browser. Next step would be to add more gauges, line graphs, and improve user interface.

Get in touch if you want to help take this project forward!

ELM327 emulation πŸ€–

Why would you want to emulate a ELM327 device? First off, ELM327 is a closed-source black box interpreter chip (a PIC with some firmware) and you'd much rather know exactly what is being sent to and from your car, right?

Another answer is that now you can take advantage of the numerous existing, (semi) working and tested applications out there for every platform. Here are just a few:

Torque Pro (OBD 2 & Car) - Apps on Google Play
See what your car is doing in realtime, get OBD fault codes, car performance, sensor data and more! Torque is a vehicle / car performance / diagnostics tool and scanner that uses an OBD II Bluetooth adapter to connect to your OBD2 engine management / ECU Layout your own dashboard with the widgets / gauges you want! It can use the GPS to provide tracker logs with OBD engine logging so you can see what you were doing at any point in time It can also show and reset a DTC / CEL / fault code like a scantool. Helps you fix your car and helps keep repair costs down! Torque also features: * Dyno / Dynomometer and Horsepower/HP & Torque * Can read Transmission Temperatures (vehicle dependant) * 0-60 speed timings - more accurate than just using plain old GPS - see how fast your car is (or truck ) * CO2 emissions readout * Customisable dashboard & profiles * Video your journey using the Track Recorder plugin with onscreen OBDII data overlay - a black box for your car/truck! * Automatically send GPS tagged tweets directly to twitter (for example if you are going on a road trip) * Massive fault code database for lookup of fault codes from different manufacturers * Theme support (choose from different themes to change the look of your dashboard) * Send logging information to web or email CSV/KML for analysis via excel / openoffice reader * Heads up display / HUD mode for night time driving * Compass (GPS Based) that won't suffer magnetic interference * GPS Speedometer/Tracking and realtime web upload capability - see what you were doing and your engine, at a point in time * Turbo boost feature for vehicles that support MAP and MAF sensors (VW & Golf / Audi / Seat etc supported) * Alarms and warnings (for example if your coolant temperature goes over 120C whilst driving) with voice/speech overlay * Car dock support * Graph data * MPG * Able to share screenshots to Facebook, Twitter, Google+, Email, etc * AIDL API for third party apps, A simple Telnet interface for developers to talk to the adapter, and an OBD scanner. * Works on tablet devices like the Motorola Xoom, Dell Streak, Samsung Galaxy Tab and Nook Works on any vehicle that uses the OBD 2 standard (most vehicles built after 2000, but can work for vehicles as far back as 1996) if in doubt check with your manufacturer first or look for 'OBD2' on written on a big white label in your engine bay Works on vehicles made by Ford, VW, GM/Vauxhall/Opel, Chrysler, Mercedes, Volkswagen, Audi, Jaguar, Citroen, Peugoet, Skoda, Kia, Mazda, Lexus, Subaru, Renault, Mitsubishi, Nissan, Honda, Hyundai, BMW, Toyota, Seat, Dodge, Jeep, Pontiac and many more vehicle makes, European, US, Far East, etc. Some vehicle ECUs may support more/less features than others The app needs a Bluetooth OBD2 adapter to work. The adapter is small and plugs into the diagnostics socket on the car which gives your phone access. You can find a list of adapters on: http://torque-bhp.com/wiki/Bluetooth_Adapters (Garmin EcoRoute HD adapters not supported) If you buy one of the cheap china OBD2 ELM327 bluetooth adapters from ebay / amazon, then make sure you have a good returns policy with the seller Some of the best reliable OBD2 / OBD adapters are the Scantool.net adapter, the OBDKey, and PLX Devices, OBDLink, Bluetooth, ELM327 and other adapters are supported - search on google for them More features added every release - there are forums at http://torque-bhp.com/forums/ - if you want something added then let me know and I'll try to add it if it is possible! Vehicle ECUs vary in the amount of sensors supported *PLEASE NOTE* Any reports of hanging or reboots after quitting the app is due to a bug in HTC devices and Galaxy Tab,this can be triggered by using the Pandora/Vlingo/Other BT apps. Disabling Pandoras new bluetooth settings fixes the problem, but HTC/Samsung need to release a fix.Please contact their support and request a fix,Thanks! Changelog: http://torque-bhp.com/forums/?wpforumaction=viewtopic&t=3.0
play.google.com
A huge list of ELM327 compatible software

This is our work-in-progress code repo. Stay tuned for more updates including setup instructions and tutorials.

AWS integration πŸ•Έ

Put your data in the cloud. We'll be posting more information here about some cloud projects.

Other Projects ideas:

  1. BLE beacon

  2. Bluetooth to phone connection.

  3. more to follow...

​