Notices

Canbus triple

Thread Tools
 
Rate Thread
 
Old May 29, 2015 | 11:25 PM
  #1  
badinfluence's Avatar
Thread Starter
Senior Member
 
Joined: Feb 2014
Posts: 377
Likes: 2
From: Central, IL
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.
Reply
Old May 29, 2015 | 11:32 PM
  #2  
Legot's Avatar
Scrappy
iTrader: (1)
 
Joined: Jun 2014
Posts: 1,193
Likes: 8
From: Arizona
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.
Reply
Old May 31, 2015 | 03:46 PM
  #3  
badinfluence's Avatar
Thread Starter
Senior Member
 
Joined: Feb 2014
Posts: 377
Likes: 2
From: Central, IL
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.
Reply
Old May 31, 2015 | 05:57 PM
  #4  
Legot's Avatar
Scrappy
iTrader: (1)
 
Joined: Jun 2014
Posts: 1,193
Likes: 8
From: Arizona
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.
Reply
Old Jun 1, 2015 | 09:41 AM
  #5  
badinfluence's Avatar
Thread Starter
Senior Member
 
Joined: Feb 2014
Posts: 377
Likes: 2
From: Central, IL
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; Jun 1, 2015 at 09:50 AM.
Reply
Old Jun 2, 2015 | 05:15 PM
  #6  
Legot's Avatar
Scrappy
iTrader: (1)
 
Joined: Jun 2014
Posts: 1,193
Likes: 8
From: Arizona
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.
Reply
Old Jun 2, 2015 | 07:24 PM
  #7  
ShellDude's Avatar
weeeeeeeeee
iTrader: (12)
 
Joined: Jun 2008
Posts: 4,200
Likes: 229
From: Outside Philadelphia
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.
Reply
Old Jun 2, 2015 | 07:45 PM
  #8  
badinfluence's Avatar
Thread Starter
Senior Member
 
Joined: Feb 2014
Posts: 377
Likes: 2
From: Central, IL
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?
Reply
Old Jun 3, 2015 | 06:17 PM
  #9  
Legot's Avatar
Scrappy
iTrader: (1)
 
Joined: Jun 2014
Posts: 1,193
Likes: 8
From: Arizona
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.
Reply
Old Jun 3, 2015 | 07:33 PM
  #10  
badinfluence's Avatar
Thread Starter
Senior Member
 
Joined: Feb 2014
Posts: 377
Likes: 2
From: Central, IL
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.
Reply
Old Jun 4, 2015 | 05:07 AM
  #11  
Legot's Avatar
Scrappy
iTrader: (1)
 
Joined: Jun 2014
Posts: 1,193
Likes: 8
From: Arizona
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.
Reply
Old Jun 7, 2015 | 03:28 PM
  #12  
ShellDude's Avatar
weeeeeeeeee
iTrader: (12)
 
Joined: Jun 2008
Posts: 4,200
Likes: 229
From: Outside Philadelphia
so this little gadget is pretty neat. Mine arrived yesterday and I've already tapped into two of the buses on my "other" car.
Reply
Old Jun 7, 2015 | 04:30 PM
  #13  
logalinipoo's Avatar
Driving my unreliable rx8
 
Joined: Oct 2012
Posts: 2,051
Likes: 7
From: Alvarado, Tx
now you get to hunt down the codes for accessing stuff. Does it work the same as torque app?
Reply
Old Jun 7, 2015 | 04:48 PM
  #14  
badinfluence's Avatar
Thread Starter
Senior Member
 
Joined: Feb 2014
Posts: 377
Likes: 2
From: Central, IL
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.
Reply
Old Jun 7, 2015 | 05:43 PM
  #15  
ShellDude's Avatar
weeeeeeeeee
iTrader: (12)
 
Joined: Jun 2008
Posts: 4,200
Likes: 229
From: Outside Philadelphia
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.
Reply
Old Jun 7, 2015 | 06:47 PM
  #16  
badinfluence's Avatar
Thread Starter
Senior Member
 
Joined: Feb 2014
Posts: 377
Likes: 2
From: Central, IL
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.
Reply
Old Jun 7, 2015 | 07:46 PM
  #17  
ShellDude's Avatar
weeeeeeeeee
iTrader: (12)
 
Joined: Jun 2008
Posts: 4,200
Likes: 229
From: Outside Philadelphia
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; Jun 7, 2015 at 07:48 PM.
Reply
Old Jun 8, 2015 | 12:24 AM
  #18  
Legot's Avatar
Scrappy
iTrader: (1)
 
Joined: Jun 2014
Posts: 1,193
Likes: 8
From: Arizona
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.
Reply
Old Jun 8, 2015 | 09:17 AM
  #19  
paimon.soror's Avatar
Registered
iTrader: (15)
 
Joined: Jun 2010
Posts: 7,560
Likes: 27
From: Between Cones
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
Reply
Old Jun 8, 2015 | 10:02 AM
  #20  
badinfluence's Avatar
Thread Starter
Senior Member
 
Joined: Feb 2014
Posts: 377
Likes: 2
From: Central, IL
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.
Reply
Old Jun 8, 2015 | 10:03 AM
  #21  
badinfluence's Avatar
Thread Starter
Senior Member
 
Joined: Feb 2014
Posts: 377
Likes: 2
From: Central, IL
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.
Reply
Old Jun 8, 2015 | 10:24 AM
  #22  
paimon.soror's Avatar
Registered
iTrader: (15)
 
Joined: Jun 2010
Posts: 7,560
Likes: 27
From: Between Cones
np, any questions just ask, i'll do my best to answer in a timely manner
Reply
Old Jun 8, 2015 | 03:05 PM
  #23  
badinfluence's Avatar
Thread Starter
Senior Member
 
Joined: Feb 2014
Posts: 377
Likes: 2
From: Central, IL
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.
Reply
Old Jun 10, 2015 | 10:55 PM
  #24  
ShellDude's Avatar
weeeeeeeeee
iTrader: (12)
 
Joined: Jun 2008
Posts: 4,200
Likes: 229
From: Outside Philadelphia
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
Reply
Old Jun 11, 2015 | 08:43 AM
  #25  
paimon.soror's Avatar
Registered
iTrader: (15)
 
Joined: Jun 2010
Posts: 7,560
Likes: 27
From: Between Cones
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.
Reply


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


All times are GMT -5. The time now is 12:19 AM.