AnanasStepper 2.0

Open Source CAN Bus Based Servo Stepper for Multi Axis Gang Control

Similar projects worth following
This is a closed loop Stepper Motor, based on CAN bus.This project aims to build a motion control system including hardware and software to make Multi-Axis Gang Control easily, applied to 3D printer, a 6+ axis robot arm or some more complex motion control and process control system.

1.CAN bus based
3.Closed loop control with 14bit magnetic encoders(TLE5012).
4.Driver integrated(A4988 or more power MOS Driver)
5.Extendable(For more than 12+), and easily for installation.
6.USB-CAN adapter and SPI-CAN adapter For systems without CAN bus.
7.API for multi-control systems(Arduino Windows Linux Mac LinuxCNC Marlin Smoothie Repetier .etc).

AnanasStepper 1.0 :

AnanasStepper 2.0

This an upgrade of AnanasStepper(, which is a stand alone closed loop stepper driver.With STM32 MCU, this version has more performance to driver stepper well and CAN Bus support.


(CAN bus Stepper)
dir/step (I2C Serial)
with PID Stepper

Nomal dir/step Stepper
Closed loop
YesYes No
Step/Dir NoYesYes
(motor and
CAN bus
Yes Need to extendNo

Why AnanasStepper 2.0?

The answer is simple! the AnanasStepper 1.0 is not good enough.

The goal of AnanasStepper is to build a quasi-industrial grade servo stepper control system.

AnanasStepper 1.0 is based avr328p(Arduino), with DIR/STEP, I2C, and Serial input, driving bipolar step motor. AnanasStepper is A4988 and DRV8825 embedded, with max current reach to 2.0A and 2.5A , which used PID to control the speed and current of the motor.

But the performance can not satisfy me, So I come to The Version 2.0 of AnanasStepper.

Here it comes!!!

Why CAN bus?

First, the event-driven data transmission is carried out at a speed of up to 1 MBit/sec.

Second, the CAN-bus is a 2-wire bus with a line-type topology for network distances of up to 5,000 m, which can be infinitely expanded by interfacing repeaters.

Third, the communication between AnanasStepper will be secure with hardware built-in check mechanism.

So AnanasStepper CAN connect each for more than 110 nodes, with ONLY 4 wires(Power+, GND, CANH, and CANL).

Additional technical advantages of the CAN-bus are:

  • Multi-master capable communication
  • Data exchange between any CAN participants, field devices and process control computers
  • System-wide data consistency
  • Reduced bus load through data preparation
  • Real-time thanks to guaranteed latency time
  • Data transmission security through short telegram lengths (approx. 130 bit)
  • Internal fault mechanisms
  • Hamming distance (HD) = 6, offers high safety against EMC problems

Application Of AnanasStepper 2.0

AnanasStepper 2.0 play MIDI MUSIC

I tested AnanasStepper to Play MIDI music,And used My guitar as a loud-speaker!

It is not very nice but it works!!


SPI-CAN adapter

Portable Network Graphics (PNG) - 423.90 kB - 04/15/2017 at 14:10

Preview Download

JPEG Image - 93.30 kB - 04/15/2017 at 14:10

Preview Download

Portable Network Graphics (PNG) - 481.19 kB - 04/15/2017 at 14:10

Preview Download

JPEG Image - 80.00 kB - 04/15/2017 at 14:10

Preview Download

JPEG Image - 84.57 kB - 04/15/2017 at 14:10

Preview Download

View all 10 files

  • 1 × STM32F103CBT6 Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × AMAS5145 Logic ICs / Clocks and Timers
  • 1 × TJ1050
  • 1 × A4988 Power Management ICs / Motion, Motor and Servo Control

View all 16 project logs

  • 1

    Prepare(Prepare AnanasStepper include Power wire and CAN bus wire)


    1. Ananas(AnanasStepper 20)
    2. Step Motor (2 phases-step-motor)
    3. Magnet
    4. Mount Space (a 3D printer part)
    5. Screw(4 Screw)
    6. Nuts(4 Nuts)
    7. Motor Wire
    8. Power Wire
    9. USB-CAN(or SPI-CAN)
  • 2

    Assemble Magnet And srew

    1. a.Assemble the 3D printed spacer.
    2. b.Assemble the Ananas.
    3. c, Final assemble the Nuts.
  • 3

    Connect AnanasSteppers(Power and CAN bus)

    First, Prepare All wires.

    Connect them follow the arrows.

View all 4 instructions

Enjoy this project?



Thorsten Eggert wrote 05/11/2017 at 19:45 point

Nice thing. I just searched for some info to build something like this by my self. I only do not understand the CAN bus decision. I like the CAN bus and its features, but how do you plan to connect it to a grbl or similar? Or is the ananas 2.0 no meant to be used for hobby CNCs / 3d printers?

  Are you sure? yes | no

GrayPillow wrote 05/12/2017 at 01:43 point

Thanks very much!There are several way to connect AnanasSteppers 2.0 to normal CNC system , Serial to CAN or SPI to CAN (They are very cheap ,no more then 10 dollars).Ananas 1.0 is a version that support DIR/STEP and I2C interface .

I am foucing on AnanasStepper 2.0 Now ,After Releasing Python API , A C/C++ API is on the way.

  Are you sure? yes | no

Thorsten Eggert wrote 05/13/2017 at 14:07 point

So if I understand you correctly, grbl / marlin will need a CAM interface to be used, right? 

If thats the case I would like to help, do you already have some informations about the protocol at the CAM bus?

  Are you sure? yes | no

GrayPillow wrote 05/13/2017 at 14:27 point

You are right! I am test the protocol Today. The demo test will be released Soon!!

Thanks for your hope to help! I will remind you soon!

  Are you sure? yes | no

Ryan Won wrote 04/11/2017 at 00:53 point

Would you like to share the fritizing files of the old ananans stepper?

  Are you sure? yes | no

GrayPillow wrote 04/11/2017 at 02:07 point

Yes,you can get them form the link of github I shared

  Are you sure? yes | no

GrayPillow wrote 04/11/2017 at 14:33 point

Oh, I am so sorry ,Today I check my github ,there is no fritizing file. I think I lost them.

Don't warry ,the more detail is here , which is used Eagle . Hope this help you!

  Are you sure? yes | no

aape01 wrote 04/07/2017 at 05:42 point


  Are you sure? yes | no

GrayPillow wrote 04/07/2017 at 23:53 point


  Are you sure? yes | no

Ryan Won wrote 04/07/2017 at 05:25 point

looks great

  Are you sure? yes | no

GrayPillow wrote 04/07/2017 at 23:53 point


  Are you sure? yes | no

navichan wrote 04/07/2017 at 05:16 point

Very nice!

  Are you sure? yes | no

GrayPillow wrote 04/07/2017 at 23:53 point


  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

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