@lola - Thanks for the responses.
Can we get a count off of all the folks who are working on a logger? Platform, capabilities, etc.? I may end up borrowing one of Lola's, but ultimately I'd like a permanent setup.
Lots of people like Eric Evenchick's CANtact hardware along with possibly the CANard software. The CANtact is open source as is CANard. CANard is a set of python scripts and so is very cross platform. CANtact supports socketcan via the lawicel protocol so you can use pretty much any linux canbus utility with it. You will require a connection to a computer of some sort as this board has no storage. Thus, logging will be done with a PC but it can be running pretty well any operating system.
I wrote the software for the EVTVDue, CANDue 2.0, and GEVCU boards. I don't think that all of the designs for those are all that easy to find but there are probably some versions of the board files to be found somewhere, I don't know. I didn't really build the hardware, just the software. And, the software most certainly is open source.
The EVTVDue is pretty comparable to the CANtact with a few differences: it is really an Arduino Due with added transceiver (and a USB-B plug) so you can add more shields to it if you want. Also, the EVTVDue uses the same processor as the Arduino Due which is something like twice the speed of the STM32 processor on the CANtact. That probably doesn't make a lot of difference.
The GEVCU is really an ECU and not meant for this sort of thing (it just can be used for logging and reverse engineering if you need an ECU eventually and don't want to buy two tools).
So, that leaves the CANDue 2.0 of which I am the most proud to be associated with. It is a shield that is placed onto an Arduino Due. This shield has several advantages over most any other project you could find in the sub-$200 range. It has two CAN buses so you can log on two buses at once. Both buses are isolated so nasty noise on the CAN lines will not mess up the microprocessor or your computer. It also has a microSD card slot and the ability to log to the card given nothing but power and CAN. So, it can be used as a dedicated data logger that is installed in the car all of the time. Thus, I'd say it is very feature complete. All of the boards run the same firmware which supports connection to the open source savvycan program I wrote. SavvyCAN is QT based and available for windows, OSX, and linux. So, it's pretty cross platform. Also, the firmware that runs on the hardware is capable of LAWICEL / SocketCAN mode just like the CANtact so you can use it with linux can utilities.
Technically you can easily use the GVRET firmware I wrote with a wide range of Arduino Due based canbus devices. Basically all you need is a Due compatible board and some canbus transceivers. Then the firmware can be pretty easily retrofitted to work.
So, there's some options.
.
- - - Updated - - -
I haven't got my logger yet, but I very much doubt Tesla is capturing all messages. By all accounts it is a very busy network, and would soon fill up a log file.
There are is also more than one bus. The one we are logging here is used by the motor and batteries. There are at least 2 other CAN busses for other stuff, and I'm not sure which one air suspension sits on.
Yeah, CAN6 (drivetrain) has something like 1500 to 2000 messages per second. Each message could be stored with a 32 bit ID that includes length in the upper three bits (can is 11 or 29 bits), and 8 data bytes. That's 9 bytes per message at a bare minimum. That's something like an average of 15.8 kilobytes per second for that one bus. That's 54MB per hour. If you figure that the total traffic in the car is around three times the amount of the drivetrain bus then you could figure something like 150MB per hour total. That's a lot to capture and store.