Macchina A0 OBD-II Development Module

Added to your shopping cart

The A0 in the latest in Macchina's line of OBD-II interfaces. The A0 uses the power of the ESP32 BLE and WiFi module to allow for wireless access to the OBD-II port most modern cars have.

The Macchina A0 module plugs directly into the OBD-II port found in most modern cars and receives its power from the port. From there, one can interface with the device through a few different methods. The easiest is with software such as SavvyCAN, Torque Lite on Android. Besides getting all on board diagnostic information, you're able to control certain aspects of the car and create cool projects such as dash-mounted, shift lights. The A0 can also be programmed in the Arduino IDE, so there's plenty of possibilities to customize the device for what you want to do with your car!

  • Macchina A0
  • Documentation card
  • Macchina sticker
  • ODB-II compatibility with all modern cars (1996 or newer)
  • Pre-loaded with SavvyCAN for plug and play (wireless!) reverse engineering
  • WiFi and Bluetooth® Functionality
  • ESP32 Processor
  • Super bright RGB LED
  • CAN Communication Functionality
  • Programmable with the Arduino IDE

Macchina A0 OBD-II Development Module Product Help and Resources

Getting Started with OBD-II

October 8, 2015

A general guide to the OBD-II protocols used for communication in automotive and industrial applications.

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #1659938 / about 4 months ago / 1

    btw R14 and R15 should be 1k not 10k on the schematic. this is why it doesn't allow code loading sometimes.

  • Member #1659938 / about 4 months ago / 1

    go to this example scroll past it and read the comments for the example code that works.

  • Member #429448 / about 3 years ago / 1

    Has anyone been able to use SavvyCAN (Windows) with the A0? I don't see any traffic.

    • Member #1659938 / about 4 months ago / 1

      yes, I am using it actively. you have to pull pin 21 low to enable the CAN transceiver. pinMode(21, OUTPUT); digitalWrite(21, LOW); I posted comments on the github examples with corrected code. once you get it working it's pretty cool. I had to put holes in the cover to access the reset and added a button between IO0 and ground for programing because some computers/cordes do not toggle the IO0 pin correctly. I think the 10k resistors are too big for some computers/cords.

Customer Reviews

No reviews yet.