What PC software do you use?

I downloaded SavvyCAN, but it constantly crashes on Windows 10. It has issues with actually communicating on the CAN bus, sometimes providing no data even when it says its connected. Additionally, it is difficult to actually use since it doesnt support HighDPI displays.

Additionally, the playback function does not work very well. It does not send out the messages nearly at the same speed that they were received (especially when filtering messages, and trying to play back only tach signals, for example) which results in odd behavior. One would expect a playback to occur at the exact same speed it was receive (and M2 should be fast enough to allow this, if it can read at the right speed). I have an i7 with 32GB RAM, and proc never goes above 8%, so I know it’s not my PC.

At any rate, is there any better Windows software available? Since I have a Windows PC, I have had issues getting SocketCAN to work with Linux.

At this time savvycan is the only program that I know works with the M2. Most ELM software SHOULD work but I don’t know how much the software has been tested.

I use Windows 10 pro on both my laptop and my desktop and I have no issues in either case. Both are Skylake based I7’s with 16 gig of ram and SSD’s. I suspect your issue is a conflict with your virus checker trying to block the port or something else going on.

You CAN use a serial program such as putty to communicate directly with the unit as well.


Yeah, what he said.

Also, it supports LAWICEL comm so if you have a program that can use LAWICEL compatible devices it should also work.

As for some of the other issues: they’ve likely been at least partially addressed in the bleeding edge code that hasn’t been released yet. A new version of QT should have fixed the issue with lack of HiDPI support. But, I have no such monitor to test with so I can only guess. I’ll try to release a new version of SavvyCAN soon.

Oh, and the playback window is crap, I know. It should support using the timing from the file but it currently doesn’t. I do plan to fix this.

For what it’s worth, the WIP branch of SavvyCAN on github now has support for sending frames according to the timestamps from when they were captured. This seems to mostly work at this point but there are some bugs yet to work out. If you felt like compiling it you could try it now, otherwise I am still gearing up for another release. I hope to release a new version within a week or so. It looks like the last binary release was two months ago and a lot has changed since then.

Looking forward to the new release.

CollinK, if it does support frame timing, that would be huge. Right now, the playback is pretty useless. I currently have a 2017 Nissan Maxima, and the parts from a junkyard 2017 Maxima on my bench. When I record frames in my real car, and try to playback on my testbench, it doesn’t work even remotely correctly due to timing. For example, simple test to just replay the tach won’t work because when I do that and filter by those frames, only 1 frame is sent every few seconds, but in reality, these frames are sent out ever few milliseconds. Net result is the needle may twitch a bit, but will not actually show the real tach signal.

Also, some documentation would really help - it is entirely unclear how to use the Scripting window, or how to properly send custom frames (ie, above, if I want to test that my tach calculation is correct, I am not sure how to actually send that signal in a repetitive fashion).

Additionally, not sure what OS you use to develop, but it crashes 4/5 when I load it on my PC (Again, brand new PC, clean Windows install, and no AV). Happy to send along whatever logs you would need to help troubleshoot if anyone else has the same issue.

And lastly, might be a good idea to use a mutex to force only 1 instance of your application running at any given time. Due to the fact that it requires exclusive access to the COM port, it shouldnt be possible to connect multiple instances of your application to the same port (to use, for example a different instance on each CAN bus). Now there might be outliers where someone has 2x Macchinas on different COM ports, but that would be exceedingly rare, as no car that I know of has 2 OBD ports. As it stands, sometimes I try to start the program, it lags a bit, so I click it again, and then 2 instances launch, and only 1 is actually able to connect.

@CollinK - any update when WIP branch will be moved to release? Would love to use the timing features, but don’t want to spend the effort to try to install/compile Qt on my PC just for that functionality