AccelStepperI2C library - Remote control of steppers with endstop and servo support

225 views
Skip to first unread message

Jan (ftjuh)

unread,
Feb 27, 2022, 6:58:27 AM2/27/22
to accelstepper
Hi all!

I recently released the AccelStepperI2C project at https://github.com/ftjuh/AccelStepperI2C. I've tested it quite a bit, but I welcome any feedback from others.

From the readme:

====
This is an I2C wrapper for Mike McCauley's AccelStepper library with support for two end stops per stepper and optional servo support. It consists of an Arduino-based firmware for one or more I2C-slaves, and corresponding Arduino libraries for the I2C-master. Think of it as a more accessible and more flexible replacement for dedicated I2C stepper motor controller ICs like AMIS-30622, PCA9629 or TMC223 with some extra bells and whistles. Use it with your own hardware or with a plain stepper driver shield like the Protoneer CNC GRBL shield (recent V3.51 or V3.00 clone).

The firmware has been tested on ATmega328 Arduino (Uno, Nano etc.), ESP8266 and ESP32 platforms. I expect it should work on other Arduino supported platforms.
====

The firmware uses a state machine, i.e. it runs AccelStepper locally, so that the I2C bus is kept free from constant polling traffic needed in other solutions.

This is my first major peace of software released to the public and I am neither an experienced nor avid c++ programmer, so I welcome any feedback.

Jan

Jan (ftjuh)

unread,
Mar 20, 2022, 6:50:26 AM3/20/22
to accelstepper
AccelStepperI2C is now available in the Arduino library manager.

Important changes since the initial release are:
  • Added pin control support (PinI2C.h and PinI2C.cpp) for reading and writing unused slave pins.
  • Restructured folder layout to prepare for submission as third party library to the Arduino library manager.
  • fixed I2Cdelay, which would not work correctly with debugging disabled. Also, shortened the default I2C delay to 10 ms (which still is a conservative default)

Jan (ftjuh)

unread,
Jul 11, 2022, 9:09:50 AM7/11/22
to accelstepper
In case somebody uses this:

Please note that I retired the AccelStepperI2C project, it will be removed from the Arduino library manager soon.

It is replaced by the much more powerful and versatile I2Cwrapper project. You can use it just like AccelStepperI2C, but do much, much more with it, so that it needed a more generic name.

You can find I2Cwrapper on github and in the Arduino library manager, and there is a thread over in the Arduino forums.

Jan
Reply all
Reply to author
Forward
0 new messages