S10 + Arduino = Interesting hacks

neilbarnwell

Member
Joined
May 15, 2015
Messages
58
Location
Worcester, UK
Has anyone ever heard of someone managing to get data out of the S10 with a microcontroller like an Arduino? As a hobby project I've always wanted to build a custom dash of some kind (non-destructive, it'd just fit over the top of the existing unit) but I'd need to get data like speed, RPM, temperature etc to make it viable. It was going to be tricky on my old CBR1000F because it's all analog, but I expected the Tenere to have some sort of canbus-style thing going on that could easily be hooked into.

I also want to make some motorised spotlights that turn when going around corners, but that's a different subject and a long way off...
 

jbrown

Well-Known Member
Joined
Sep 25, 2012
Messages
376
Location
Novato, CA
neilbarnwell said:
Has anyone ever heard of someone managing to get data out of the S10 with a microcontroller like an Arduino? As a hobby project I've always wanted to build a custom dash of some kind (non-destructive, it'd just fit over the top of the existing unit) but I'd need to get data like speed, RPM, temperature etc to make it viable. It was going to be tricky on my old CBR1000F because it's all analog, but I expected the Tenere to have some sort of canbus-style thing going on that could easily be hooked into.

I also want to make some motorised spotlights that turn when going around corners, but that's a different subject and a long way off...
I haven't seen anything specific to the S10, but I have seen several different vstrom projects that tap into the I2C communications between the dash and ECU. It seems likely that the scheme on the S10 would be similar. Here is one example (there are other completely different approaches, but I can't find them right now):
http://www.stromtrooper.com/dl650-dl650a-2004-2011/73806-stromputer-alive.html
 

neilbarnwell

Member
Joined
May 15, 2015
Messages
58
Location
Worcester, UK
I still haven't found anyone tackling the problem of reading data from the bike. There's a lot of talk about updating a display and flashing lights and things, but relatively speaking that's the easy part. I was hoping there'd be a diagnostic port somewhere on the bike I could leave plugged into the arduino but it doesn't look like this project can get off the ground. Oh well.
 

jbrown

Well-Known Member
Joined
Sep 25, 2012
Messages
376
Location
Novato, CA
Well, the line going from the ECU to the display carries all the information that the display gets. You'd need to sample it and figure out the data format/protocol. It's likely a pretty standard CAN bus. That would give you rpm, temperature, speed, etc..
There are also some ECU pins that do not connect to the harness. There are TXD and RXD pins that go to a serial port (or ports, rather. There are two main renesas CPUs). Those are what's used (along with 4 other chip select and enable lines) to flash the CPUs using a built-in renesas boot-mode flash protocol. I don't think they give you any general connection to the vehicle OS, but I could be wrong.
Most of the signals are the same as on a post 2006 R6, so you can look at a YEC wiring diagram for a recent R6 (which labels the important ECU pins) to get a rough idea of what the ECU provides.
If you wanted to cut a hole in the ECU, you can access the two AUD ports (one for each renesas CPU) that allow interacting via a remote debugger.

The vstrom efforts on the web discuss what is likely a very similar interface to the S10 interface. They use ECUs with similar renesas processors and probably a denso base OS that the specific bike manufacturer starts with.

Here's a picture of an opened up R6 ECU I've been trying to talk to as a first step in talking to my S10 ECU for more than flashing.

If you are looking for data logging capability of fuel, throttle, and other real time data, I doubt that is available from the production ECU, but again, I could be wrong! :)
 

Attachments

neilbarnwell

Member
Joined
May 15, 2015
Messages
58
Location
Worcester, UK
That's some excellent information, thanks! Getting the data that goes to the existing display would meet all my requirements, which avoids me then having to do any fancy stuff with the ECU directly. Unfortunately sampling that and working out the protocol is a bit "close to the metal" and beyond my skills. I need to stand on the shoulders of giants. :)

jbrown said:
Well, the line going from the ECU to the display carries all the information that the display gets. You'd need to sample it and figure out the data format/protocol. It's likely a pretty standard CAN bus. That would give you rpm, temperature, speed, etc..
There are also some ECU pins that do not connect to the harness. There are TXD and RXD pins that go to a serial port (or ports, rather. There are two main renesas CPUs). Those are what's used (along with 4 other chip select and enable lines) to flash the CPUs using a built-in renesas boot-mode flash protocol. I don't think they give you any general connection to the vehicle OS, but I could be wrong.
Most of the signals are the same as on a post 2006 R6, so you can look at a YEC wiring diagram for a recent R6 (which labels the important ECU pins) to get a rough idea of what the ECU provides.
If you wanted to cut a hole in the ECU, you can access the two AUD ports (one for each renesas CPU) that allow interacting via a remote debugger.

The vstrom efforts on the web discuss what is likely a very similar interface to the S10 interface. They use ECUs with similar renesas processors and probably a denso base OS that the specific bike manufacturer starts with.

Here's a picture of an opened up R6 ECU I've been trying to talk to as a first step in talking to my S10 ECU for more than flashing.

If you are looking for data logging capability of fuel, throttle, and other real time data, I doubt that is available from the production ECU, but again, I could be wrong! :)
 
Top