Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Supercharger protocol for diy CHAdeMO adapter

This site may earn commission on affiliate links.
I've never tried to use other than JTAG to flash the AVR-CAN board. I'm sure there's a way, like ISP. When I was first exposed to the family of microcontrollers, I didn't know one interface from the others. Now I know the difference, but since a knowlegable friend gave me an ICE that "just worked", I didn't have to dig further.

Also, if you know what facilities are available here for sharing files, I'd be happy to pass on the source to what I'm working on, if anyone is interested. I'd prefer not to put my open email address or phone number here, so I'm at a bit of a loss how proceed. Advice much appreciated.

Going back to work coding...
 
I just want to offer some assistance if possible. My personal goal wouldn't really be aimed to a CHAdeMO adapter, since there are so few near me, but, I do think it would be neat to aim for some higher speed home charging as a long term goal for the rare occasions when it would be handy. Custom supercharger, per se. (At night, or when the house is somewhat idle, I easily have 80kW of grid power, soon to include solar, available from my home panels without any modifications or approaching any unsafe thresholds...)

That's funny, it's exacty what I was thinking these last day. With the protocol it can be pretty easy to build our own DC charger for charge power above 22kW.
The difficult part is to find or design an high power 400VDC supply, with power factor correction and current consign. Or multiple power supplies which can be parallelized.
 
How about a string of PV panels? Very clean power, no ripples, no PFC worries. Instead of a DC-AC inverter that tracks MPP and loses a few percent on the conversion to AC.

Solar_IV_curve.jpg


Maximum power point of that module is around 30V, maximum module voltage is 35V. So for Model S 85kWh with 390V max. pack voltage, we wire 11 modules in series. It will charge Model S with up to 8A, 2475W.
Output current will approach zero as the pack voltage gets near 385V. Just for safety, I'd add some voltage monitoring logic to prevent overcharging on a cold sunny winter day. Et voilá!

Got a 60? take 9 modules.
Have a longer commute? Wire more strings in parallel.

Perhaps worth discussing in another thread, but supplying DC to the Model S pack is crucial for this.
 
> we wire 11 modules in series. [VolkerP]

Going from a modest PV installation directly into the 400vdc battery pack of MS or Roadster seems like a nice offshoot to these chademo explorations. I'm game to set up PV panels sufficient to try this. No grid interface, no house interface, just a dump into resistance H2O heater for any excess power.
--
 
That's funny, it's exacty what I was thinking these last day. With the protocol it can be pretty easy to build our own DC charger for charge power above 22kW.
The difficult part is to find or design an high power 400VDC supply, with power factor correction and current consign. Or multiple power supplies which can be parallelized.


that's the entire reason I'm interested in this project.
 
Some news :smile:
Found 2 hours to work seriously. Mounted my CAN interface in my wallbox, for transmit and received through the pilot line. Worked as expected on the first attempt :cool:
The Model S correctly received the ACK bit I send, thus I think they don't use the proximity signal, only the pilot signal. With the ACK bit, the models S knows the CAN bus is working and know I can see a lot of CAN frame.
As expected, the 0x322 identifier is used to send the VIN to the supercharger. The 1st byte is 0x00, 0x01, or 0x02 and indicate which part of the VIN the data are.
I now have 6 identifiers :

0x322, 8 bytes, repetition rate of approx. 1Hz ---> VIN, 3 seconds to get the complete VIN (Lowest CAN priority)
0x312, 6 bytes, repetition rate of approx. 1Hz
0x302, 5 bytes, repetition rate of approx. 8Hz
0x202, 4 bytes, repetition rate of approx. 8Hz
0x112, 8 bytes, repetition rate of approx. 8Hz
0x102, 7 bytes, repetition rate of approx. 8Hz ---> (Highest CAN priority)

After approx 4-5s after the first CAN message, the model S print an error message on the dashboard.
It seems now the only way to understand data is to have a complete log during a supercharger session, I can't do anything here :redface:
 
Some news :smile:
Found 2 hours to work seriously. Mounted my CAN interface in my wallbox, for transmit and received through the pilot line. Worked as expected on the first attempt :cool:
The Model S correctly received the ACK bit I send, thus I think they don't use the proximity signal, only the pilot signal. With the ACK bit, the models S knows the CAN bus is working and know I can see a lot of CAN frame.
As expected, the 0x322 identifier is used to send the VIN to the supercharger. The 1st byte is 0x00, 0x01, or 0x02 and indicate which part of the VIN the data are.
I now have 6 identifiers :

0x322, 8 bytes, repetition rate of approx. 1Hz ---> VIN, 3 seconds to get the complete VIN (Lowest CAN priority)
0x312, 6 bytes, repetition rate of approx. 1Hz
0x302, 5 bytes, repetition rate of approx. 8Hz
0x202, 4 bytes, repetition rate of approx. 8Hz
0x112, 8 bytes, repetition rate of approx. 8Hz
0x102, 7 bytes, repetition rate of approx. 8Hz ---> (Highest CAN priority)

After approx 4-5s after the first CAN message, the model S print an error message on the dashboard.
It seems now the only way to understand data is to have a complete log during a supercharger session, I can't do anything here :redface:

While right now I wouldn't have time to work out the details of designing this, nlc, if you have a schematic, firmware, and parts list for your working device I will build it and log a supercharger session for you assuming it is possible to do so without permanent change to the car (temporary clip on the CAN-having wire and ground from the charge port I'd guess).

With Hamilton now open I'm within 5 minutes of a supercharger every other day.
 
I use a custom board I developed for a customer which integrate CAN bus. It is based on a STM32F103CB microcontroller. I modified this board to interface the pilot signal, as the schematic I posted above (with CAN_TX used because I need the ACK the CAN frame, but CAN_RX is only necessary during a supercharger session because no need to ACK the frames).
If you don't have a CAN hardware it will be complicated for you to log a supercharger session :frown:

- - - Updated - - -

As I posted above, the interface to connect the pilot signal is really easy :

attachment.php?attachmentid=47692&d=1398253331.jpg


If you can access it on the charge port in the trunk, logging a supercharger session is easy.
If you use a modified dev board, example firmware are probably available, here we just need to initialize the CAN bus with a speed of 30us per bit, listen of all CAN traffic, and send on a serial port the received frame, to read it in a terminal for example
 
Some news :smile:
Found 2 hours to work seriously. Mounted my CAN interface in my wallbox, for transmit and received through the pilot line. Worked as expected on the first attempt :cool:
The Model S correctly received the ACK bit I send, thus I think they don't use the proximity signal, only the pilot signal. With the ACK bit, the models S knows the CAN bus is working and know I can see a lot of CAN frame.
As expected, the 0x322 identifier is used to send the VIN to the supercharger. The 1st byte is 0x00, 0x01, or 0x02 and indicate which part of the VIN the data are.
I now have 6 identifiers :

0x322, 8 bytes, repetition rate of approx. 1Hz ---> VIN, 3 seconds to get the complete VIN (Lowest CAN priority)
0x312, 6 bytes, repetition rate of approx. 1Hz
0x302, 5 bytes, repetition rate of approx. 8Hz
0x202, 4 bytes, repetition rate of approx. 8Hz
0x112, 8 bytes, repetition rate of approx. 8Hz
0x102, 7 bytes, repetition rate of approx. 8Hz ---> (Highest CAN priority)

After approx 4-5s after the first CAN message, the model S print an error message on the dashboard.
It seems now the only way to understand data is to have a complete log during a supercharger session, I can't do anything here :redface:
Interesting. Can you share the actual data?
 
Access the wiring seems very easy

Looked the dev board you ordered, the modification is easy, you just have to disolder U3 (the MC2551 CAN transceiver). The 3 needed signals to connect on the interface board are :

  • +5V (EXT2-6)
  • GND (EXT2-7)
  • CAN_RX (EXT2-20)

Thus the complete hardware will be :

20140426_191533.jpg


For the firmware, can't help a lot, I dont' use AVR microcontroller :redface:
But there is probably somewhere a source code to sniff CAN frame and send them on the serial port
 
Interesting. Can you share the actual data?

Cannot share the 0x322 frame, but it's just VIN
For now don't want to share th 0x312 frame, there are fixed data inside, can be an vehicle identifier, data are : 0xXX 0xXX 0xff 0xff 0xff 0xff

The 0x202 frame have two moving value, probably 2 physical values but dont know what they are :

PHP:
8Hz                     ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe2 0x13 0xd8 0xff 
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd5 0xff 
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd4 0xff 
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd4 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd4 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd4 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd7 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd4 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd3 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd7 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd4 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd3 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd4 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd6 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe0 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd4 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff                              
                        ID:0x0202 REMOTE:0 LEN:4 DATA: 0xe1 0x13 0xd5 0xff

Probably 2 Word value ? 0x13E0 is 5088, no idea what it can be. 0xFFD5 can be -42, or 65493.
Or 4 byte value ? 224 / 19 / 213 / 255


The 0x112 frame also have a moving value, seems to be the same value than in the 0x202 frame

PHP:
8Hz                             ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe2 0x13 0x00 0x00 0x00 0x00 0x00 0x00 
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00 
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe0 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00          
                                ID:0x0112 REMOTE:0 LEN:8 DATA: 0xe1 0x13 0x00 0x00 0x00 0x00 0x00 0x00

0x102 frame has no moving value, but I think it's not a car identifier :

PHP:
8Hhz                                    ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00 
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00 
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00 
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00               
                                        ID:0x0102 REMOTE:0 LEN:7 DATA: 0x00 0x00 0x0a 0x17 0x00 0x00 0x00
 
nlc: I believe you have reversed the connections from your receive interface to the AVR-CAN on pins EXT2-6 and ext2-20.

Nice output data. None of this is CHAdeMO. The only message ID in common is 0x0102, and the correct CHAdeMO length is 8.

I can supply code (.c, .hex, or both) for the AVR-CAN development board, for anyone interested in using this platform for testing.
I'd prefer that we find a direct communication method to pass these files.

I have a question about the code used in your setup:
- How much time does the Model S receive the 5% 1KHz Pilot before it goes into digital signalling mode?
Do you send a burst of 5% then just wait, or what?
- How does the car indicate the state change to digital?
- What is the circuit that you use in your CAN-enabled EVSE that sends the CAN ACK bit? (Is this the additional circuit you published earlier?)

I'd like to try to duplicate your results before I move on to connecting to a SuperCharger.
 
I took a few moments to investigate accessing the wiring.

Seems to be behind a removable piece of trunk lining. The three low voltage lines are on a clipped in piece of the charge port. There doesn't seem to be any connector nearby to temporarily tap these.

There is a plastic piece over the high voltage lines that also has a tab preventing the low voltage clip from being removed. It is held in place by two clips/tabs and one torx screw.

My idea was to remove the clip in for the low voltage lines and sneakily tap them there. Few things...

First... there is a safety micro switch behind the orange plastic piece protecting the high voltage wiring. The switch is triggered by a plastic pin on the back inside of the orange plastic piece......... the car throws several errors if you try to charge with this switch triggered.... hopefully nothing that will get me in trouble later. :(

Anyway, since I had it off already, I removed the low voltage clip-in piece. Turns out it actually has the external pins for the charge connector directly attached to this small connector. :mad: So, my original idea isn't really possible.

So, to tap the data line I actually would have to put a wire tap through the insulation on the line, or find somewhere upstream that I could temporarily tap... which I didn't see immediately, nor have time to hunt for tonight. I would prefer not to damage the wiring, so, may have to hold off on this until I have time to think of a better way to do this, like find the final destination for the low voltage wiring which is likely up under some trunk panels or something (at the charger).

Took some pics, but phone is dead so will have to grab them later.
 
Side note...

nlc: If the unknown values are anything like the CHAdeMO flow, retest this at different SoC and see if the values change accordingly... presumably the values are some request for specific voltage/amperage in some way?

Testing at various SoC could shed some light if thats the case.
 
These data are data between the Model S and supercharger, and superchargers are not CHAdeMO ;)
I see it like this. You've managed to trigger the digital DC-charging protocol by following J1772/IEC61851-1 procedure. It then switches to CAN-based communication. Who says that communication isn't standards compliant as well? Possibly IEC 61851-24 since this is a european MS. Or J2931.

- - - Updated - - -

One more thing. Since you have the raw CAN data, maybe you can use wireshark for analysis. It should be CAN capable...