Introduction: Carduino

1. Description of the project

There are lots of information which characterise a car: the revolution of the engine per minute, the velocity, its position and other general information. It could be interesting to recover that data from a car. That is the goal of our project. There are multiple applications. These applications are for a personal or a professional use:

  • For example, the position can be used to catch thieves.

  • The acquisition of the velocity can be used in a race.

  • The assembly can also be used for preventive maintenance. General information about the state of the motor can be recuperated with the help of the canbus module.

  • It can also send you a SMS to help you to find your car or to inform you when there is a problem (broken glass by example)

All of the data are then stored in a SQL database

Step 1: Bill of Materials

Total cost: 113 €

Required tools:

The Arduino MEGA is the main component of our project. It receives the data and converts it.

The SIM module communicates with the user. It can communicate by the GPRS/GSM network or by Bluetooth. It receives the data from the Arduino MEGA and sends it to the user. It determines the position with a GPS antenna.

The can bus shield collects the data from the car by the OBD-II to DB9 cable and transmits it to the Arduino MEGA.

The DC-DC step down adjustable module converts the 12 V of the car battery to 5 V. It absorbs the peak of voltage from the battery of the car. It protects the electronic circuit.

The OBD-II to DB9 cable is used to connect the project to the car.

Step 2: Assembly of the Power Supply

1. Cut the end of Cigarette lighter plug

2. Solder the 4 wires on the DC-DC Step Down adjustable Module

Step 3: Assembly of the Arduino MEGA 2560 and the CAN-BUS Shield With the Micro SD Card Step 1

Put the micro SD card into the CAN-BUS shield and connect the OBD-II to DB9 Cable

Step 4: Assembly of the Arduino MEGA 2560 and the CAN-BUS Shield With the Micro SD Card Step 2

Plug the CAN-BUS shield on the Arduino MEGA

Step 5: The Assembly of SIM Module 808

  1. Connect the four antennas (Bluetooth, GSM and GPS). You get also one spare antenna.
  2. Insert the SIM card into the SIM module 808
  3. Plug the SIM module 808 on the CAN-BUS shield

Step 6: Power Supply of the Assembly and Connection on the Car

  1. Power the assembly, plug in the cigarette lighter plug and connect the other part to the assembly.
  2. Connect the assembly on the car with the OBD-II to DB9 Cable

Step 7: The Software

If you're new to Arduino it will help to first familiarise yourself with using it by reading: Arduino -Getting Started

As we said it in the « Material » chapter, we used an Arduino Mega in this project. The storage capacity in the Arduino UNO is not sufficient so you cannot use it. To program these microcontrollers, you need to download the Arduino integrated development environment.

Make sure you have the latest version of the Arduino IDE installed (version 1.6.5 as of the time of this guide writing).

You can follow the steps in the following link to install it easily (Windows).

“The Arduino Integrated Development Environment contains a text editor for writing code, a message area, a text console, a toolbar with buttons for common functions and a series of menus. It connects to the Arduino and Genuino hardware to upload programs and communicate with them.” If you never used it before, you can go to this website to learn the basics.

For the SIM808 shield load these libraries:

For the CANBUS shield, use the Canbuss library you will find as an attachment below but also:

  • SPI library
  • SD library

You will find the sketch on GitHub

At the top of the sketch are #define values which configure how the code will behave. There are a few values you will need to change:

  • FONA_APN : Set this to the APN that your cellular network provider requires for accessing their data network. With a Ting SIM card in the US the value "wholesale" is what you want, but for other providers you might need to contact their support to get the value.
  • FONA_USERNAME & FONA_PASSWORD : If your cellular network provider requires a username and password to access their data network then put those values here. If they aren't required then just leave the default blank values.
  • AIO_USERNAME : This needs to be set to your Adafruit account username, which you can find at under the Username field.
  • AIO_KEY : This needs to be set to your Adafruit IO key, which you can find from the Adafruit IO settings page for your account at by clicking View AIO Keys.

The other configuration values don't necessarily need to be changed, but it's a good idea to skim them to see what they do.