Pre Purchase Questions

I’m new to the car hacking community and I had a few questions about the carloop. My idea was to be able to control the locks of my car through the carloop. I purchased a different board called the machine m2 and I was wondering if the developer software works with the macchina m2? I’m planning on working on a VW gti MK5 and I am aware that the can bus data can’t be read through the OBD2 port due to a gateway module and I’m fine splicing my way into the comfort bus to access and control the locks on my car that way.

@kman833,

Your VW is similar to a whole lot of other vehicles. You can access the CAN bus available on the OBD2 port for vehicle diagnostics using the OBD2 messages. That’s required by law in the USA, Canada and some other countries. For vehicle security, the module that does the OBD2 functions is also a gateway preventing access to the other communications busses in the vehicle. This is where you need some research on your particular vehicle.

It seems you have done some of the research, and the communications bus you need is called the comfort bus. Does this bus use the CANbus protocol? Is there a convenient place to hook into the wiring of this bus? (For example, on some Dodge vehicles, it is known as a secondary CANbus and can be hooked up near the car radio using the Carloop CANhitch (rather than the Carloop itself)). On the chance that VW uses something other than CANbus, then Carloop will not work. If the VW does use CANbus, then you are all set to get started.

I had never heard of macchina.cc before. I took a look and their hardware looks interesting. They have packed in all the hardware to cover all the different communication protocols ever used on OBD and OBD2. That said, there can be proprietary protocols which may or may not also be available on the port; that is where even the hardware has to be customized. However, they are relying on their community to develop the firmware. I admit that I did not look further so see what firmware has been developed and shared in the community.

As for developer software, there are quite some differences that will show up in firmware development. The Particle devices used in Carloop have STM microprocessors with built-in CANbus support. Carloop has a firmware library already available, so you can jump right into doing the firmware for your particular application. The Arduino devices used in Macchina have Cortex M3 microprocessors. I have not worked with these to know if any automotive protocols have built-in support in these processors.

For example, I am working on adding K-Line support to the Particle devices, which I have nicknamed CarloopRetro. I had the hardware figured out in a couple of weeks. However, it has been roughly a year working on K-Line support for the STM microprocessors since it is not built-in. When that is done, then I can add ISO 9141, KWP2000 & KWP Fast Init to the Carloop library (older protocols than CAN). I cannot say if macchina has already solved these challenges; I am certain it can be done for both Carloop and macchina.

Do you know of any courses or anything that would teach me how to write can bus arduino sketches?

@kman833,

I do not know of anything to specifically answer your question.
Also, I do not know your level of experience, so I will have to take a guess to start.

Carloop works with Particle devices, not Arduino devices.
However, they are both microcontrollers based on the Wiring language. Writing sketches is similar but not the same on both. If you know one, you have experience so that it should not be too hard to learn the other on your own. If you have no experience at all, look for a programming course at highschool, college, university or even online. A course in the C or C++ (or similar) languages or microcontrollers could go a long way in helping. Going to a makerspace could also be very valuable to gain experience.

When it comes to CANbus, it is just another communications protocol. That is over-simplifying, but if you can use Serial, I2C, SPI, 1wire or other communications protocol then it will not be too hard to figure out CANbus. Wikipedia has some good resources on CANbus and OBD2.

Where it gets really interesting is knowing what those messages will do to your car, or what your car is telling you in those messages. The more you know about cars and automotive, the better.
One popular resource to help out in this area is the “Car Hackers Handbook”; you can find it online:
http://opengarages.org/handbook/