To always be informed about the latest OOBD news & updates (HowTo), join us on
When you are familiar with Vehicle Diagnostics, you know: You have 100 problems, and for each problem you've your own software, an own dedicated hardware and some dedicated hardware drivers to deal with that particular task.
To get out of this hell of tools, the target of OOBD is to provide an open framework as one single program, which is able to handle all kinds of diagnostic problems by having a flexible plug-in interface for all type of requests, visualizations and hardware.
|On Java-ME:||On Android:|
|On Windows (and Linux & Mac1))|
This is realized by not to have hardcoded functionality, but to control the functions by loadable (Lua) scripts.
Building the main menu:
function Start(oldvalue,id) identifyOOBDInterface() setSendID("$7E8") -- set not UDS compatible sender (=answer) address for OOBD firmware openPage("OOBD-ME Main") addElement("Sensor Data >", "createCMD01Menu",">>>",0x1, "") addElement("Snapshot Data >", "createCMD02Menu",">>>",0x1, "") addElement("Dynamic Menu3 >", "createCMD03Menu",">>>",0x1, "") addElement("Trouble Codes", "showdtcs","-",0x1, "") addElement("VIN Number", "vin","-",0x2, "") addElement("Clear Trouble Codes", "clearDTC","-",0x0, "") addElement("System Info >>>", "SysInfo_Menu",">>>",0x1, "") addElement("Greetings", "greet","",0x1, "") pageDone() return oldvalue end
Reading the VIN number:
function vin(oldvalue,id) echoWrite("0902\r\n") udsLen=receive() if udsLen>0 then if udsBuffer==73 then local pos=4 local res="" while pos <= udsLen and pos < 36 do if udsBuffer[pos]>31 then res=res..string.char(udsBuffer[pos]) end pos= pos +1 end return res else return "Error" end else return "NO DATA" end end
OOBD itself stands for Open On Board Diagnostics, where OnBoardDiagnostics stands for the diagnostics connector in each modern car, where OOBD is coming from, but it can also be adapted to all other scenarios, where a request is send by a tester and a system sends an answer back.
We are a small group of mainly automotive engineers who wanted to have some simple and handy equipment for our daily work.
If you like the concept of a flexible, configurable diagnostic software so much as we do, you might want to take the advantage of Open Source and take the base to implement your own ideas, wishes and needs - which is, of course, a good idea
As you certainly know, there are hundreds of diagnostic programs around, solving hundreds single problems, each one for its own. We have set up the OOBD project to generate a generic framework to have just one single program instead which can be adapted to every possible topic.
We are now just worried that you probably like this idea of this all-in-one-design, and you start your own all-in-one project - so that in the end we end up with hundred all-in-one concepts…
So please before you start your own thing, have a thought about to join us. We are wide open to every new idea, and as you see, we are also just at the beginning, but we really would like to end up with just one program for everything.