• If you currently own, previously owned or want to own an Avalanche, we welcome you to become a member today. Membership is FREE, register now!

Macchina M2 Vehicle interface to computer (ODBII connection for computer)

redheadedrod

SM 2017
PM 2015
Full Member
Joined
May 15, 2011
Messages
3,187
Location
Muskegon, MI
So for those interested in a device that can do more than a standard ODBII dongle you may be interested in the M2 from Macchina. Especially if you have a computer hooked up. Although not necessary.

It is currently in pre-production developer only release but just got mention that their first release version is in current production and may be available for sale soon.

These devices will support pretty much all of the ODBII Protocols unlike some dongles. This is being produced as an open device with the hardware diagrams and firmware available.

The design of this board is a 2 piece board with an option for under dash (With ODBII connector) or under hood (No ODBII connector but a generic socket that you wire with directly)

The interface board is the base for the unit and there is an Arduino Due based CPU board installed on it now. They have mentioned other CPU boards may be available in the future if there is a need for them. The firmware is written in C++ for the Arduino and thus can run just about any program. These come with an XBee socket onboard which allows any sort of wireless connection. I have a developer version of an integrated WiFi / Bluetooth module which will allow either connection.

It also has a microSD card slot so you can record directly on the unit. The size is the same as a standard ODBII dongle.

The Protocols it had hardware to support include:
CANBUS (x2)
SWCAN
J1850VPW/PWM
K-line

Since the hardware is universal the software can be created to do just about anything with this piece. If someone builds a programmer feature into the firmware then you can reprogram your PCM etc.. (Note this functionality is NOT currently written yet and no telling when it will be.)

The CANBUS protocol is using a driver that has been in existance for a while now.
SWCAN is similar to CANBUS and is the low speed GMLAN that has been used since ~2006 when they went to CANBUS. (CANBUS was mandated to be done in all vehicles by 2008. SOME GM's may have changed to it sooner but our trucks switched to it in 2006 for some components with the rest switched over in 2007.)

For those not aware, j1850VPW was what GM used in our trucks from about 1996-2005.
In 2006 SOME of the systems were switched over to CANBUS but I don't believe everything was.  The Door modules and some of the other stuff may still be J1850 in 2006.

With the CANBUS vehicle GM has split the databus into two sections in all vehicles I am aware of up through 2014 and probably beyond. The High Speed bus is a 500k baud system that connects the engine, transmission, ABS, AirBag and some other mission critical systems together. This CANBUS is a standard 2 wire system as used in other vehicles from other manufacturers as mandated by the feds since 2008 as previously mentioned.

GM also included a slow speed SWCAN bus which only runs at ~33k baud and only needs 1 wire to communicate. This is very similar to CANBUS and uses same protocol. The main difference is that the chasis ground is used as the CANBUS - and the SWCAN dataline is used in place of the CANBUS + line. Some CANBUS interfaces CAN be used as SWCAN devices if you tie the CAN- to Ground and the CAN+ to the SWCAN bus. But this is not the best solution and may not work in all cases.

I will be helping to develop the protocols on this board so by the time I am done I will know this unit inside and out.

This device can be used by plugging it into your ODBII port or wire directly into the dataline(s).

You can then have it log information to a microSD card (when programmed to do so) or connect your computer to its microUSB port.

At the current time the M2 interface will present a common Lawicel interface (SocketCan) to the microUSB port which can be used with a program called SavvyCAN to look at the data being transmitted. There are other programs also compatible with this but SavvyCAN is the only free one I am currently aware of. There may be a way to connect to Linux and use as a standard SocketCan device but I am unaware how to do so. Lawicel 2.0 will also be supported and ELM support is being developed as well. I will insure that it is compatible with the STN devices as well. Which means you can connect to it via your laptop and use standard ODBII software. It will also mean when the Bluetooth/WiFi stuff is fully integrated you will also be able to access from your phone if you so desire.

If you are still wondering what this has over a standard ODBII dongle, mostly that it is open sourced using Arduino and that it is using a much faster processor than the ELM or STN devices and will be able to be used for anything the software is written for it for.

If you have any other questions about this please ask here...

Oh and if you are interested in buying the device or getting more information feel free to check it out at:
http://www.macchina.cc

Once I have done some work on the device myself I can certainly provide some programming help for anyone looking to add things themself. It is programmable via Arduino IDE.

Rodney
 
I am working on the J1850VPW protocol and might have issues with it but we found something else that will work real nice. A $2 chinese made chip connects easy to an Arduino. I will be ordering a bunch of the chips so I have them and start tinkering with writing software for it.

While one of the other guys was able to get this chip running fine on his stuff the M2 didn't perform well. So we shall see how it goes. Hopefully the M2 will get sorted out soon. In the mean time the same software will work with either the M2 or this chip so either way works.
 
So update...

Another member got the J1850VPW protocol to work with the M2 device. I will be working to improve the protocol usage and build it into the over all framework.

Basically what this means is that the M2 device now can communicate via J1850VPW with Avalanches pre 2006 easily as well as 2006+ year trucks via CANBUS and SWCAN.

If you still wonder why you care...

Basically this Arduino based module has a number of inputs and outputs that can be controlled to do things in your truck based on information received through the databus. Adding a XBEE based module onto it can provide any of a number of wireless protocols such as wifi, bluetooth, xbee or cellular.

Anyone that knows how to code and wants to connect to their truck would be excited by this.

Oh and if someone wanted to build a translation module to do things like use a new OEM navigation system in an older vehicle this would be possible once I get the J1850VPW integrated with the standard library. HOWEVER someone would have to reverse engineer the codes themselves from existing units mounted in vehicles. (Note this could also potentially save one from having to reprogram the VIN since you could report what ever vin you want to.)
 
Keep up the good work! Today I finally installed the Arduino IDE and programmed the M2 that's been sitting on my desk since last year. Plugged it into my bench setup and I'm viewing the bus messages! Will be nice to have some added functionality.
 
Just recently came in contact with a group that is building an open source PCM Flasher and I will be helping them get it working on the M2. As far as the M2 is concerned this will just allow Binaries to be uploaded or downloaded. With this project I hope to also use the same methods to download the Binaries off the other modules such as the BCM and others. Since it appears ALL of the modules use the same methods and CPU's from what I have heard on other forums it is a realistic goal.

I will have a busy summer working with the M2 and developing a bunch of new software for it. (Unless I get an internship with a local security firm, then I may be backing off slightly but much of my work with the M2 will be related)
Hopefully by end of summer the M2 will be compatible with standard ELM/STN devices so it can be accessed via normal ELM/STN software. I have a Bluetooth and WiFi module here which I will be working with to get working with it as well.

As part of this the J1850VPW library will end up being totally rebuilt to handle the Flashing stuff. This will allow it to become totally integrated as an ELM/STN device as well.

Note that while the device will work as an ELM/STN compatible unit with support for both WiFi and BT allowing ALL Avalanche users to use them, the flashing will ONLY be available at first for vehicles pre-canbus (up to 2005 for Avalanche 1500's, They changed the PCM to CANBUS in 2006). Hopefully I will be able to get the modules binaries too which would also include the 2006 since they didn't change that until 2007 for everything outside the PCM and transmission stuff.

Cool Beans.

Note this message does not mean I am back on this system. Just sharing information about this device. I don't expect to be active on this site otherwise anymore for reasons posted elsewhere.

Rodney
 
The group making an open source flasher for pre-canbus GM's is coming along. I can verify the M2 interface will fully work.

We have the interface board working with a Mega with full capacity. Can pull the PCM program now, close to being able to change some stuff on the PCM such as SN and VIN with the full Binary soon to follow.

Current setup isn't compatible with the stock M2 full hardware. You need to have a Mega connected to their interface board but still in progress. I will be going over the Mega based software and converting to the M2 Processor board.

Yes when done this means you won't need HPTuners or EFlive to program your pre 06 Avalanche.
Or you can potentially clone a PCM....

For those that happen to have a Mega or Due laying around you should be able to add a couple components to a prototype board and use that. They are working on making the software compatible with most ELM devices although I would not suggest using a bluetooth module to flash a new program for what should be obvious reasons.

The M2 when the software is fully completed, will be compatible with programming your PCM from anywhere you can get Internet and WiFi access.

The end game with this means you could grab an M2, load up with the firmware I hope to have finished by end of summer, and connect to your phones hotspot. This would allow someone to connect to your M2 and see how your truck is running. This would then allow  that same someone to actually program your truck remotely.

The M2 firmware will be designed to actually receive the flash file, save locally to MicroSD card, verify the Binary is complete and correct then flash the program to your truck.

Will be very cool.

Again this should work for most if not all GM ODBII pre-canbus. I will post more information in this thread as it comes around. I will be busy this summer, and thanks to those that have been bullying me on this site, I won't be wasting time here that I could be programming...
 
The group has the firmware flash application program so it is able to read the binaries from a PCM and they can change the VIN. The SN is in progress. They are also trying to sort out the actual method of properly writing to the PCM at this point in time. They are working with a 12200411 PCM which are likely in the 2002 trucks but I am not sure. The PCM's in the 2003 up through 2005 will work with this when done. As I said, at the moment you can read the bin from your truck.

Anyone that can read Motorola 68332 assembly code might find it interesting.
Here is a link to the project:
https://pcmhacking.net/forums/viewtopic.php?f=4&t=1566

Really doesn't start talking about this though until about page 20 or so.
Note that while the M2 is not fully engaged in this project yet it will be so I will keep updates here. By the time I get the M2 up to speed they should be up to speed with the program.

Rodney
 
Back
Top