Data Bus Conversion HS CAN >J-1850VPW
Jay
HS Can is 500 Kbps
J1850VPW is 10.4 Kbps
That's a HUGE difference in speed and the amount of data being processed. It's taken some time and I only have a couple of gauges working......WAIT...WHAT????
What is this converter actually gonna be, a little box between CAN lines? You're ideas and work are giving me hope of transplanting a late 6.4L Hemi into my '98 Dakota. The DAK's bus is CCD, the Hemi is much faster. It would be even more awesome awesome to translate the CAN line from an aftermarket PCM (Holley) into something that would drive the rest of the vehicle's bus!
What is this converter actually gonna be, a little box between CAN lines? You're ideas and work are giving me hope of transplanting a late 6.4L Hemi into my '98 Dakota. The DAK's bus is CCD, the Hemi is much faster. It would be even more awesome awesome to translate the CAN line from an aftermarket PCM (Holley) into something that would drive the rest of the vehicle's bus!
I have been considering the idea of a job/career change over the last several months to pursue things similar to what I have been doing in this thread because the possibility's for this type of technology have never been realized. Some of my designs that are unpublished are likely going to become necessary in the coming years with the changes in vehicles/computers to make even basic modification possible on new vehicles. However this is a catch 22.... the only way I will ever have the time to perfect my designs and create new one's is to make a career out of this.....but the only reason I have gotten as far along with my work as I have is because I've been able to sink an enormous amount of money into what I'm doing because I have a job that pays well and a wife who understands the potential impact of what I'm working on.
It's hard to gauge potential demand for a technology that doesn't exist.
I now have analog Speedo and Tach signals working, I'm waiting on a batch of circuit boards so I can test this in a running vehicle to make sure the gauges are smooth and do not lag but I'm pretty confidant they will work. I'm incorporating J-1850 VPW and Analog gauge support for Speed, tach, Temp and Oil pressure simultaneously to reduce the number of possible variations. I'm also working on incorporating some type of DIPSWITCH setting to switch between 2,4,6 and 8 cylinder tach settings. The trucks will benefit from this the most, the 96-98 trucks read differently then the 99+ trucks. Sure this can be done in the tune with the tach pulse setting....or I can do it with a simple equation using 2 input pins just as easy.
I have a Jeep in my garage that's about to get a heart transplant so I can start working on getting something going for 3rd,4th and 5th gen LS pcm's to talk to the Jeeps data bus.
The Best V8 Stories One Small Block at Time
I have a couple of other projects that involve data conversion/manipulation that solves some of the major issues people are running into right now but I lack access to the parts and vehicles these parts would be found in for the needed data acquisition and testing. I can only do so much on a bench although I'm putting together some goodies to make bench testing some aspects possible.
I hadn't planned on tipping my hand on some of the other potential modules I've planned out but there are only so many hours in the day and my resources are limited.
1) module to intercept and change the vin number on the newer transmissions to match the PCM when a used transmission is installed(Talking 2015+). The vin is a one time deal, once it's flashed your not able to change(even with SPS) it making it impossible to use the transmission with out module replacement that involves transmission disassembly....and forget about useing those transmissions with older types of Pcm's.
2) It's taken years to get the 6l90 to work in swaps and even then it's limited to working with a couple of specific type of Pcm's. Throw everything any one has ever said out the window, it is absolutely possible to make the 6,8 and even 10 speed transmissions work on 3rd gen Pcm's, the module to do it just doesn't exist yet.
Those are just the tip of the iceberg to give you an idea of what else is possible.
I have a T42 controller for a 4l65 on my bench I have been looking at for a couple of months now and my daily driver has a 4l60 in it so it's something I have the tools to test.... but I'm lacking a great portion of the data to even try and get it working at this point. So many projects and so little time.....I only get around 6-8 hours a night to work on this stuff and lately it just isn't enough
LMK if you want any additional info on this. The display unit is very easy to work with and fairly reasonable. Should be no problem for you.
First I want to congratulate you for what you have achieved so far.
I’ve also been playing with an Arduino and sensor interfaces. No CAN bus though. I ended up making a custom board with the same Atmel processor as on the Arduino. I have some 0-15v analog inputs. Some 12v PWM controled outputs and som 5v I/O ports. I suspect I’m utilizing the same LCD as LSswap uses and did not experience problems during Norwegian winter. There are some glare when sun is bright.
As my 03 Chevy Silverado has started acting up I’m about to get started on a J1850VPW project myself. Waiting for delivery of a Macchina2 to start decode messages on the bus. My first goal would be to isolate the message and orgin of said message that makes my door modules turn on the mirror heat once in a while while when truck is parked.
Then it would be nice to decode as many PIDs as possible.
If you are willing to share anything you have learned it would be appreciated. I’m not quite sure how to start so if you have any forum post or documents containing good information please tell. I will of course share what I learn during my project with you. I only have a 03 Silverado and a spare gauge cluster to experiment on. Not so easy getting hold of parts here in Europe.
Here is a video of one of my past projects.
I’ve also been playing with an Arduino and sensor interfaces. No CAN bus though. I ended up making a custom board with the same Atmel processor as on the Arduino. I have some 0-15v analog inputs. Some 12v PWM controled outputs and som 5v I/O ports.
Thank you for the complement. I know a lot of what I have shared doesn't look like much to most people but it's also to keep a low profile on some of my work for the time being. I have used the ATmel chips in various forms and packages and in the end I end up doing a great deal of my work directly on an Arduino or mounting an Arduino to my Pcb's just due to the cost. I have looked at moving my work to the ArduinoDue/Macchina Arm platform more then once but there is just too much difference to make any of the code easy to port over. Neither platform is very well supported or documented and has a serious lack of library support making it less then ideal for much of my work.......I haven't run into bandwidth issues yet but it's going to happen sooner or later.
As for your truck I think your going to be looking for something that isn't there with the heated mirrors. The J1850 data line is pretty limited on bandwidth and is limited to sending messages between computers for functionally rather then just sending out every thing happening the way CAN does it. I'd have to pull a wiring diagram but I'm suspecting your heated mirrors are not going to be on the data bus.
Here is an example....
E8 FF 60 03 98
E8 FF 10 03 B3
E8 FF 58 03 03
E8 FF 29 03 64
These are messages that are constantly sent onto the data bus by various modules as a way of saying I'm here still. To break down the message would go something like this. E8 is the priority of the message, FF is to all modules on the data bus and the 2rd byte is the module sending the state of health message. The 3th byte of message being 03 indicates that the module is present and functional. The last byte is the checksum and isn't something you need to pay attention to for what your doing.
An example of how modules talk to each other would look like this....
1) 8A EA 29 20 A7 00 30
2) AA EB 60 20 A7 00 E7
3) 8A EA 29 20 95 00 69
4) AA EB 60 20 95 00 BE
#1 is the ABS controller sending a message to module EA(Cluster in this case) with a priority of 8A. The actual message being sent contains 2 parts. The 3rd byte of 20 is the command for OFF, if it was being tuned on the byte value would be A0. The 4th and 5th bytes are the item that would be commanded On or Off, in this case A7 00 is the Brake Light . So if we reconstruct the message it would like this. The Abs controller is sending a message to the instrument cluster to turn off the brake light.
#2 is the response from the Cluster back to the ABS controller acknowledging the message was received and executed.
#3 is the exactly the same as message #1 but the item in the cluster being command(95 00) is now the ABS light being told to turn off.
#4 is the response the message #3
Now these are very easy example where what's going on is cut and dry. What makes this more difficult is that some messages will not have a response so tracking down the module receiving the data can be harder and that some messages are used by multiple modules but for different things. If you dig deeper and start sending commands and plugging in other modules the results will also change. If we use message #1 as an example, sending it from node 29(ABS) will only turn the brake like off for 2 seconds. If the message isn't sent again the light will come back on by default. If we reconstruct the message but send it from the Pcm (8A EA 10 20 A7 00 30) where 10 is the PCM node ID the brake like will be commanded off until the next time the ignition is turned off. The reason this is important is that the instrument cluster will no longer respond to a command from the ABS and send the response the ABS is looking for. By sending it from node 10 the cluster now thinks there is no ABS and will stop looking for a message. This should give you a general idea of what can happen when modules are sent data from the incorrect ID. This doesn't mean they all work like this but you need to check and recheck to make sure any data you send doesn't have an adverse affect that you might not be aware of at the time.
And as always I'm open to information either publicly or by PM if you would like to share or have questions.






