This is a longish post about getting inside the CAN BUS protocol. I had searched far and wide but failed to find what I needed so I dug in and am taking the time to share what I found. No warranties expressed or implied – reading this means you agree that you may blow up your bike on your time, and on your dime. My Goals: I want access to race data. I have a SpeedAngle (http://www.speedangle.com) but it lacks access to key data I wanted: throttle position, gearbox position, braking forces, shifting efficiency, tyre slip, ABS/traction control intervention, and bike lean and tilt. This said, don’t get the idea that I’m a hard core racer… can’t be further from the truth. I simply wanted to learn quickly, make cool RaceRender videos, and geek out. I can’t leave good enough alone regardless of my hobby (or job). Getting Started You need a cable to ‘read’ the data. Get the CANABLE cable for $25. https://www.tindie.com/products/protofusion/canable-usb-to-can-bus-adapter/ Get your Sumitomo connectors here for $ 3.26 a set. Get a set for the data logger project too. http://www.corsa-technic.com/item.php?item_id=230 Solder up the connectors as follows. The connector is facing you, with tab on top (per Corsa site image). Be sure NOT to connect power – the CANABLE is powered by the USB port, not the bike. 1 (N/C) 2 (CAN-H) 3 (CAN-L) 4 (N/C) 5 (N/C) 6 (GROUND) Screw this new cable to the CANABLE matching the pins. Note that the CANABLE as exposed metal pins below the circuit board – don’t short them out on your bike frame. Prepare your laptop with the right software. Get CANTACT-APP from https://github.com/linklayer/cantact-app. It’s based on Java so get that too. https://java.com Plug the cable into the bike and into the PC. Turn the key on your bike. Start the app. In the CONFIG WINDOW tab, pick your port (likely COM3) and then Bitrate of 500KB. Press START You’re now seeing CANBUS traffic. It’s intense. Congrats. In CANTACT-APP you can save data to disc but I found that it grinds to a halt around the 500 second mark so save smaller CSVs. Reverse Engineering Here's what i found via tedious sleuthing and math modelling: Throttle – it’s provided by ID 288, in the 3rd byte position. Turn it and see how it goes from 00 (off) to FF (fully on). Gearbox – it’s provided by ID 297, in the 1st byte position. The upper nibble (hex digit) is 0 for Neutral, 1-6 for gears. When you pull in the clutch the lower nibble goes from 0 to 8 and back. Front Brake Force – it’s provided by ID 656, in the 1st word (2 bytes) position. No pressure is 0x0000 (off) and a fistful of brake registers to about 0x3500 on my bike. RPM – it’s provided by ID 288, in the 1st word position, right before throttle. Start the engine and you’ll see it warm up around 2000 rpm and then settle in around 1500 rpm. Front Wheel Speed – it’s provided by ID 299. Front wheel is first word. The wheel has to move at a certain minimal speed to get it to register. I’ve not totally figured out the scale but expect it to be pulses off of the 48 tooth hall effect sensor. Rear Wheel Speed – it’s also provided by ID 299. Rear wheel is second word. Lean Angle – it’s provided by ID 299. The last 3 bytes (6,7,8) split into two 12bit counters. The last 0x000 is for lean. I’ve tested the lean extensively. 0x000 is neutral, 0x001 starts leaning to the right. 0xFFF starts leaning to the left. I *believe* the first 0x000 are tilt but I’ve yet to validate. Traction Control – its provided by ID 1104. I’ve more testing to do here while on the road. I have figured out that the byte 1, 3, 5 express changes to ABS, MTC, and MODE settings respectively. I expect byte 2 to be ABS intervention intensity, byte 4 to be MTC intervention intensity. Oil temperature – I think it is provided by ID 1344, byte 7/8. Yet to fully validate. Water temperature – I think it is provided by ID 1360, byte 2. Yet to fully validate. Fuel level – I think it is provided by ID 1361, byte 1, as a percentage. Yet to fully validate. Date Time - I don’t know where this is yet. Can’t find it anywhere. It’s important to me for logging so if you happen to find it, please PM me! Forward looking stuff... Logging – baseline edition Per above, the real reason for this work was to have a data logger. To do that, one can’t (should not) ride with a laptop taped to their race suit (unless they use 4+ wraps of tape). This being the goal, I ordered a few of these for a very reasonable $24. https://www.tindie.com/products/akpc806a/can-bus-logger-with-sd-card https://github.com/akpc806a/CAN_Logger/blob/master/Doc/CAN Logger (manual).pdf I don’t have it yet but it seems like the perfect starting point for data logging. The wheel speed and brake data above comes in at 100 samples per second. The throttle data comes in at 50 samples per second so you can do the math on file size pretty quick. Right now I see the biggest problem being data sync across my CAN bus logs, my SPEEDANGLE data (GPS, speed, lean) and my GoPro video streams. I need to find the DATE TIME data in the CAN bus feed unless I can get time another way… Logging – deluxe edition The ultimate logger may well be this one. The design is based on a Teensy 3.2 and leverages some cool stuff FUSION (handle of the Tindie maker whose name is Paul) offers: The amazing Teensy 3.2 unit ($20): https://www.pjrc.com/store/teensy32.html Killer shield for the Teensy ($95) that adds GPS for tracking (and data/time!), a GSM tracker for pushing data out to cloud service (e.g.: IoT into Azure cloud; 3D motion tracking for your spouse on long rides, etc.), a CAN bus transceiver, and a regulated power supply that can be powered from your motorcycle. https://www.tindie.com/products/Fusion/tinytracker-gpsgsmcan-for-teensy-3132/ Another killer shield ($28) that mounts to the above shield to offer a 3-axis accelerometer, a 3-axis gyroscope, a 3-axis compass and an altimeter (height above sea level). https://www.tindie.com/products/Fusion/10dof-mpu9250ms5637-sensor-addon-teensy-30-32/ Lastly, we need to write all this crazy cool data to storage via a shield for Micro SD ($8) https://www.tindie.com/products/Fusion/teensy-slim-micro-sd-card-adapter Unfortunately, this particular logger will require a lot of software to be written… and I’ve yet to start. But it sure does seems like the ultimate data logger suitable to both Super Duke’n on the track and for riding my 1200 GSA to Deadhorse, AK! That’s in for now. I mostly wanted to share all that I had to return value to the group. Enjoy!