05/06 ZX636 ZX6R speedo upgrade
A while ago there was a big discussion on how to fit a P7 style ZX6 speedo onto an older model bike (typically the 05/06 C1H model).
The main reason for doing this was to have the nice white dial easily readable clocks instead of the quite trick but less clear LCD type.
Well the long and short of it was that you could replace the speedo (indeed the mounting bolts are exactly the same for both models) so long as you made up an adapter (because the speedo used a different connector on the new model). However you had to put up with an annoying flashing warning light caused by no ECU communication to the clocks. The only solution at the time was to tape over the light, but then you wouldn't have the benefit of any real warnings.
At long last I've got around to reverse engineering the communication signal between a P7 ECU and a P7 speedo. The idea is we fit a little micro chip circuit to fool the new speedo and make it all work perfectly on an 05 ZX636. In fact, not only does the warning light behave, but we can also make the gear indicator work properly (ie make a TRE type gadget) too.
I don't expect this to be much use to most folks, but I wanted to put the info into the public domain as its apparently not known. You would need to be an electronics engineer to make use of this stuff.
OK, here we go with part1. The signals:
The speedo ECU comms line has a built in pull-up resistor to 10v so to inject a signal we need an open collector drive.
The comms line is normally HI (9.8v or so)
Data is sent in three packets at 10ms period between the start of each data byte.
The data signal is repeated at a period of 80ms (or roughly 60ms from the end of one packet to the start of the next).
If the data is interrupted, then after a few seconds the speedo will report a FI error and do the flashy red light (LED) thing, so we need to keep the data packets going continuously.
The data starts only when the ignition is turned on.
The three packets of data are all serial 8 bits plus one start bit (lo). The period of each bit is 64us.
(The following data is written as if it were a timing diagram)
1st gear ...10100000001..(10ms)..10000000001..(10ms)..10100 000001..(60ms)..
2nd gear ...10010000001..(10ms)..10000000001..(10ms)..10010 000001..(60ms)..
3rd gear ...10110000001..(10ms)..10000000001..(10ms)..10110 000001..(60ms)..
4th gear ...10001000001..(10ms)..10000000001..(10ms)..10001 000001..(60ms)..
5th gear ...10101000001..(10ms)..10000000001..(10ms)..10101 000001..(60ms)..
6th gear ...10011000001..(10ms)..10000000001..(10ms)..10011 000001..(60ms)..
So for 1st gear, if we monitor the speedo to ECU signal line (on a P7 speedo to P7 ECU of course) then we see the signal go to 0v for 64us then 9.8v for 64us then 0v for 448us then back to 9.8v
There is then a gap of 10ms (less 576us) to the middle packet which is a null frame: 0v for 576us
After another gap of 10ms (less 576us) the first data byte is repeated.
The data line is then inactive (still at 9.8v) for around 60ms until the whole thing is repeated.
(In the data sequence shown, dots represent where the data line is at a steady 9.8v level)
The speedo uses these data packets to continually verify the comms to the ECU, but of course these also represent what gear we are in.
So long as any of these 3 byte data packets are being sent then the FI/red LED will not be activated due to comms fail.
If the bike is in neutral then no gear is shown on the LCD part of the speedo.
If the bike is in gear then the LCD segment shows gear 1-6 depending on what data packets are being sent on the ECU comms line.
We are now in a position to make our own automatic gear indicator using engine RPM and wheel tacho signal. This is done by dividing the engine RPM count by the wheel tacho count. Both these signals already go to the speedo for displaying speed and revs.
OK, so I'll follow this up with a part2: cheap hardware to do all the signal controls.
Finally part3: this will be the software to program into a PIC micro.
If it's of any help, Gipro makes a product that extracts gear information from the 03-06 ecu trough diagnostic socket. They state it's a ecu calculated information (the ecu does know the gear) but then again diagnostic socket might only feed tacho and speed signals through.
If you come up for a circuit your planning at least I'm glad. Kit ecus don't have gear information, so all your hard work would be unuseful for at least me...
Keep up the good work! :)
i want one
sweet, but being i run the kit ecu as well...OOPS
dont mind the little F1, being mine is taped over, as long as the tach works and with the speedohealer speed and water tmep thats all i really need anyways.
Extr400, you really need to post MORE OFTEN.
good info man.
i had read of some guys yanking the speedo sensor and getting a fault. did a lil research and saw it DOES log that, flag the bit, store in the fualt bit registry and dispatch a FI light code.
i was unaware it's a 10V pullup. thought it was 5V or 12.. lol
i had read from someone else ( an embedded electronics engineer) that theres a way to fake the ECU on the 12-R to "bypass" the speed limiter. it utilized the pulse count off the tach to drive the ECU's input and satisfy the bit detection. i think he ran it thru some NPNs or an op amp for some voltage changes. can't remember if maybe one signal was TTL and the other wasn't?
hafta look it up.
good shit. reps.
05/06 Clocks upgrade to P7 - nearly there!!!
So been busy with a micro development kit all weekend and have now completed the first part of the software to quench the FI light and get the gear info working in the P7 clocks.
At the moment have a little test program running to prove my kid-on ECU communication to the speedo. It cycles through all the gear codes so the display can be verified.
Good news is everything working good. No FI error or red LED. Gear selection readout is stable and glitch free. Have posted a picture here. This is such a super trick upgrade :)
Have to write some more code next to use the revs and speed to calculate the gear. Also need to rescale the speed pulse as the gearbox ratios are different for the new clocks.
Have based the electronics on a cheap Microchip development kit / programmer, but I think it will be possible to use a home made programmer (like Pony Prog) which only costs $10 to build.
sick im watchin this now looks good and awesome work
hell yeah if you can make an add on for the speedo, gear indicator and f1 light to stay off i am sold!
ready for the test kit anytime you are....
Good work Extr. Looking forward to doing this project when it's finished
|All times are GMT -4. The time now is 03:46 AM.|
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
User Alert System provided by Advanced User Tagging v3.1.0 (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
vBulletin Security provided by vBSecurity v2.2.2 (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.