Hi there! I found Macchina a few days ago and it looks like the solution to my problems! I’m trying to make a real-time data logger for my car. Specifically I want to sniff CAN traffic on GMLAN and one or two CAN buses and log these data to a file as well as transmit over bluetooth. Additionally, I’d like to capture OBD-II data for a subset of SAE-standard PIDs, which will require active querying.
I originally purchased the Freematics ONE+ B, which I thought was a done deal. It had everything I was looking for (GPS, LTE, accelerometer, magnetometer, WiFi, Bluetooth), but the software support is absolutely abysmal. Their support forum is sparsely populated and full of spam. They claim that their device can be used to sniff CAN traffic, but when I upload their example sniffing sketch, I see no data and a week of debugging and forum posts has yielded no answers or help. I’m able to use the device to query an OBD-II PID and read the response, but if I send the query frame manually, I can’t even sniff the response which indicates some serious issues. Part of the issue here is the ELM327 is isolated from the processor and can only be accessed through a protocol co-processor with closed-source firmware, so my debugging capabilities are very limited.
The Macchina M2 seems like a great alternative, but I have a few questions before I commit to buying it. First, I originally wanted both Bluetooth and GPS simultaneously, but it appears such a thing is not possible with the M2 without unsightly external wiring. I can tolerate this, however, since my vehicle provides GPS over CAN. My main concern is the throughput of the M2 processor. The Freematics is ESP32-based and is dual-core, so I was less worried, while the M2 is based on the single-core Arduino Due. Will the M2 be able to:
- Query a subset (but still many) OBD-II PIDs
- Capture all CAN frames on two or more buses
- Write the data from (1) and (2) to both SD and Bluetooth?