paper: You can do CAN: CAN on a Budget

You can do CAN: CAN on a Budget
by: ratdude747

CAN can be done for under $50 quite easily using the 2011 (and later) KOP and some wise shopping. CAN parts can be made from recycled parts and is pretty easy to wire.

A tutorial on the hardware (electronics) aspect of CAN wiring using the black jaguar out of the 2011 (and later) KOP. Made from the experiences of a veteran wiring student who had no previous knowledge of CAN bus and had to ask a lot of questions and do some experimenting to make CAN work while keeping to a tight budget. Includes previously undocumented (as far as I know of) methods and quick tricks.

Also included is a pinout spreadsheet. If you are trying the “use your own serial cable” method or using an rj-12 adapter with different pinouts than described, feel free to add a new column for your pinouts and delete the ones you are not using. I keep a copy for this exact reason… you never know when it may need to be edited.

Suggestions and comments are always welcome!

CAN_pinouts.xls (8 KB)
CAN.pdf (2.1 MB)
CAN_source.doc (2.02 MB)
CAN_source.odt (2.08 MB)

updated with new pictures.

Hope this is helpful to somebody out there…

“You may then load your code. After doing that, the “CONSOLE OUPUT” DIP switch on the cRIO needs to be switched to off. Whenever you go to load code, set the DIP to on, otherwise, keep it at off.”

Why do you need to set the DIP to on to download the code? I have downloaded C++ code to the robot with this switch in the off position and it worked with no problems.

Same here. The only time I have ever had to fiddle with DIP switches are when flashing the cRIO.

Edit: Just wanted to point out, make sure that when crimping the cables, the wire ends are fully inserted and have contact with the end of the plug, and you do a FIRM crimp. We did CAN last year, and so many CAN cables failed due to a bad crimp.

thats odd. we had issues uploading labview with the switch off. switching it on fixed it.

I will have to get back with the team’s programmer and see if he had any luck uploading with it off.

if it does work, i will edit the files to reflect that.

I’ve never needed to turn Console Out on to download (from LabVIEW)
I’ve been doing some serial experimentation, and it downloaded fine.

Related: The “No App” switch sometimes needs to be flipped to download.

seems like there was something else going on. At tomorrow’s meeting, I will see if the programmer would be willing to test it with the switch off.

otherwise, how does the rest look?

ok, i have an answer:

he claims that:

  1. the computer does not see the crio with the console out dip switch turned off

  2. CAN works with the switch on.

granted, this crio had non frc FW at one point which we reflashed. also, we are not using the jags in closed loop mode.

any ideas?

The console out switch controls whether or not debug messages and the like are echo’d out the serial port. It has absolutely nothing to do with the network communications link, and as far as I know, should have no effect on the ability to transfer files to the cRio. Perhaps someone else can verify this for me?

Interestingly enough, if you’re using the serial to CAN bridge, I’d think leaving it on WOULD mess with CAN, but I guess if the Jags are smart enough to ignore non-properly formatted messages all it would do is slow things down a bit.

Updated version!

The issues addressed above have been corrected, as it was a programmer error on which way is “on” on the crio’s dip switches.

ANY feedback is still considered as this document may be used for many years to come.

Updated again!

It now has many grammar fixes and spelling corrections. A few spots have been re-worded to improve clarity. Also added is a revision date to show how new the version is.


I have updated the document to reflect things in 2012, including the new cRIO and the move of the firmware/bdc-comm to TI’s site.

I no longer have direct access to a team (since I am now a college student who is not actively mentoring), so if there any technical errors, Be sure to post about it and I will update to document.


After reading info in some of the beta threads, my information regarding the cRIO II is wrong, and I have since uploaded fixed files.

The error is that I forgot to mention the while the cRIO II doesn’t have dip switches, the switches still exist, now in the cRIO firmware utility.

due to the beta nature of things, once screenshots of the new firmware tool are posted int he threads, there may be further updates to the document.

There was an error in the graphics in the latest version.

Since I was using libreoffice and the .doc conversion (when I opened the source to edit it) was to blame for the errors, I now have a .odt version for those who wish to edit using libreoffice/openoffice/etc. the other 2 versions were also updated to fix the error.


I made some grammatical and wording edits. I also added a brief bit regarding pre-made parts.

Reviving the thread for a question:

Could somebody check the pinout of the KOP db9 to rj-12 adapters against the chart in the whitepaper?

If they are different , I will note that in an updated whitepaper. If not, I will also note that in the whitepaper.

(seeing 131 .pdf downloads, SOMEBODY out there must be reading it…)

The pinout of the adapter in this years KoP is different.
These are the colors of the wires that should go to the pins of the DB9 connector:
Blue -> Pin 2
White -> Pin 3
Yellow -> Pin 5

If you use the resistor, it goes on red and green (I haven’t found it necessary)

The black wire can be ignored

noted. you do need the terminator though.

Anybody else able to confirm the pinout? Unlike the db9 adapters from mono price these seem to use the correct color/rj12 color scheme. Unless I hear otherwise, I will promptly edit the document to reflect that.

Good and bad news:

good- all documents have been updated, including the pinout chart

bad- I was only able to upload the .pdf version; the other versions are no longer allowed for upload. I will see if there is a way around the issue, as the editable versions were actually seeing downloads before the filetype ban.

what was changed:

  • pinout charts updated to include the 2012 pinouts (thank you ggorsuch for the tip!)
  • changed some image formatting in the serial splice cable section
  • added references to the 2012 adapter
  • made some spelling fixes
  • converted the document to Justified alignment to make it look more professional.

as always, comments and suggestions are always welcome.

EDIT- Weekend/build season wise, today happens to be the 1 year anniversary of the document’s original writing.

The upload issue has been fixed. All files can be downloaded again.

Also made a few grammar repairs.

I have uploaded an updated version:

  • Images converted to lossless JPG compression in the .pdf version.
  • Added my new personal logo to the end of the document.

FYI, the revision date didn’t change since there text is still the same.