Close
0%
0%

CAN Simple

A really simple CAN network for about $10 a node.

Public Chat
Similar projects worth following
This is the hardware part of CAN Simple, a really simple CAN Bus setup for robotics or just desktop experimentation.

Each node consists of only three parts: an STM32 "Blue pill" processor board, a CAN transceiver module, and an SB300 half size proto board. And some headers.

I'm providing step by step instructions, but just to give you an idea, the proto board on the left shows the complete wiring diagram for a UART or I2C node. That's it. The rest is just headers.

There are lots of possibilities here. At present I am running the following nodes:



Motor controllers (4)
IMU
Autopilot
RC radio
Bluetooth
SiK type telemetry
LCD
WAV player

Other options include:
GPS
Lidar
Sonar
Servo controller
Stepper controller
Wifi
Cellular
etc.

CAN Simple nodes all look pretty much alike. Only the headers on the top change. There's a tremendous amount of connectivity available on that top row, including two UARTs, I2C, SPI, PWM, Quadrature decoders, a bunch of ADCs, and a complete 8-bit parallel port.

Here is the layout for my motor controllers.  On left, GPIOs are pulled low with resistors to set the motor number. On the top, headers are provided for PWM, Quadrature decoding, and current sense ADC.

Below is the pin-out of the bottom row for all nodes.

Pins at B14 and B15 are 5V and GND.  These go straight through to the corresponding pins on the top and provide power to peripherals.

Pins at A9 and A10 are CanL and CanH.

Pins at 5V and G are 5V and GND, and provide power to the processor module.

On the backplane, the two 5V lines can be connected or can have separate power supplies.

Pins at A8, B8, and B9 have no connection, and are just there for stiffness. You can add additional stiffeners anywhere at B4 through B7.

The dual row headers on the bottom plug into a simple backplane. Dual row headers are used for stiffness.

When the nodes are plugged into the backplane the whole setup looks like this:

For even more rigidity, the nodes can be joined together in pairs, as in some cases above.

CAN_Simple_UART.svg

This is the Inkscape file. It has all the various layers, plus a couple of goodies like a logic level converter and an EEPROM.

svg+xml - 2.06 MB - 08/01/2020 at 15:53

Download

  • 1 × Processor board STM32F103C8T6 processor board AKA "Blue Pill", available on Amazon and multiple other sources.
  • 1 × CAN Bus module SN65HVD230 CAN bus module. Available on Amazon and multiple other sources.
  • 1 × SB300 protoboard Available at Amazon, Mouser, and Solarbotics.

  • 1
    Preparing the CAN module
    1. Before you do anything else, remove the 120r resistor from between CanH and CanL.  
      We're going to mount the module face down on the back of the proto board and then it'll be too late.
    2. Have a look at the back of the module and see if the markings are opposite to what they should be.  If they are, just erase them with a felt tip pen;  maybe save yourself some head scratching later.

  • 2
    Preparing the proto board

    To transfer a circuit to a protoboard, I draw it in up in Inkscape and print it on a clear label and stick that on the component side of the board. If you want to try it, use the first image below. 

    I've also uploaded the Inkscape file.  Even if you're not familiar with Inkscape, you can play around with the different layers, and copy and paste pads and traces.

    In any case, you can use the second image as a guide.

    Also, if you're going to drill the four mounting holes, this is the time to do it.

    The horizontal lines are just for reference. They match the traces on the copper side.

  • 3
    Add the jumper wires​

    Solder in the six jumper wires and trim the tails.  You can just use resistor leads for these.

View all 7 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates