This board allows you to interface with your car's OBD-II bus. It provides you a serial interface using the ELM327 command set and supports all major OBD-II standards such as CAN and JBUS. The board also provides a footprint which mates directly to our FTDI Basic. The DB9 connector mates with our DB9 to OBD-II cable listed below.
On-Board Diagnostics, Second Generation (OBD-II) is a set of standards for implementing a computer based system to control emissions from vehicles. It was first introduced in the United States in 1994, and became a requirement on all 1996 and newer US vehicles. Other countries, including Canada, parts of the European Union, Japan, Australia, and Brazil adopted similar legislation. A large portion of the modern vehicle fleet supports OBD-II or one of its regional flavors.
Among other things, OBD-II requires that each compliant vehicle be equipped with a standard diagnostic connector (DLC) and describes a standard way of communicating with the vehicle’s computer, also known as the ECU (Electronic Control Unit). A wealth of information can be obtained by tapping into the OBD bus, including the status of the malfunction indicator light (MIL), diagnostic trouble codes (DTCs), inspection and maintenance (I/M) information, freeze frames, VIN, hundreds of real-time parameters, and more.
STN1110 is an OBD to UART interpreter that can be used to convert messages between any of the OBD-II protocols currently in use, and UART. It is fully compatible with the de facto industry standard ELM327 command set. Based on a 16-bit processor core, the STN1110 offers more features and better performance than any other ELM327 compatible IC.
The links below are for OBD-II software that has not been tested, but should be compatible with the OBD-II UART. You should check with each vendor to make sure they are compatible before purchasing one. (Or ask the vendor for a trial version to make sure it works.)
Firmware updates can be downloaded from Scantool.net here.
If you set the baud rate on the board by saving the baud rate to the onboard memory, and you end up locking yourself out of the board because you don’t have a device that can be set to that baud rate, there’s a simple fix!
Short the RST_NVM to the GND pad right next to it (ya might even wanna solder on some headers for this). Once they are shorted, plug the board into the car, and wait until the RX light starts blinking rapidly.
Once it’s been blinking for a few seconds, disconnect it from the car, UN-SHORT the RST_NVM and GND pads, and try connecting back to the board at either 9600 or 38400 baud.
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Noob - You don't need to reference a datasheet, but you will need to know basic power requirements.
See all skill levels
Based on 12 ratings:
2 of 2 found this helpful:
The board works fine. However, I would not recommend leaving it connected to your car permanently (as I'm doing) in the original state. The board idles at around 82mA at 12V, which is enough to completely drain a typical car battery in about two weeks, if your car, like mine (Honda Jazz/Fit 2008), doesn't switch the OBD-II connector power with the ignition key. I made some modifications to my board to allow the power to be switched while still using the original DB-9 connector, here's what I did: http://imgur.com/a/5EuBz (neither I nor sparkfun is responsible for you damaging your board or car by following these instructions)
In case SparkFun techs read this: 1) It might be a good idea to rework the PCB design to include a header for a power switch with a normally connected solder jumper. Heck, all the interface components are already designed to not disrupt the OBD lines in case of brownout/powerdown if I read the datasheets correctly. 2) Add a polyfuse so people don't accidentally blow their ~10A ECU fuse accross this board. 3) I'm pretty sure you're not actually supposed to just interconnect signal gnd to chassis gnd... Chassis ground should only be connected to pads around the screw holes, if anything. Unless there's cars out there which don't have both grounds connected. 4) The SOT-23 near the voltage regulator is too close to the hole for an M3 washer, as is the 0402 capacitor on the opposite side, even though there's plenty of board space. 5) The image is public domain for all I care if you want to use it.
Thanks for the input, I will make sure that our engineers see it.
1 of 1 found this helpful:
This board does all it's asked to do. I haven't had any problems. The only reason it's not 5 stars is the warnings I have when using the ELM attachment to disconnect the UART when I flash my Photon or the flash operation can inadvertently "brick" the UART. Really? If that's wrong, I'd love it to be refuted - save me some time and trouble.
4 of 4 found this helpful:
This interface works like a charm, it accepts all ELM327 commands with no problems. Interfacing it with the serial port of Arduino it's easy. One of the best products of SparkFun IMHO.
Nice to have: the same card (optionally) without the DB9 connector. I would prefer to solder the wires directly on the PCB. In fact, the connector grabs a lot of vertical space in your enclosure box.
1 of 1 found this helpful:
I ordered a different brand for my Ford Econoline but apparently Ford didn't use the other standard so I ordered this OBD reader and it worked!
0 of 2 found this helpful:
Received SparkFun OBD-II UART, looks fine. Not yet tried - hope it has been factory tested. Fast delivery, great transaction. My first experience with SparkFun and feel not last. Thanks!
I have a FORD model manufactured in 2010 and powered by SIEMENS SID901K ECU.
It can be read by professionals scanners, but not by this IC
I bought it due to this ad "STN1110 is an OBD to UART interpreter that can be used to convert messages between any of the OBD-II protocols currently in use, and UART. It is fully compatible with the de facto industry standard ELM327 command set. Based on a 16-bit processor core, the STN1110 offers more features and better performance than any other ELM327 compatible IC."
Can anyone help me, please?
CAN-bus and OBD-II are not the same thing, even though they use the same-looking plug / diagnostics connector. OBD-II is the data protocol, while CAN-bus is the physical data link protocol. Not all OBD-II cars use CAN-bus. CAN-bus only became mandatory in the US in 2008, while OBD-II became mandatory in 1996. If you have an older car that does not use CAN-bus and try to use a CAN-bus reader with it it's not going to work. But this reader here can do the proprietary manufacturer-specific protocols that were used before 2008, so it will work with the 1996-2008 cars.
0 of 4 found this helpful:
But i not received my product yet, i'm worried about.
Please email customerservice@sparkfun and they should be able to assist you with order tracking.
The board is an amazing piece, and Sparkfun really did amazing work to put it together.
However, the sample arduino code from Sparkfun to be used with the board is WRONG. I had to go extra mile just to be able to read RPM. Also, since the STN1110 support ELM327 AT commands, I had to use the sample codes and libraries from Freematics with the board. I was able to successfully read from Cars that uses CAN and ISO9141 (K-Line) protocols but SAE J1850 VPW did not work with it.
The board is supposed to support all legislated protocols, so I’m surprised J1860 didn’t work. Is there anything I’m getting wrongly?
Please provide any possible support to successful read with SAE J1850 protocols
Sorry to hear you ran into some road blocks here. If you would like to post on the forums we might be able to provide some support for you here: https://forum.sparkfun.com/
Works like charm, easy to hook up
It works for my ISO9141 and KWP2000 cars. European customer.