ArticleslgStudy

science

OBDuino

OBDuino is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand OBDuino rather than just read about it. In short: OBDuino is an open source trip computer design based on the Arduino platform. An OBDuino may be assembled and customised by an electronics hobbyist; it displays information such as instantaneous fuel economy (e.g. miles per gallon, L/100 km or kilometres per litre), engine tuning parameters etc. on an LCD.

Key takeaways

  • OBDuino belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect OBDuino to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of OBDuino from memory before moving on to harder problems.

Reference excerpt

OBDuino is an open source trip computer design based on the Arduino platform. An OBDuino may be assembled and customised by an electronics hobbyist; it displays information such as instantaneous fuel economy (e.g. miles per gallon, L/100 km or kilometres per litre), engine tuning parameters etc. on an LCD. OBDuino utilises the On-Board Diagnostics interface found in most modern cars.

Features Most OBD-II PIDs or derived values may be displayed. Common values include Fuel: cost, used or remaining, wasted while idling, consumption, measured in mpg or l/100 km Engine: load, RPM Temperatures: coolant, air intake Vehicle speed Tank distance Remaining distance that can be travelled on the current tank of fuel Throttle position Battery voltage CAN status, for CAN protocol only, display TX and RX error Displays instantaneous values, average, maximum and minimum values calculated per trip, per outing, or per tank of fuel Menu system for configuring parameters Relatively cheap compared to commercial alternatives Customisable and extendable OBDuino does not display or reset engine fault codes (which are available over the OBD interface).

Design The key components of the design are:

A microcontroller. One of the various AVR-based Arduino kits is typically used for this, although one of several Atmel AVR microcontrollers may be used directly in a custom OBDuino circuit. An interface to the car's management system, using the On-Board Diagnostics (OBD) connector found in most modern cars. This requires a cable and a circuit. There are several variations of this circuit depending on the particular OBD protocol implemented: ISO 9141/ISO 9141-2/ISO 14230, using Freescale MCZ33290EF CAN, using MCP2515 and MCP2551 Generic (SAE J1850 PWM & VPW/ISO 9141/ISO 9141-2/ISO 14230/CAN protocols), using an ELM327 from ELM Electronics. Although this gives a more versatile trip computer compatible with most modern vehicles, the ELM327 chip adds significant cost to the circuit and requires a significant supporting circuit for different protocols. It removes the complexity of interpreting the various OBD protocols. STN1110 which is software compatible with the ELM327. Unfortunately, this IC is not pin-compatible with the ELM327, therefore the circuit would require some changes. An LCD and three input buttons. A typical LCD is 2 rows x 16 characters or 4x20 character, based on the HD44780, with a circuit based on the mpguino circuit. Microcontroller code. This is a C++ program based on the Arduino framework, called a Sketch in Arduino terminology. This is loaded on the microcontroller over a USB or serial interface using the free Arduino integrated development environment. Many Arduino-based projects have either custom printed circuit boards available which include the AVR microcontroller (removing the need for an Arduino board), or extension boards that contain the extra circuit and that plug directly into the standard Arduino circuit board. No such PCBs are available for the OBDuino as of September 2009.

Project The OBDuino project was started in 2008 based on the MPGuino project, with the desire to simplify wiring to the vehicle, instead of using the standard OBD-II socket that does not directly wire to the vehicle's fuel injection system and digital vehicle speed sensor, and to access the wide range of engine management data available using OBD. The project is centred on the discussion forum on ecomodder.com and the wiki and code hosting provided by Google code, project is released under the GPL license. The main OBDuino thread on the eccomoder forum was started by jmonroe on 1 June 2008 as a fork of MPGuino discussions. Magister posted an OBDuino announcement to the Arduino forum on 4 December 2008. As of September 2009, the OBDuino32K code credits these developers:

Main coding/ISO/ELM: Frédéric (aka Magister on ecomodder.com) LCD part: Dave (aka dcb on ecomodder.com), optimized by Frédéric ISO Communication Protocol: Russ, Antony, Mike Features: Mike, Antony Bugs & Fixes: Antony, Frédéric, Mike

The 32K in the obduino32K name differentiates the code targeted at the Atmega328 with 32k flash memory (i.e. Arduino 2009) version from the Atmega168 16k (Arduino 2008) version.

Variations An OBDuino variant is described in the book Practical Arduino (2009) by Jonathan Oxer and Hugh Blemings. Based on the Arduino Mega, the OBDuino is extended to log GPS and OBD data to a USB stick. A Graphical OBD MPGuino graphs values such as miles per gallon and OBD-II PIDs, etc., on a 128*64 pixel LCD. OBDuino author Magister is working on a commercial prototype with a CAN-only protocol.

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with OBDuino

Start with the simplest possible case. Write down what OBDuino claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to OBDuino before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about OBDuino ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of OBDuino

In research
OBDuino appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses OBDuino in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
OBDuino is common in secondary-school and first-year university syllabi. It links to neighbouring topics Arduino, Auto parts, Hacker culture, so understanding it makes those chapters shorter.
In everyday life
Look for OBDuino outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “OBDuino” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study OBDuino in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what OBDuino means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain OBDuino out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is OBDuino in simple terms?

OBDuino is an open source trip computer design based on the Arduino platform. An OBDuino may be assembled and customised by an electronics hobbyist; it displays information such as instantaneous fuel economy (e.g. miles per gallon, L/100 km or kilometres per litre), engine tuning parameters etc. on…

Why does OBDuino matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study OBDuino?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on OBDuino.

Tags

  • Arduino
  • Auto parts
  • Hacker culture

Keep exploring