The idea of building an open source board specifically for the Tesla is interesting. Yes, it would not have to be directly compatible with Arduino shields which would allow for more freedom in how it is constructed. I'm afraid I probably can't help too much with that as I work at EVTV and so it'd sort of be a conflict of interest for me. I'm actually not entirely sure of the open source status of the candue 2.0 board design. I don't believe that the design is really available out in the open but really if you're going to build a new board the relevant bits are easy to see. The GVRET firmware is open source so you can easily see pin assignments and even use the same firmware on the new boards so long as they use a SAM3X microprocessor. So, there are decent ways to jump start the process.
I guess I don't see the point. The Tesla SavvyCAN box is a box, a harness, and the EVTVDue CAN Microcontroller. That board is $99. The expense comes in connectors, wiring hte harness, and the enclosure. Which is why the Tesla box is $299. If you want to do it yourself, the board is $99. One CANBUS but very quick with an 84MHz ATMEL SAM3x, Arduino compatible, and with an EEPROM as well. It's all on one board. What are you going to save doing boards onesy twosy?
CANDue, on the other hand, has two can ports, the EEPROM, the SWCAN which you all will discover why you need later I'm sure, AND an Arduino Due and USB cable. And an SD card slot for logging. So yeah, it's $149. Big deal.
Either will run GVRET and SavvyCAN, but either will also run the software we released to do the 6F2. The magic here, and the magic you have to make with a new board, is actually Collin's can_due library. For me, I don't even think Collin has a clue how good this is. I love interrupt driven CAN and he's put in all the tools. Your board doesn't do anything UNTIL a filtered CAN message arrives, or in the case of no filtering, ANY CAN message arrives. You can route the interrupt to entirely different functions based on messageID. Bottom line is anytime I try to do any CAN work now without can_due, I end the afternoon feeling slimed. I need a shower. Collin's programming style is still for polling and switching there so I don't think he truly appreciates the interrupt routing in can_due.
As I recall, that's how we met. Talking about putting all the hardware features of the 2515 in a library for a Recharge Car Arduino Mega with a single CAN channel. We like had a conversation and the next day he had the library DONE. And can_due has come a long ways since then.
If you want to work toward something useful, I can see a Teensey version in the future with CAN ina really SMALL package. Maybe a bluetooth connection to SavvyCAN. But I won't put any effort into it until Collin gets can_due ported over if he does.
And again his modesty. BusMaster and SavvyCan are like Microsoft Paint and Photoshop. It's not even close. He's duplicated all the good parts of Vector's $10K suite. There's nothing even close to it.
The truth is, to decode Tesla CAN traffic we first had to build the tools to decode the CAN traffic because what was out there was so lame. Collin is modest and likes to be nice to everybody. I don't get it. What's that all about?
BTW. The 12v on the Tesla Model Diagnostics connector is on the same line as the Instrument cluster. And the fuse is the fourth from the left on the back row of the left fusebox. Don't ask me how I know.
Jack Rickard
- - - Updated - - -
@W.Petefish
Not to be condescending, but unlike Tesla I don't need to be cloak and dagger about the details of how the CAN bus works. I document what connectors you need and what buses are on what pins over at
my instructable page (posted a year ago now) showing anybody whose interested how they can access a car
they bought and paid for.
Based on my research the bus speeds are as follow:
Powertrain (CAN3) = 500kbps
Chassis (CAN6) = 500kbps
Body Fault Tolerant (CAN4) = 125kbps
Body (CAN2) = 125kbps
Now that I think of it, I should probably update my article to include that...
@apacheguy @lolachampcar
I am flirting with two different options (I may end up doing both), one is using the Particle Electron (I backed it on KS so I should be getting one in a month or so) to make a completely wireless data logger that could transmit back to dropbox/custom server or the website Teslalogs (which I'm co-developer on) possibly all of the above, the nice part is that you don't have to remember to keep the car on when you bring it back to your home and make sure you have WIFI coverage where you park the car. The second option is an in car data logger with display that mimics Tesla's thermal and battery diagnostics screens (not all of us want to open our dash like wk057), this hardware stack is based on the Beaglebone Black with a 7" LCD touchscreen, below is a beta version of the python app that me and another owner have built, still lots of work to do, not enough hours in the day.
View attachment 108029View attachment 108030
So will you be publishing a doc like Jason's diagramming the CAN messages used to display this info?