Arduino firmware for OpenXC Retro Gauge
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
firmware
.gitignore
.gitmodules
AUTHORS
LICENSE
README.mkd

README.mkd

OpenXC Retro Gauge

The Retro Gauge is a mechanical vehicle gauge that displays data received over a serial communication line. One possible use of the gauge is to display vehicle data from the OpenXC platform.

The design intent was to keep the gauge as open and accessible as possible so that the community could contribute and benefit from the design.

For an instructional lab on how to build the gauge, see the Retro Gauge Lab.

For an instructional lab on how to build the gauge, see the Retro Gauge Lab.

Retro Gauge Arduino Firmare

Dependencies

Besides a standard Arduino development environment, the firmware also requires the SwitecX25 library to drive the stepper motor. This library is based on Guy Carpenter's Gaugette project.

Compiling with Arduino IDE

Update the git submodules to pull down the SwitecX25 library:

$ cd retro-gauge-firmware
$ git submodule update --init

After updating the submodules, open the firmware.ino sketch in the Arduion IDE. In the menu, go to Sketch -> Import Library -> Add Library, navigate to the firmware folder and import the SwitecX25 folder.

In the Tools -> Board menu, select the Arduino Pro or Pro Mini (5v 16MHz) w/ ATmega328 option.

Finally, hit upload! You may need to manually select the right serial port if you have more than one device connected.

Compiling with Makefile

Update the git submodules to pull down the SwitecX25 library and the Arduino-Makefile project:

$ cd retro-gauge-firmware
$ git submodule update --init

After updating the submodules, compile the firmware:

$ make

and flash the attached gauge:

$ make upload

The Makefile will attempt to automatically determine the name of the attached port, but you may need to specify it manually with MONITOR_PORT if it doesn't work. For example, if your device shows up as /dev/ttyUSB1:

$ MONITOR_PORT=/dev/ttyUSB1 make upload

Resources

This repository is one of 4 repositories listed below:

Mechanical Enclosure Design - The retro-gauge-enclosure repository contains .STL and STEP files for the 3D printable gauge housing.

Hardware - The retro-gauge-hardware repository contains Eagle schematics and PCB layouts for the gauge's embedded hardware.

Firmware - The retro-gauge-firmware repository contains Arduino source code to run on the Retro Gauge.

Android - The retro-gauge-android repository contains an Android application to control the gauge with vehicle data from the OpenXC platform.

License

The firmware source code is available under the BSD open source license.