GM Frankenstein Truck HELP!


I’m 1 day into receiving my M2, so please be kind :wink:

I’m looking for seasoned knowledge on the best way to isolate a packet from module A to B and maybe back again.

I’m have 3 connections Connected in Savvy Can and I’m able to see traffic on the obd port. I also have a high end scanner capable of controlling any module on any GM autos.

I’m wondering if it might be easier to connect M2 to OBD then somehow connect my scanner into the M2 (i have a break out board) and capture the commands i send to the various modules.

Any advice to get me started would be of great value. Thank you in advance!

Vehicle(s) Hence Frankenstein: Is a combination of a 2003 (pre- GMLAN) Hummer H2 that utilizes Class 2, and a 2006 Duramax/Allison utilizing both GMLAN and Class 2.
This is my 5th conversion and I thoroughly understand steps to introduce GMLAN to a vehicle that didn’t have it. All circuits communicate as they should and the H2 is happy with it’s new power plant.

Not to bore you with unnecessary details but background my help. I’m trying out a new build idea and I’ve introduced a new control module from the H2 that has never been used in it’s current configuration along side the duramax/allison computers.

With high end scanning tools i can see the module but i can’t control it. I suspect there is a packet being sent from either the ECM or TCM telling the TC Control module that it’s ok to activate. Maybe a vin code coming from either the ECM or TCM or something else completely. I’m nearly 100% certain it will be sent class 2 Serial and not GMLAN.

Last piece of the project will be to write the missing packet into one of the control modules. Either ECM or TCM. Is this possible?


If you want to scan the commands your scanner puts out I would suggest getting an ODBII Y cable. This will allow you to watch the commands that are being put out by your scanner and track them.

Another method would be to use the M2 as a bridge but this is not currently supported yet as far as I am aware.


Is the Y cable just an extra port on the bus that will show all traffic or will I be able to isolate only what comes out of the scanner? I haven’t tried to filter unwanted traffic yet but would it be safe to say that all scanner traffic will have a unique I’d and I’ll easily be able to isolate its traffic? I will try and filter traffic today.


The Y cable basically gives you a second OBDII port so that you can connect two things to the car’s OBDII port. That allows your M2 to see everything on the bus while the scan tool does it’s thing. Then you can go back and figure out what the scan tool was doing. Generally the scan tool will work by sending UDS messages to the various ECM/TCM modules. The normal ECU type devices probably listen on IDs 0x7E0 through 0x7E7 but it isn’t uncommon for other IDs to be used, especially in electric cars. They answer 8, 16, or perhaps even 256 numbers higher than they listened on (yes, it varies car to car and that’s annoying). But, the good news is that the IDs used by the scan tool are unlikely to normally be on the bus so you should be able to figure out what the new IDs are when the tool starts talking. If you compare no scan tool activity to when there is activity you should find new IDs on the bus.

That’s the easiest approach. You can use an M2 as a passthrough device with filtering but that’s pretty complicated to get set up.


Thanks and Thanks for your work on Savvy Can!! I have’t gotten to play but amazed on the effort it must have taken to build such a tool.

I get what your saying and hopefully it translates more after watching your video on SC.

If i may, i’d like to get your thoughts on what I’m attempting and best way to get started. Or chalk it up to a pipe dream.

  1. Identify the packet I’m missing in the Frankenstein vehicle then add/edit lines of code that I’m missing (out of my area of expertise) in the appropriate modules (most likely ECM/TCM/BCM/ or possibly TCCM) If not able to add/edit code in module, will i have to build an interface and send the missing packet to the bus in this manor?

  2. This portion is what sparked sparked my interest in bus hacking 4 years ago. Using scanning to isolate the packets to unlock doors, HVAC contols, etc. Then have someone build a GUI and program touch screen buttons to activate all things that I’m able to activate with the scanner.

  1. You aren’t likely to be able to modify the code in one of the vehicle modules to add new frames. That’s like top end expertise right there. I wouldn’t try doing that! Instead, yes, build an interface (you do have an M2) that sends the missing frames.

  2. Yeah, totally doable. SavvyCAN should help with that sort of thing.


Ok- I’ve connected M2 and SavvyCan v187 to Frankenstein. I show connected to 3 bus’s and receive data on bus 0 at 500k no data on bus1 and bus2. bus 2 connection shows 33k. I suspect bus 2 is the class 2 serial data and the focus on my target packet.

My SC v187 has somewhat different GUI than any video’s i found. I also read where back in 2017 Ben found a hardware workaround to show the 2nd bus then on later posts Collin implemented a fix into SC.

Any help to get me on Class 2 much appreciated.


Savvy Can currently works only with Canbus and the SWCAN variant.

Bus 0 and 1 are CANBUS ports and Bus 2 is the SWCAN. SWCAN is generally the entertainment bus in GM vehicles but is only different electrically. It is a variant of CANBUS otherwise.

You are interested in using Class 2 which is J1850VPW and that is not integrated into Savvy Can at this time. At the moment this protocol is only provided by a stand alone library which is not supported by any generic tools yet. While it is possible hardware wise to use the M2 as a translator/Bridge between the two modules the software has not made it to the point this is easily feasible.

The easiest method of building such an interface at this time is to use 2 different M2’s with one running the normal firmware and the other running the J1850VPW firmware. You would likely have to redirect the output from the CANBUS stuff to the external UART port from the USB port and then write software on the J1850VPW device to do the translation stuff. Not a simple project at this time but doable.

I am in (slow) process of rewiting the firmware to support much more functionality but it will take time. I just completed my Bachelor in Computer Science and begin my Masters in Cyber Security in January. I hope to have more time available than I did while working on my CS degree but can make no promises at this time. One of the goals is to build out the firmware to allow this sort of functionality relatively easily. Your other option at this time is to use a RPI connected to two M2’s and use the RPI with custom software to do the work for you and just leave 1 of the M2’s with the standard firmware and the other with the J1850VPW software.

I know it is not what you want to hear. But at least lets you know what you can and can’t do at this time.



That isn’t what i wanted to hear. Definitely not a project for the non-coder like me. That leaves me waiting for the pro’s to find an interest. Is there no software currently capable because the low market demand or outdated technology? The last option you listed was RPI/M2 and custom software. Does custom mean it need built or just paid for? Is RPI - paspberry Pi. Lastly, I bought the M2 based on the fact Ben was involved and his vehicle of choice is also 1/2 of mine. Are there other hardware choices all ready developed for J1850 that i should have considered?

Congrats on your career pursuit. You don’t need to tell you what a hot market you’re entering.


Well Capital, at the current time nothing that I am aware of has the capability of the M2 without adding a bunch of other stuff to it. The M2 software just hasn’t gotten to the point it can be done yet.
Yea RPI is Raspberry Pi. And No no one has done software for it yet that I am aware of.

Once I get a couple of things going here I am going to be working on the M2 firmware again and assuming my Masters Degree doesn’t take up too much of my time I should be able to further develop the stuff I am doing which will support the CANBUS and J1850VPW together.

Once I have the software I am working on to the point it can do what the current firmware does then it will be ready for general usage. But will support other features as well. It all depends on how much time I can devote to the process. Once I have the base done then adding things like the bridge your talking about should be relatively minor.



I’m researching for methods or known workarounds regarding lack of progress reading the J1850VPW bus data and came across another forum where the poster is working with an elm327 on a 2001 car running on J1850vpw.

It appears he has been able to decode many signals sent on the J1850vpw bus. Can you take a look at the link and read between the lines?