Skip to content

EasyRider: Motorcycle Telemetrics Software for the EasyRider PCB (Atmel AVR ATmega1284p microcontroller board)

License

Notifications You must be signed in to change notification settings

stamina/easyrider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasyRider

EasyRider is a motorcycle telemetrics project, developed specifically for my Honda C90 classic bike.

The software is written in C for the Atmel AVR ATmega1284p main microcontroller.

The PCB was created with CadSoft Eagle 6.x, you'll find the schematic and board layout (including all components) in the /eagle directory. The file /doc/info.txt also contains the [BOM] and some project notes. (Partly in Dutch)

UPDATE: EasyRider REV B (github repo: easyriderb) is a completely new, smaller and more advanced board (mostly SMD parts) which also contains a GPS and WiFi module for easy tracking and communicating with a mobile phone app.

Board and Bike

Functionality

EasyRider basically does the following things:

  • Controls the lighting system: indicators, rear light, brake light, etc.
  • Controls the claxon
  • Contains a simple alarm system, based on an accelerometer
  • Reads the motorcycle battery and gives a visual indication of the current voltage
  • Contains a little buzzer for some funny startup sounds
  • Contains a custom serial UART shell for communication with a terminal program or another microcontroller

Software

The sofware is built around a simple State Machine pattern: when the driver is braking or toggling a switch, the software is sending an event, which is handled by the correct event handler based on the current state (a bitmask of multiple substates).

The buzzer music was created with the MIDICSV MIDI to CSV conversion tool. The midi2byte.rb Ruby script converts the plaintext CSV to a C header file containing an array of music notes.

The custom UART shell code is capable of registering commands and command handlers. E.g. typing "help" or "show state" in TeraTerm, Minicom, Putty or any other serial terminal program. (configuration: 19200 baud/8N1)

*[BOM]: Bill Of Materials

About

EasyRider: Motorcycle Telemetrics Software for the EasyRider PCB (Atmel AVR ATmega1284p microcontroller board)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published