Arduino Digital Dashboard via Serial Input

Hi guys,

I purchased an arduino a little while ago to start making a digital dashboard for my car. My initial progress can be see here:
arduino.cc/forum/index.php/topic,72862.msg547849.html

The idea was to have a number of inputs into the arduino and then output them to the LCD screen.
However, I have since learned that my wideband controller, the TechEdge 2J2 (the bit that allows me to measure the air-fuel ratio of the running engine) is capable of taking in RPM, speed, AFR and 2 other analogue measurements and then outputting them (typically to a gauge) via an RS232 serial output.

Therefore, instead of having lots of wiring to the arduino etc, I intend to connect all the sensors to the wideband controller and connect this to the arduino via the TX/RX serial, the arduino would then process the data and output it to the LCD screen.

HOWEVER, I have no experience of using serial communication (other than hello world type examples) or data capture/interpretation. I understand the basic concepts, how data is transferred etc, but that is all.

Can you please advise me on some good reading articles/tutorials that will help me get up to speed with how to go about my project. My understanding is that I will have to first retrieve the information from the wideband controller, then extract the relevant bits, interpret them, perform any calculations etc and then write them to the screen.

At the moment I have no idea how this is done, particularly the getting data and extracting the relevant bits. Is there some sort of standard "format" in which the serial data will be recieved or will I have to get in touch with the product manufacturer in order to understand what the serial data means as it comes out of the wideband controller. I am told that the technical support is excellent, so I hope they will be willing to help.

Similar projects are linked below. Whilst they retrieve data from a megasquirt ECU, the concept I believe is exactly the same.

EDIT:
So having done some reading, it would seem that the RS232 stream coming from the wideband will have to go through a MAX232 chip to convert the RS232 to 0V and 5V TTL.

you should plug it into you computer or to a max IC and Arduino to see what/how it outputs data.

EDIT: Sorry.... I was writing my reply as you wrote yours^^^^!!

Hi Guys,

So it turns out that the software with the wideband controller actually has an emulator built in! Ideal, basically it pretends to be the wideband and you can set it to output all the variables you like, for RPM, temp, AFR etc, for the sake of testing/configuring a display. This should be exactly what I need to get this project going, however.... I can't, I'm trying in a vain a bit here!

The idea is this....
Hook the arduino up to the computer, run the emulator, via the data stream in the terminal window and then try to comprehend/understand it!

I wrote a simple sketch for the arduino, just to read the data stream and then print it, in the hope that by trying some different variables and the like, I could work out what was where and translate to get real numbers out:

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  while (Serial.available() == 0);
  Serial.print(Serial.read());  

  
}

However, whilst I do get to view some sort of data when the emulator runs, no translation makes any sense, and just comes up as a load of unknown characters.
This is all just guess work, I'm clearly in way over my head but I'd love to at least get point in the right direction! Is this method even possible? Or do I need to write to the arduino on 1 serial port and write back to the monitor on another? (i.e. get an arduino mega?)

Any help greatly appreciated. The manufacturer website has some excellent info on the software, it's capabilities and the format of the data stream, but it's all a bit over my head to be honest. WButil - Configuration and Utility Software for WBo2 (Tech Edge)

yeah, just see what it ouputs.

I tried that, but when I try and translate it, it just comes up as a load of unrecogniseable characters!

For example, when in "bytes in hex":

06,0F,66,18,F0,98,E0,98,E6,18,F0,F8,78,87,
18,8F,60,0F,06,0F,78,0F,06,0F,06,0F,66,0F,80,18,C3,18,CC,18,CF,18,C3,18,E0,98,E0,98,E6,18,C3,98,
E0,18,F0,18,F0,18,C3,98,E6,18,F0,18,C0,18,C0,18,78,CC,F3,98,E6,18,CF,18,78,04,F3,0C,1E,33,3C,C3,
78,86,78,CC,F0,98,1E,E3,1E,F3,3C,86,78,0C,78,0C,F0,98,E0,98,E6,18,C3,98,E0,18,F0,18,F0,98,E0,18,
C0,98,E0,18,F8,18,C0,18,C0,18,C3,18,CF,18,F0,18,C3,18,C3,98,E0,18,CC,98,E0,98,1E,C3,1E,F3,3C,86,
78,0C,78,0C,F0,98,E0,98,E6,18,C3,98,E0,18,F0,18,F0,18,E3,98,E6,18,F8,18,C0,18,E0,18,C3,18,CC,98,
F8,98,E0,18,CC,98,F8,98,E0,18,C0,98,78,CC,78,0C,78,8C,78,0C,F0,98,E0,98,E6,18,C3,98,E0,18,F8,18,
F0,18,78,CC,F3,0C,F8,18,C0,18,C0,98,E0,98,78,0C,78,CC,F3,18,E0,98,E0,18,C3,98,E0,18,C3,98,E6,18,
CC,98,E0,98,E6,18,F0,18,78,0C,F3,0C,1E,C3,3C,03,78,66,F0,CC,E6,18,C3,98,E0,18,F0,18,F8,18,C3,98,
E6,18,F0,18,E0,18,C0,98,E0,98,78,0C,FC,CC,E0,18,E0,98,78,E6,78,0C,78,86,78,0C,F0,18,78,0C,F0,18,
E0,98,E0,18,F8,18,F8,18,C3,98,E6,18,F0,18,C0,18,C0,98,E0,98,78,0C,F3,98,78,CC,F0,18,E0,98,78,E6,
78,0C,78,86,78,0C,F0,CC,E0,98,E6,18,C3,18,C0,18,E3,98,E6,18,F0,18,E0,18,C0,98,E0,98,E0,98,E0,98,
1E,03,3F,C3,78,66,F0,0C,E0,98,E0,98,1E,78,0F,1E,18,C3,18,78,0C,F0,98,E0,98,E6,18,C3,98,E0,18,F8,
18,F8,18,C3,98,E6,18,F8,18,E0,18,C0,18,C3,18,CC,18,C3,98,F8,18,C0,18,C3,98,E0,18,CC,98,E0,98,1E,
78,0F,1E,0F,18,0F,18,18,E0,98,E0,98,E6,18,C3,98,E0,18,F0,18,F8,18,C3,98,E6,18,F0,18,C0,18,C0,18,
C3,98,E6,18,CC,18,CF,18,C3,98,78,CC,1E,33,3C,06,78,CC,78,CC,78,8C,78,0C,78,0C,F0,98,E0,98,E6,18,
C3,98,E0,18,F8,18,F0,18,C3,98,E6,18,F0,18,C0,18,C0,18,78,0C,1E,80,18,78,0C,78,CC,F0,18,E6,98,E0,
98,1E,78,0F,1E,0F,18,8F,18,0F,00,87,06,0F,66,18,C3,98,E0,18,F0,18,F0,18,C3,98,E6,18,F0,18,C0,18,
C0,18,CF,18,78,CC,F0,18,E6,98,F8,98,E0,18,C0,98,78,0C,78,0C,F3,18,F8,18,C3,18,C0,98,E0,98,E6,18,
C3,98,E0,18,F8,18,F8,18,C3,98,E6,18,F0,18,C0,18,E0,18,CF,18,78,0C,F3,0C,78,CC,F0,18,E0,98,78,CC,
78,0C,78,04,78,04,F0,CC,E0,98,E6,18,C3,98,E0,18,F0,18,F0,18,C3,98,E6,18,F0,18,C0,18,C0,18,CF,18,
78,CC,F0,18,1E,33,1E,33,3C,06,78,CC,78,CC,78,86,78,0C,78,0C,F0,98,E0,98,E6,18,C3,98,E0,18,F0,18,
F0,18,C3,98,E6,18,F0,18,C0,18,C0,98,E0,98,78,CC,F0,0C,E6,98,78,6C,F0,0C,E0,98,78,CC,78,86,78,0C,
78,0E,F0,CC,E0,98,E6,18,C3,98,E0,18,F0,18,F0,18,C3,98,E6,18,F0,18,C0,18,C0,18,CF,18,C3,98,78,CC,
1E,06,0F,7E,0F,78,0F,1E,8F,18,0F,18,18,C0,98,E0,98,E6,18,C3,98,E0,18,F0,18,F0,18,C3,98,E6,18,F0,

is the first lines are running for a couple of seconds.
This apparently translates to:

fð?à?æðøx??`xf?ÃÌÏÃà?à?æÃ?àððÃ?æðÀÀxÌó?æÏxó3<Ãx?xÌð?ãó<?xxð?à?æÃ?àðð?àÀ?àøÀÀÃÏðÃÃ?àÌ?à?Ãó<?xxð?à?æÃ?àððã?æøÀàÃÌ?ø?àÌ?ø?àÀ?xÌxx?xð?à?æÃ?àøðxÌóøÀÀ?à?xxÌóà?àÃ?àÃ?æÌ?à?æðxóÃ<xfðÌæÃ?àðøÃ?æðàÀ?à?xüÌàà?xæxx?xðxðà?àøøÃ?æðÀÀ?à?xó?xÌðà?xæxx?xðÌà?æÃÀã?æðàÀ?à?à?à??Ãxfðà?à?xÃxð?à?æÃ?àøøÃ?æøàÀÃÌÃ?øÀÃ?àÌ?à?xà?à?æÃ?àðøÃ?æðÀÀÃ?æÌÏÃ?xÌ3<xÌxÌx?xxð?à?æÃ?àøðÃ?æðÀÀx?xxÌðæ?à?x???fÃ?àððÃ?æðÀÀÏxÌðæ?ø?àÀ?xxóøÃÀ?à?æÃ?àøøÃ?æðÀàÏxóxÌðà?xÌxxxðÌà?æÃ?àððÃ?æðÀÀÏxÌð33<xÌxÌx?xxð?à?æÃ?àððÃ?æðÀÀ?à?xÌðæ?xlðà?xÌx?xxðÌà?æÃ?àððÃ?æðÀÀÏÃ?xÌ~x?À?à?æÃ?àððÃ?æð

correct baudrate?
you could use something like: Termite: a simple RS232 terminal to monitor directly from windows, which would be easier. can change baud rate etc too.

if you want to use your arduino, why not use:

while (Serial.available())
{
  Serial.print(Serial.read());
}

Serial.available() == 1 would only work if the serial message is 1 byte, you have it as 0, so....

maybe it isnt user readable, and uses hex to communicate? check for repetitions in the received serial data.

Uh huh, both at 9600

EDIT:

This is embarassing, the baud rate was indeed wrong.
I completely misread the baud rate of the wideband, which should have been 19200, not 9600. So now I get numbers out at least :slight_smile: Don't know what any of them mean, but I have numbers at least... that's gotta be a start.

I pasted them into notepad and hit ctrl + f, hoping to find the set RPM value.... it wasn't there though... hmmm

any chance we could see these numbers :slight_smile:

Sure! I'll be truly stunned if you can make anything of them and immensely jealous!
Now I am getting numbers at least, I will think about getting in touch with the manufacture. I wish I'd check the baud rate sooner.... it's now 5am here in the UK!!

1209797139016501051901522515213525115398443255121038119332203019901651105191152251521352511539844325512103811933220301790165210519215225152135251153984432551210381193322030159016531051931522515213525115398443255121038119332203013901654105194152251521352511539844325512103811933220301190165510519515225152135251153984432551210381193322030990165610519615225152135251153984432551210381193322030790165710519715225152135251153984431211133090165198151521325139443210381130391515251393255011322001101051522521325139825512101122039016511105201152252132513983255101193322001652022252131544255210119322002519016513203225515393255210933220016510522553944321011932202479015151525183211122002459010520615155251844138309017151521325139325501122001652081515525183255210933090165192092251552513944138932200901652010521015225152513932138933023516521211152252132513944138933023390165221051515525184432138113220323190165231515213158325521383220016510522551544255011932200901652515213251832111220090165261052161521325183213893302239016527105217152251521352513944255011933090281052251525182551011220321916521915152513944138119322001653022015539313832203215901653110522115225213154425501122039032222152132513984425521112200165331522515539825509322001651051522521325139325501122002071653510515225525183213830901652262252131539441213893320337151521325183138112200901653810522815213515443211130901653910522915225213539313893301654010515152135154413893220090165105151521315831383220309016510523222551544109333191904323315225213158255011220189901654410523415225152132518313811330904515225213154425521113220309016510523615152518255038932203090165471515539441389330181165238155394413893317949152251521325139844310112201779016550105240152135251393211133901652411515539844255011330901655210524215225213154425510119322001715324322551544103893322031699016554244225539441211132200901655524515251394431213832200165901655610524615225152518313811932200165571515251844255210389322039016524822551544121389333159901655910524915213251831210113220157901051521325182552111301559016510515152511544255213832200901656210525215213251825503893220315116510525315213251832111301656410525422515525182552111301656515155251154425509322001651060155153932552111309016567152255251394412111220140901652152135158443213830165106315213158325513893220013690165701064225525182551038932203907151522521315832109322001329016572622552513932552101193220013090106225155394432550389322012890165741061521353982551381193220016575922515539312101193220124901651062252135398255210932203122165111521325182552101132201209016578152132518321383220011879106151553982552109322031169016510614225213154425509339016510615155251393255093220016516152132511584413893311090165831061715225152135158255213811322010890165841815213251825521112200901061922515539310383309016586106202252132518255210119322001028721155394425501122031009016510615152131544255011339010623155154431389339690165901062415225152135251154425509330165106252252131539310119322009016592261521325182552138339093106152251553944255101193338890165941062815515442550383386951061522515251832111330849096301521325183109330165106152251551544255038113390165981063215225152135251831213893309016599332255154425503811330769016510034225213154432551213811933901011515213251393255213811932207290165102106225213153932551213893220309010615152511583210113220309016510622521315442552109333661651063922551582550119336490165106225213251825509336290165107106411522515213525115394410381132200601081064222553932138933589010910643225539441213811220356165110442255393211193309016510615213154425521113052112462252135251394432101122050165471515213251394431093348901651141064815225213153944138933090165115106152251553931389322044901651161065015225213153931038933390117151551544101193322004090165118521551544101132200901651191061525183213811933220090106225213251825521383090121106551515525115825521381133032901651221522521325182552138113303090165123106571522515539844255213893302816558152518441011933390106151552518325501133024901266015251393211193322165106611522521325182550113090165106622255158325510932200901651291066315152135154425521093322016901651301066415225152135394431011932201413165225539325503893322001656622552513984412101122031013315213251394412138933890165134151553932138933690165135106691522515213525139441213811220341651361522551544321381132200216571151525139321389333090165138106152132513983255213893322009016513910673151525115442552101133901651401521325184425521011330165141106225213251393121389322030248165761525139321381193324616510677152132518255011339014478155251398442550932202421451061521325115844325509339010622521352513944255038112202389016514710681152251552518255011933901658215152135154425521093220323414910615213154410933232901651501068415225155393255011302301651062255154413893220228901658615213515844255011339016510615213251158255138309016515410688152251551544138932202221651558915213515398255093309015610615152518321389330901651062251552511582550112202161651581522521352513932111339016515910693152252131544138932202129016094152135153983211133901651619522521352513932111322020890165162106961522515213251825513893332069016510622553944255093220020490165981553944255038932203090165106992255394413811220020090165166106151525182552138331989016516710610115225152135154412138933090106102155394425510112203194165103152252131544255038932203192165104152132518255011301909016517110610515225539321383390165106152252132513984425509322031861651071522521315393211130165106152135158255138309010622515251158443213830901061521351539442551213830901062255153944121383220176901651781061515525139443255093220174901791062251552511582550112200172165180114225152132518321011339016510615225155393255213893331689016518210615213158325501132201669018315213251825501193316490165184106152255393211130165185106152252135251393213833090165186106120152251521325182550112200158901061212251525183213830156188106151521315825509322015490189106151521353932138301521901241515525115394413830901651911251521315394412111309019212615213515844321112200901061522552513932138309016519410612815225152135393213893309016519510612915225152131544255011330901961061302255394412138113220090106131225515443213811330136901651981321553944121381133134901651062255393138933132902001061522515213251825509333130902011352251525115825509333128901652021061361522515539321381133090203137152255154413811322031241652041515251832138301222051061522515251393211130901652061061522515251393211122009016520710614122521325115398321113011690165208142225152511544138932201149016510615225152518313893311290165210106144152255394410932203110165145151525182550933901652121061461522515213158255093310621314722515515441093310490165214106148151552518321112201029016521510614915225152135251393109330100165216150152518255211130901651511515213154413893339690165106152155393211133016521910615152518321112209216515422552518325512138119339010622521315393103811309016522215622521351584431093390223106152252132511539825509322009016522410615815539321093322082902251592252135154413893220308090165226106160152252131544312138119333090106225213154410119330901652281621525182552101193220374901061515251825503893220372901652301061515251825501122009016523110616515225152135251153944101193336890165106225539441211132200901061672252131583210933364234106151553932138322062901652351061691522521315825521119336016510617015155251158321112203581652371712251525115825509335690165106172225152132518255213811322009016517322521315441389339024010622521325139832111220090165175225152132513932552111220489016524217615213515394425509339016524310617715225152135251153984413893220344165244178152518255011933342245106152131544255093220390246180155154413893309016524718115152132518255093220361651821521325139832552138322001651831553982551011933390106152132513932552111932200165106151552513984431383090252152135398321383090106225213525183121119339016525410618815213515844313893390165255106151553982550113220209016501061901522515539441213811932200189011521315393255121389322031621521315825510389332200901653106193152252135153932552109322001654152132518325521381133101651951515525139310383220090165610619615225152135251153984432101122039010615213153944255138933390165198151525184432138932203090106225213251154425512101193309010620015251393138112200901651062012251553983213833252165202151

That's just from a second or two of running the emulator.

I'm trying to use this page that discusses the serial data frame protocol, but not making much sense of it:
http://wbo2.com/sw/logtech.htm

And a screen dump of the emulator page:

the site you linked gives some info about hex stuff in the output, try this in your arduino program: Serial.print(Serial.read(),HEX);

Hmmm, back to unrecognisable characters, question marks and the like

So, from the site I linked above, the default data frame is 28 bytes "long":
http://wbo2.com/sw/logtech.htm

All newer controllers with on-board memory have 1 M byte that can store over 37,440 frames of 28 bytes each (the size of the default data frame)

(mine doesn't have on board memory, but I'm ignoring that for the time being and just concentrating on the 28 bytes to each data frame).

So, my understanding of that then, is that the data stream that gets displayed, then needs to be chopped up into 28 byte-long sections? Is this correct? Each 28 byte section is one frame of data that has been read.

Then, once i have a 28 byte long section, I use this table:

2.0 Data Frame Format

1 - Frame Header byte 1 (0x5A)
2 - Frame Header byte 2 (0xA5)

3 - Frame Sequence counter

4 - Tick [high] (1 tick = 1/100 Second)
5 - Tick [low] byte

6 - ?-16 or Ipx(0), (or ADC) [high] byte
7 - ?-16 or Ipx(0), (or ADC) [low] byte

8 - Ipx(1) [high] (8192=F/A, 4096=Ipx[0])
9 - Ipx(1) [low] byte

10 - User 1 ADC [high] (V1 input)
11 - User 1 ADC [low] byte
12 - User 2 ADC [high] (V2 input)
13 - User 2 ADC [low] byte
14 - User 3 ADC [high] (V3 input)
15 - User 3 ADC [low] byte

16 - Thermocouple 1 ADC [high] (T1 Input)
17 - Thermocouple 1 ADC [low]
18 - Thermocouple 2 ADC [high] (T2 Input)
19 - Thermocouple 2 ADC [low]
20 - Thermocouple 3 ADC [high] (T3 Input)
21 - Thermocouple 3 ADC [low]

22 - Thermistor ADC or Vss count [high]
23 - Thermistor ADC or Vss count [low]

24 - RPM count [high] byte
25 - RPM count [low] bye

26 - Status/Error [high] byte
27 - Status/Error [low] byte

28 - CRC (1's comp. sum of above)

To pick out the information I need?

So, my understanding of that then, is that the data stream that gets displayed, then needs to be chopped up into 28 byte-long sections? Is this correct? Each 28 byte section is one frame of data that has been read.

Looks like. The pair of header bytes in decimal are 90 and 165. I see 90165 repeated in your data above. It might make life easier if you used println or some other separator so you can read the individual values.

You beat me to it :slight_smile:
I've made some good progress now....

Using println, I've got the data to be much more readable and I have now successfully identified and extracted the RPM data.

The problem I can see now is that every so often there is an empty line in the stream when using println, it appears to be a bit random. However, I supposed once the arduino is manipulating the data, i will not be using println, so it shouldn't matter.

Also, after just a few complete frames (seems to be 4 frames), it the number start to jumble and no longer appear in the same order/sequence

Finally- at the start of a run, there are 4 bits of data before the start of the 28 data frame, I guess I will just have to add something into the code to not start until it sees the two frame headers? (They are always 120 97 97 13, it seems)

I'll post some of the numbers up in a second

Using println:
(I put the clear lines in to make it easier to read. The actual monitor output had random clear lines in places)

120
97
97
13

90
165
77
2
236
0
0
0
0
0
0
14
116
0
0
0
0
0
0
0
0
0
0
7
73
3
0
240

90
165
78
2
237
0
0
0
0
0
0
14
116
0
0
0
0
0
0
0
0
0
0
7
73
3
0
238

90
165
79
2
238
0
0
0
0
0
0
14
116
0
0
0
0
0
0
0
0
0
0
7
73
3
0
236

90
165
80
2
239
0
0
0
0
0
0
14
116
0
0
0
0
0
0
0
0
0
0
7
73
3
0
234

90
165
81
2
240
0
0
0
0
116
0
0
73
232
82
0
0
14
0
0
7
0
90
165
242
0
0
0
0
0
0
3
165
243
0
116
0
0
3
90
0
0
14
0
0
0
7
224
90
165
2
0
0
116
0
0
0
73
222
87
0
0
116
0
0
0
90
88
0
0
116
0
0
7
0
165
0
0
0
0
0
73
216
90
0
0
116
0
0
3
90
2
0
0
116
0
0
3
90
0
0
14
0
0
0
73
90
2
0
0
116
0
0
0
165
253
0
116
0
0
0
3
90
165
95
2
0
14
0
0
0
3
90
2
0
14
0
0
0
3
90
3
0
0
116
0
0
3
90
165
0
0
14
0
0
0
73
197
90
165
99
3
0
0
0
0
0
7
0
100
0
0
116
0
0
7
0
165
0
14
0
0
0
3
90
3
0
116
0
0
0
0
90
165
103
3
0
0
0
0
0
7
0
165
0
0
14
0
0
0
3
90
8
0
116
0
0
0
3
90
9
0
0
0
0
3
90
3
0
0
116
0
0
7
0
165
0
0
116
0
0
7
0
109
0
0
14
0
0
0
73
90
165
110
3
0
0
0
0
7
0
90
165
111
3
14
0
14
0
0
0
73
171
112
0
0
116
0
0
7
0
165
16
0
14
0
0
0
7
0
114
0
0
14
0
0
0
3
90
0
0
14
0
0
0
3
90
165
116
3
0
0
0
0
0
73
165
0
0
116
0
0
0
73
159
3
0
0
0
0
7
157
90
165
119
22
0
0
0
0
3
90
3
0
0
0
0
0
3
90
3
0
0
116
0
0
7
151
122
0
0
14
0
0
0
3
90
165
123
3
0
14
0
0
0
3
90
3
0
0
0
0
0
0
165
28
0
14
0
0
0
3
90
165
3
0
116
0
0
0
165
30
0
0
0
0
0
7
0
90
165
3
0
0
0
0
0
73
137
129
0
0
0
0
0
3
90
165
130
3
0
14
0
0
0
0
165
34
0
0
0
0
0
7
0
165
35
0
116
0
0
7
0
165
36
0
14
0
0
0
127
90
134
0
0
0
0
0
7
0
165
38
0
14
0
0
0
3
90
3
0
0
0
0
7
0
165
40
0
0
0
0
73
119
90
165
3
0
0
116
0
0
73
117
90
165
139
3
42
0
14
0
0
0
3
90
3
0
116
0
0
0
3
90
0
0
0
0
0
7
0
165
45
0
116
0
0
7
0
165
46
0
14
0
0
0
7
0
90
165
0
0
116
0
0
0
3
145
0
14
0
0
0
3
90
165
146
0
0
0
0
7
101
147
0
0
116
0
0
0
3
90
51
0
0
0
0
0
7
0
165
52
0
0
0
0
0
3
150
0
0
14
0
0
7
0
90
165
151
3
0
0
0
0
0
73
165
55
0
0
0
0
0
3
90
3
0
0
0
0
7
0
90
3
0
0
0
0
0
3
155
0
0
14
0
0
0
3
90
3
0
0
116
0
0
73
81
90
165
3
0
0
0
0
0
73
79
90
165
158
0
0
0
0
0
73
77
159
0
0
0
0
0
73
75
90
165
3
0
0
0
0
0
0
3
90
64
0
0
0
0
0
0
3
162
0
0
116
0
0
0
73
90
165
163
3
66
0
0
0
0
0
67
164
0
0
14
0
0
0
3
165
0
14
0
0
0
7
0
166
0
0
0
170
170
0
3

http://wbo2.com/sw/logtech.htm

As you can see, the first four frames come out fine, but after that... who knows?
From the first four frames:

#12 & 13 represent a temp reading (high and low byte respectively)
#24 & 25 represent engine RPM.
These figures match what was on the emulator.

Anyone able to help on why after a few frames the data goes crazy?

Is anyone able to help on why a simple

Serial.print(Serial.read());

Results in only four complete and correct data frames and the rest being scrambled and jumbled up?

If anyone has a bit of time and is really really really really bored and willing to help, the software I am using to emulate the outputs of the wideband controller is available at:
http://wbo2.com/sw/util.htm
It's only a 180kb zip folder and the .exe runs from the folder without needing an install. I'd love to know if the data stream comes out correct for anyone else, or if it's just me.

I realise that's a bit of an ask though.... but no harm in being cheeky and asking 'ey!!