I just recently got my Arduino Uno, and already started playing with it. Must say, lots of fun and a lot more friendly compared to the other development boards that I have toyed with in the past. The main reason I purchased this was to create a small device in my car to monitor information on the CAN-BUS. I ordered a canbus sheild and an lcd screen, but they are currently in transit
My question is that I saw that the can-bus shield comes with a DB9 - OBD2 cable. I assume that it is this one OBD-II to DB9 Cable - CAB-10087 - SparkFun Electronics . My question is that I see that there is a pinout for the HS-CAN which is 6 and 14 on the OBD2, but I was also hoping that I can read from the MS-CAN that my car has as well. These pins are pins 3 and 11 on the OBD2 port. Is there a way that I can move the pins on the OBD2 cable that are supposed to be for the J1850 bus which my car doesn't have, and move them into the proper position for the MS-CAN ?
I guess another question is, could I just run the MS and HS CAN lines to the same pin on the canbus shield and just code a software switch that will just switch speeds to send/read from the different busses?
After doing some research, seems like the Medium Speed bus and the High Speed Bus may be able to share information with eachother through a gateway. I just need to find a canbus/obd2 guru to confirm this
(seems like im talking to myself here but maybe it will help others out in the future heh )
Have you made any progress with this? I too am looking to interact with the MS-CAN on my Ford vehicle.
I have an arduino uno and a sparkfun can bus shield. I am able to read and send HS-CAN bus information but am stumped as to how to do this over the MS-CAN. I simply tried connecting to CAN-H/L pins on the shield to the MS-CAN-H/L pins but this was unsuccessful. I hope it is something as simple as adjusting a setting on the CAN shield.
Update 25 Feb, 17: It was as simple as changing a setting on the CAN shield plus a bit more. Changed speed to the 125K setting but also connected the H/L pins to pins on the MS-CAN itself. I tapped into the 4 wires that connect the radio controls to the system. As it were these 4 wires are 12V, MS-CAN H, MS-CAN L, and GND, everything a can bus shield could need. As proof of concept I wrote script that allows me to control my audio system from my laptop (serial input read) and now with physical buttons. Next I will attempt a volume +/- and/or tune +/- with a rotary encoder and maybe someday an iOS app to emulate the buttons on the current audio interface.
I'm experiencing the same issue as Nalito with access to a Ford MS-can bus. The HS-can works at 500K but when I switch to MS-can pins and 125K I don't receive any data. Does anyone have any recommendations?
I'm able to read off the MS_CAN bus now through the OBD2 connector. I found that the bus is quiet until certain activities "wake" it. If I turn on the radio or place the key in the ignition the bus comes alive and starts outputting data. The key only needs to be in the ignition, I'm guessing due to the RFID system in the key. Anyhow, starting packet investigation now. If anyone has any FORD CAN ID data they want to share, it would be much appreciated.
Have you found out any CAN ID data on either the HS-CAN, I-CAN, or MS-CAN buses?
I'm in the same spot right now and either can't read any data or there isn't any data on the MS-CAN. Is it 250Kbps or 125Kbps? I've got the Escape SE, so it has the base radio, possibly no door/window modules, no GPS/NAV, and basic A/C, so there might not be any data on that bus at all for me.
Here's what I know so far with just reading the data using a can bus shield and an arduino on my 2014 Escape SE 2.0 AWD:
HS-CAN - 500Kbps - Engine/Temp/etc... data
OBD-II pins:
6 - HS-CAN+
14 - HS-CAN-
I-CAN - 500Kbps - Entertainment data
OBD-II pins:
1 - I-CAN+
8 - I-CAN-
MS-CAN - 250Kbps?? 125Kbps?? - HVAC, GPS/NAV, Rear hatch, Entertainment, door locks/windows if modules are present, memory seat, trailer module, etc... data
OBD-II pins:
I'm also looking into a problem I have with my Mondeo which involves me connecting up to MS-CAN and reading the data off the line. Took me a while to get it going and went through about 4 different libraries until I found one that worked. Eventually got it going with the SparkFun library from here ( GitHub - sparkfun/SparkFun_CAN-Bus_Arduino_Library ) and connecting with the following line of code:
Canbus.init(CANSPEED_125)
So, now I can pull of the data, but I am really finding it hard to find a suitable database to decode it. I've posted some messages on Ford forums and on the ForScan site here: