This project uses a Teensy 3.1 microcontroller (https://www.pjrc.com/teensy/index.html) to interface with a Megasquirt 3 open source standalone engine controller (http://www.msextra.com/) via CAN bus. Data is both received from the ECU and shown on a display and sent from attached devices back to the ECU.
- The Teensy has an onboard CAN controller, however it needs a transceiver (Ebay, etc).
- Adafruit 128x64 monochrome OLED display connected via SPI.
- Adafruit 3 axis digital accelerometer connected via i2c.
- Adafruit Ultimate GPS breakout connected via serial.
- Adafruit 16 LED Neopixel ring
- Adafruit rotary encoder
- Metro - event scheduling
- Time - onboard clock
- FlexCAN - CAN bus
- Adafruit ADXL345 - accelerometer
- Adafruit sensor lib - required by accelerometer lib
- SSD1306 - OLED display
- Adafruit GFX - required by SSD1306
- TinyGPSPlus - GPS
- FastLED - LED ring
- Encoder - rotary encoder
Passives are 1206 package unless otherwise noted.
- R1 - 10K
- R2 - 120 ohm
- R3 - 10K (only required for headlight sense)
- R4 - 4K (only required for headlight sense)
- C1 - 10uF
- IC1 - SN65HVD230 (or similar) CAN transceiver
- VR1 - Recom R-78 5V switching regulator. 500mA may work but 1A is recommended. LM7805 analog regulator is not recommended due to there being not enough room for a heatsink
- 2.54mm spacing pin headers - various lengths. 15mm for GPS and OLED (OLED may need trimmed). Standard length for everything else. 8 position right angle female for OLED
- 2.54mm spacing 8 position screw terminal for outside connections
- 3 and 4 position mating headers or connectors for encoder and led ring connections