ODB II project - Milton Peraza
Week 1
- Accomplishments
- Researched OBDII protocol and possible methods of creating a software solution
- Problems
- Need hardware to interface OBDII port to target computer running app
- To Do
- Further research for solutions
Week 2
- Accomplishments
- Researched OBDII hardware for use with project
- Decided on using ELM 327 microcontroller for hardware interface
- Researched OBDII open source software
- Decided on using Python with PyOBD library for microcontroller API
- Researched OBDII hardware for use with project
- Problems
- Need to find more information on proprietary codes used by 2003 BMW Z4
- Consumer solutions for BMW vehicles are more expensive and complex than the simple ELM 327 microcontroller. This could mean that the proprietary protocols used by BMW are complex and benefit from hardware. Hopefully we can find some projects that have looked into these protocols in the past.
- Need to find more information on proprietary codes used by 2003 BMW Z4
- To Do
- Order Bluetooth and wired hardware
ELM 327 Microcontroller
The OBDII standard used by modern cars defines several protocols for data transmission. These protocols are not readily understood by a computer via standard serial interfaces. The ELM 327 microcontroller acts as a bridge between the OBDII standard and serial format understood by a PC.
The ELM 327 has been widely used in consumer OBDII readers and DIY projects. As a result, the commands for the microcontroller are well understood and used by several open source projects.
PyOBD Library
The PyOBD open source project offers a Python API for using the ELM 327 through its command protocol. We will use this library for pairing and interfacing with the microcontroller. The application will also be written in Python for simplicity.
The library allows for pairing with ELM 327 solutions via USB or Bluetooth. Once paired there is a programatic way to send commands and read replies from the microcontroller.