Notices

Canbus triple

Thread Tools
 
Search this Thread
 
Rate Thread
 
Old 05-29-2015, 11:25 PM
  #1  
Senior Member
Thread Starter
 
badinfluence's Avatar
 
Join Date: Feb 2014
Location: Central, IL
Posts: 377
Received 2 Likes on 2 Posts
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.
Old 05-29-2015, 11:32 PM
  #2  
Scrappy
iTrader: (1)
 
Legot's Avatar
 
Join Date: Jun 2014
Location: Arizona
Posts: 1,193
Received 7 Likes on 6 Posts
Did you get one? I remember this when the guys were just getting started.

Is easy to get to the can buses, either go through the obd port or splice off the TPMS module.
Old 05-31-2015, 03:46 PM
  #3  
Senior Member
Thread Starter
 
badinfluence's Avatar
 
Join Date: Feb 2014
Location: Central, IL
Posts: 377
Received 2 Likes on 2 Posts
Originally Posted by Legot
Did you get one? I remember this when the guys were just getting started.

Is easy to get to the can buses, either go through the obd port or splice off the TPMS module.
Yes, I got it Thursday. I was looking at splicing at the Radio & LCD (Separating them), like everyone did with the RXDuino.

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.
Old 05-31-2015, 05:57 PM
  #4  
Scrappy
iTrader: (1)
 
Legot's Avatar
 
Join Date: Jun 2014
Location: Arizona
Posts: 1,193
Received 7 Likes on 6 Posts
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.
Old 06-01-2015, 09:41 AM
  #5  
Senior Member
Thread Starter
 
badinfluence's Avatar
 
Join Date: Feb 2014
Location: Central, IL
Posts: 377
Received 2 Likes on 2 Posts
Originally Posted by Legot
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.
It has BT 4.0 LE, but if I am doing anything with any kind of processing of CAN, it will be done via a hardwire or USB/FDTI. You were thinking use the HC06 as a BT UART Link? I have the Adafruit BT LE Friend that is a UART for Windows 7 only since Windows 8 supports BT LE and Windows 7 absolutely has no way to get LE. I was considering using Android as the UART, via the new Nvidia Shield. I was looking for something that would be easy to write software for and would work with everything else I plan on doing. (Was thinking of using the Shield as a HUD, Keeping the OBDLINKMX, using the Android IOIO I have, and adding int he CBT) If all else fails, I have an INTEL NUC I can use instead of Android. Until I have a reason, I am going to keep from doing serious modding to the electrical system. (One of the reasons I have hesitated for the ESC so long)

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.
Old 06-02-2015, 05:15 PM
  #6  
Scrappy
iTrader: (1)
 
Legot's Avatar
 
Join Date: Jun 2014
Location: Arizona
Posts: 1,193
Received 7 Likes on 6 Posts
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.
Old 06-02-2015, 07:24 PM
  #7  
weeeeeeeeee
iTrader: (12)
 
ShellDude's Avatar
 
Join Date: Jun 2008
Location: Outside Philadelphia
Posts: 4,200
Received 229 Likes on 153 Posts
picked up the triple and the OB2 adapter although I'll likely be hacking directly into a low speed bus on another "project" I have going on outside of the rotary world.
Old 06-02-2015, 07:45 PM
  #8  
Senior Member
Thread Starter
 
badinfluence's Avatar
 
Join Date: Feb 2014
Location: Central, IL
Posts: 377
Received 2 Likes on 2 Posts
Originally Posted by Legot
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.
Sorry, what is UC? like the symbol for Micro and C for controller? Maybe I am thinking to hard about that?

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?
Old 06-03-2015, 06:17 PM
  #9  
Scrappy
iTrader: (1)
 
Legot's Avatar
 
Join Date: Jun 2014
Location: Arizona
Posts: 1,193
Received 7 Likes on 6 Posts
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.
Old 06-03-2015, 07:33 PM
  #10  
Senior Member
Thread Starter
 
badinfluence's Avatar
 
Join Date: Feb 2014
Location: Central, IL
Posts: 377
Received 2 Likes on 2 Posts
Originally Posted by Legot
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.
Main Firmware
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.
Old 06-04-2015, 05:07 AM
  #11  
Scrappy
iTrader: (1)
 
Legot's Avatar
 
Join Date: Jun 2014
Location: Arizona
Posts: 1,193
Received 7 Likes on 6 Posts
Presumably they saved a scent account of memory on the chip for users to work with. It should have 32kb of flash to work with, minus a couple for the bootloader.

You probably won't fill it up.
Old 06-07-2015, 03:28 PM
  #12  
weeeeeeeeee
iTrader: (12)
 
ShellDude's Avatar
 
Join Date: Jun 2008
Location: Outside Philadelphia
Posts: 4,200
Received 229 Likes on 153 Posts
so this little gadget is pretty neat. Mine arrived yesterday and I've already tapped into two of the buses on my "other" car.
Old 06-07-2015, 04:30 PM
  #13  
Driving my unreliable rx8
 
logalinipoo's Avatar
 
Join Date: Oct 2012
Location: Alvarado, Tx
Posts: 2,051
Received 5 Likes on 5 Posts
now you get to hunt down the codes for accessing stuff. Does it work the same as torque app?
Old 06-07-2015, 04:48 PM
  #14  
Senior Member
Thread Starter
 
badinfluence's Avatar
 
Join Date: Feb 2014
Location: Central, IL
Posts: 377
Received 2 Likes on 2 Posts
Originally Posted by ShellDude
so this little gadget is pretty neat. Mine arrived yesterday and I've already tapped into two of the buses on my "other" car.
Where did you tap at? I was considering tapping into the highspeed between the PCM and Gauge Cluster, but only AFTER the CBT is a bit more reliable. That bus is flipping scary when it acts up. The low speed bus, has many places it seems to be able to be tapped, my idea was between the LCD and Factory radio like the Rxduino. So that would be all 3 buses used up for me. I was thinking of basically bypassing the Gauge cluster in a way allowing something else to handle certain things.

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.
Old 06-07-2015, 05:43 PM
  #15  
weeeeeeeeee
iTrader: (12)
 
ShellDude's Avatar
 
Join Date: Jun 2008
Location: Outside Philadelphia
Posts: 4,200
Received 229 Likes on 153 Posts
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.
Old 06-07-2015, 06:47 PM
  #16  
Senior Member
Thread Starter
 
badinfluence's Avatar
 
Join Date: Feb 2014
Location: Central, IL
Posts: 377
Received 2 Likes on 2 Posts
Originally Posted by ShellDude
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.
Yeah, that was where I wanted to tap at. I think it is pins like 3 and the below pin? I have the Obd2, but I think most of them don't use that direct PCM connection because it is for Mazda to program with. I got the doc right off his site, which is pretty **** btw.
Old 06-07-2015, 07:46 PM
  #17  
weeeeeeeeee
iTrader: (12)
 
ShellDude's Avatar
 
Join Date: Jun 2008
Location: Outside Philadelphia
Posts: 4,200
Received 229 Likes on 153 Posts
6 and14



but after re-reading it's pretty clear you're after the the wires behind the dash. I dunno....

Last edited by ShellDude; 06-07-2015 at 07:48 PM.
Old 06-08-2015, 12:24 AM
  #18  
Scrappy
iTrader: (1)
 
Legot's Avatar
 
Join Date: Jun 2014
Location: Arizona
Posts: 1,193
Received 7 Likes on 6 Posts
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.
Old 06-08-2015, 09:17 AM
  #19  
Registered
iTrader: (15)
 
paimon.soror's Avatar
 
Join Date: Jun 2010
Location: Between Cones
Posts: 7,560
Received 25 Likes on 23 Posts
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
Old 06-08-2015, 10:02 AM
  #20  
Senior Member
Thread Starter
 
badinfluence's Avatar
 
Join Date: Feb 2014
Location: Central, IL
Posts: 377
Received 2 Likes on 2 Posts
Originally Posted by ShellDude
6 and14



but after re-reading it's pretty clear you're after the the wires behind the dash. I dunno....
Yeah, the plan one to splice before the connector terminal so I don't wear out the pins. I bought the OBDII plug for other cars, but I am using on OBDLINKMX and I can already start to see is D/C when I hit a bump. More than likely going to hardwire that too, and keep the plug clear

Yeah 6 and 14, I thought the plug was the other way up in the picture.
Old 06-08-2015, 10:03 AM
  #21  
Senior Member
Thread Starter
 
badinfluence's Avatar
 
Join Date: Feb 2014
Location: Central, IL
Posts: 377
Received 2 Likes on 2 Posts
Originally Posted by paimon.soror
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
Thanks man, 90% of my data is coming from your site, and form the RXDuino research.
Old 06-08-2015, 10:24 AM
  #22  
Registered
iTrader: (15)
 
paimon.soror's Avatar
 
Join Date: Jun 2010
Location: Between Cones
Posts: 7,560
Received 25 Likes on 23 Posts
np, any questions just ask, i'll do my best to answer in a timely manner
Old 06-08-2015, 03:05 PM
  #23  
Senior Member
Thread Starter
 
badinfluence's Avatar
 
Join Date: Feb 2014
Location: Central, IL
Posts: 377
Received 2 Likes on 2 Posts
Originally Posted by paimon.soror
np, any questions just ask, i'll do my best to answer in a timely manner
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.
Old 06-10-2015, 10:55 PM
  #24  
weeeeeeeeee
iTrader: (12)
 
ShellDude's Avatar
 
Join Date: Jun 2008
Location: Outside Philadelphia
Posts: 4,200
Received 229 Likes on 153 Posts
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
Old 06-11-2015, 08:43 AM
  #25  
Registered
iTrader: (15)
 
paimon.soror's Avatar
 
Join Date: Jun 2010
Location: Between Cones
Posts: 7,560
Received 25 Likes on 23 Posts
Originally Posted by badinfluence
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.
Sorry for the delay,

#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.


You have already rated this thread Rating: Thread Rating: 0 votes,  average.

Quick Reply: Canbus triple



All times are GMT -5. The time now is 06:11 PM.