Canbus triple
#1
Senior Member
Thread Starter
Canbus triple
https://www.canb.us/
This is very similar to the RXDuino, but was developed for the Mazda3/MazdaSpeed3 market. It is just as universal as the shield, it is just very very small with 3 interfaces. They have written a "Middleware" for passing CANBUS or specifically removing or altering them. EVENTUALLY I feel like this could be a way to dynamically tune our cars with nothing more than a UART from a Bluetooth phone or a computer running Arduino IDE.
I went ahead and started the wave by buying one for around 100 bucks. Some of the Series II functions have already been mapped since they share some similarity with the Series II Mazdaspeed 3 & Gen 3 Mazda3. (<2014)
There is also some extra pins that are unused on the board that could be used for things like Methanol Injection, a shift light, or anything you think of with PWM. There is also several Analog ports open. I was thinking Methanol Injection based on the CANBUS MAF, LOAD, & APP packets. IE 75%-WOT would be your injection point to start at. (Maybe even a oil injection pump! (on a series 1))
Another interesting idea I had was a Haltech using CAN on the 3rd bus, passing information to BUS1 (Stock PCM), and BUS2(former stock PCM to everything else, then would be HALTECH), or technically selectively using the stock ECU for some operations & the Haltech for others. The possibilities are what you can program!
http://docs.canb.us/images/cbt-block.jpg
I will post some more pictures so you realize how tiny this thing really is. It literally is smaller than the palm of your hand. Amazing for the price point. This is absolutely a BETA/ALPHA so it isn't proven yet.
Anyone else on board with this so far? I want to do some routine maintenance on my car before I jump in, and I want to do so without cutting and splicing any wires.
This is very similar to the RXDuino, but was developed for the Mazda3/MazdaSpeed3 market. It is just as universal as the shield, it is just very very small with 3 interfaces. They have written a "Middleware" for passing CANBUS or specifically removing or altering them. EVENTUALLY I feel like this could be a way to dynamically tune our cars with nothing more than a UART from a Bluetooth phone or a computer running Arduino IDE.
I went ahead and started the wave by buying one for around 100 bucks. Some of the Series II functions have already been mapped since they share some similarity with the Series II Mazdaspeed 3 & Gen 3 Mazda3. (<2014)
There is also some extra pins that are unused on the board that could be used for things like Methanol Injection, a shift light, or anything you think of with PWM. There is also several Analog ports open. I was thinking Methanol Injection based on the CANBUS MAF, LOAD, & APP packets. IE 75%-WOT would be your injection point to start at. (Maybe even a oil injection pump! (on a series 1))
Another interesting idea I had was a Haltech using CAN on the 3rd bus, passing information to BUS1 (Stock PCM), and BUS2(former stock PCM to everything else, then would be HALTECH), or technically selectively using the stock ECU for some operations & the Haltech for others. The possibilities are what you can program!
http://docs.canb.us/images/cbt-block.jpg
I will post some more pictures so you realize how tiny this thing really is. It literally is smaller than the palm of your hand. Amazing for the price point. This is absolutely a BETA/ALPHA so it isn't proven yet.
Anyone else on board with this so far? I want to do some routine maintenance on my car before I jump in, and I want to do so without cutting and splicing any wires.
#3
Senior Member
Thread Starter
It is so small, I want to hide it in the dash if I get a BT 4.0LE device to work with it. Right now I am using oBDLINKMX, Torque, & A EVGA Tegra Note 7.
Do you have one? Not sure where the TMPS is actually.
#4
Scrappy
iTrader: (1)
I don't have one, but they're neat little tools! The TPMS module is right above the LCD in the dash. If you're mounting anything permanently I'd suggest doing it up there with whatever programming connections you need going to the glovebox sooner than going BT (have you considered an HC06? They're like $5 and work pretty well). There's a huge empty cavity up there with no nav unit installed.
#5
Senior Member
Thread Starter
I don't have one, but they're neat little tools! The TPMS module is right above the LCD in the dash. If you're mounting anything permanently I'd suggest doing it up there with whatever programming connections you need going to the glovebox sooner than going BT (have you considered an HC06? They're like $5 and work pretty well). There's a huge empty cavity up there with no nav unit installed.
Right now the idea look into CAN processing on the HALTECH 500 RE, since it supports it, and see if I can make like a railroad track switcher for when I go off the deep end and do the 13B-MSP-PP swap. (Turbo MSP + Perf exhaust ports + Turbo.) That is a long way down the road from here since my engine is only getting better as time goes on.
Sadly, I wanted to connect to the CBT with I2C and keep it simple, but the SCL and SDA pins are used for Initializing the 2nd and 3rd Canbus controllers, so I either need to remap them somehow, or do something else.
Last edited by badinfluence; 06-01-2015 at 09:50 AM.
#6
Scrappy
iTrader: (1)
Yeah, the SPI bus and I2C share the same pins on allot of microcontrollers. A simple option is to just throw in a SPI to I2C bridge ic, a few of them even have a few extra GPIOs included on chip.
If you wanted allot more power you could even add a second UC that has multiple of each bus on board.
If you wanted allot more power you could even add a second UC that has multiple of each bus on board.
#8
Senior Member
Thread Starter
Yeah, the SPI bus and I2C share the same pins on allot of microcontrollers. A simple option is to just throw in a SPI to I2C bridge ic, a few of them even have a few extra GPIOs included on chip.
If you wanted allot more power you could even add a second UC that has multiple of each bus on board.
If you wanted allot more power you could even add a second UC that has multiple of each bus on board.
I will take a peek at that, thanks for the advice. I dont understand why they used SPI instead of I2C considering canbus is also a 2 wire protocol, but meh it doesn't matter. The only thing I am afraid of is that I am going to overwork the Lenardo with to much processing and stuff on the SPI. Is that a realistic problem you think?
#9
Scrappy
iTrader: (1)
uC is for micro controller.
They probably just used SPI to talk to the CAN bus because SPI can send simple commands to a CAN controller ic, while I2C would be using the microcontoller to generate CAN style messages and send it through an I2C to CAN bridge ic. It might just be cheaper or conserve more processing power on the uC.
I don't think you'll run into overworking the Leonardo unless your code is pretty big.
They probably just used SPI to talk to the CAN bus because SPI can send simple commands to a CAN controller ic, while I2C would be using the microcontoller to generate CAN style messages and send it through an I2C to CAN bridge ic. It might just be cheaper or conserve more processing power on the uC.
I don't think you'll run into overworking the Leonardo unless your code is pretty big.
#10
Senior Member
Thread Starter
uC is for micro controller.
They probably just used SPI to talk to the CAN bus because SPI can send simple commands to a CAN controller ic, while I2C would be using the microcontoller to generate CAN style messages and send it through an I2C to CAN bridge ic. It might just be cheaper or conserve more processing power on the uC.
I don't think you'll run into overworking the Leonardo unless your code is pretty big.
They probably just used SPI to talk to the CAN bus because SPI can send simple commands to a CAN controller ic, while I2C would be using the microcontoller to generate CAN style messages and send it through an I2C to CAN bridge ic. It might just be cheaper or conserve more processing power on the uC.
I don't think you'll run into overworking the Leonardo unless your code is pretty big.
https://github.com/CANBus-Triple/CAN...ive/master.zip
It seems like a rather large project in itself for being basically an Alpha. I was worried my code + their code.
#14
Senior Member
Thread Starter
IE PCM has a packet that talks about a Knock, the packet is passed to my "handler" then my handler displays it on the LCD screen warning of the knock, and turns down the radio.
#15
weeeeeeeeee
iTrader: (12)
If you're after the high speed bus just go with an OBD2 cable. I've heard (Paimon could confirm) that all 3 are accessible behind / inside the dash near the stereo / lcd FWIW.
I'm doing this on another vehicle and haven't decided if I'll go after the high speed bus or just rely on my existing BT ELM adapter.
Yup.... sniffing the wire, collecting codes, basically in a terminal emulator... old school fun.
I'm doing this on another vehicle and haven't decided if I'll go after the high speed bus or just rely on my existing BT ELM adapter.
Yup.... sniffing the wire, collecting codes, basically in a terminal emulator... old school fun.
#16
Senior Member
Thread Starter
If you're after the high speed bus just go with an OBD2 cable. I've heard (Paimon could confirm) that all 3 are accessible behind / inside the dash near the stereo / lcd FWIW.
I'm doing this on another vehicle and haven't decided if I'll go after the high speed bus or just rely on my existing BT ELM adapter.
Yup.... sniffing the wire, collecting codes, basically in a terminal emulator... old school fun.
I'm doing this on another vehicle and haven't decided if I'll go after the high speed bus or just rely on my existing BT ELM adapter.
Yup.... sniffing the wire, collecting codes, basically in a terminal emulator... old school fun.
#18
Scrappy
iTrader: (1)
The ones behind the dash are at the TPMS module. Just go from there! It's way easier than anything else.
None of the LCD wires are CAN, it's controlled through the radio/metra unit via a weird dual mode I2C bus. None of the two LCD+CAN interfaces that I've seen for the 8 actually go through the radio, but there is a CAN connection somewhere in the back (I wouldn't go from there just because it's way harder to work in that space.
The OBD port is also really simple, but that's not what we do here.
None of the LCD wires are CAN, it's controlled through the radio/metra unit via a weird dual mode I2C bus. None of the two LCD+CAN interfaces that I've seen for the 8 actually go through the radio, but there is a CAN connection somewhere in the back (I wouldn't go from there just because it's way harder to work in that space.
The OBD port is also really simple, but that's not what we do here.
#19
Registered
iTrader: (15)
Sorry guys, been absent from the forums because of lots of changes in my life (house buying, wedding planning, etc).
This is an awesome little product! I'll have to snag one when i get the chance to play around with it
FYI, the S2 does indeed use the MSCAN to communicate with the LCD screens (vs the S1 that used the SPI bus).
Some data on the TPMS modules can be had on the old rxduino code:
https://github.com/paimonsoror/RxDui...ms_methods.cpp
https://github.com/paimonsoror/RxDui...uino_defines.h
This is an awesome little product! I'll have to snag one when i get the chance to play around with it
FYI, the S2 does indeed use the MSCAN to communicate with the LCD screens (vs the S1 that used the SPI bus).
Some data on the TPMS modules can be had on the old rxduino code:
https://github.com/paimonsoror/RxDui...ms_methods.cpp
https://github.com/paimonsoror/RxDui...uino_defines.h
#20
Senior Member
Thread Starter
Yeah 6 and 14, I thought the plug was the other way up in the picture.
#21
Senior Member
Thread Starter
Sorry guys, been absent from the forums because of lots of changes in my life (house buying, wedding planning, etc).
This is an awesome little product! I'll have to snag one when i get the chance to play around with it
FYI, the S2 does indeed use the MSCAN to communicate with the LCD screens (vs the S1 that used the SPI bus).
Some data on the TPMS modules can be had on the old rxduino code:
https://github.com/paimonsoror/RxDui...ms_methods.cpp
https://github.com/paimonsoror/RxDui...uino_defines.h
This is an awesome little product! I'll have to snag one when i get the chance to play around with it
FYI, the S2 does indeed use the MSCAN to communicate with the LCD screens (vs the S1 that used the SPI bus).
Some data on the TPMS modules can be had on the old rxduino code:
https://github.com/paimonsoror/RxDui...ms_methods.cpp
https://github.com/paimonsoror/RxDui...uino_defines.h
#23
Senior Member
Thread Starter
It is pretty low priority with the other stuff I am planning, but I wanted to ask if you knew.
#24
weeeeeeeeee
iTrader: (12)
So trying to get support is proving to be problematic. I coded up a real nice example for doing BT LE and am able to communicate with the CBT's UART with no problems.... however it flat out ignores my request for data over BT... works fine over USB which is super annoying.
Need some help with Android LE - CANBus Triple
Need some help with Android LE - CANBus Triple
#25
Registered
iTrader: (15)
actually, do you know the commands for the stereo and/or steering wheel controls? I am going to try and break that bus off from the main network and I want to be able to control the stereo and LCD IE select a CD, set Volume, and hopefully adjust the HVAC?
It is pretty low priority with the other stuff I am planning, but I wanted to ask if you knew.
It is pretty low priority with the other stuff I am planning, but I wanted to ask if you knew.
#define CC_REQUEST 0x7E0
#define CC_REPLY 0x7E8
#define CC_UP 0xD6
#define CC_DOWN 0x9C
#define CC_CNCL 0x38
#define CC_ONOFF 0x648
#define CC_ONOFFRESP 0x650
So if i remember correctly, you will see a response from peripheral 0xD6 on address 0x7E8 when you press UP on the cruse control, 0x9C for down, and 0x38 for the cancel button
Pressing ON/OFF will echo a message on 0x650 (data 0, x80 yellow, xFF green)
as far as stereo controls go, IIRC that is nothing more than the standard R2R ladder used in the industry (i.e. to comply with SWC harnesses and the like). I dont believe any responses are echo'd on the canbus for the stereo controls.