Skip to content

hstarmans/TMCStepper

 
 

Repository files navigation

Python wrapper for the Arduino library

The following library is needed for Raspberry. Airspayce is the official site and can be used to retrieve the latest version.

A port for ESP32 is available in the ESP32 branch.

wget http:https://www.airspayce.com/mikem/bcm2835/bcm2835-1.68.tar.gz 
tar zxvf bcm2835-1.xx.tar.gz
cd bcm2835-1.xx
./configure
make
sudo make check
sudo make install

Recursive clone, cleaner would be to use python module for pybind

git clone --recurse-submodules https://github.com/hstarmans/TMCStepper.git

Install cmake

sudo apt -y install cmake

Library can be compiled or installed using python.

python3 setup.py develop --user

More direct way of compling is

cmake -H. -Bbuild & make -C ./build

Testing

The test pure.py in the folder test/pure.py should pass. On ubuntu you might not have access to pins A very quick fix is. Newer versions of ubuntu should not have this issue, see link.

chmod og+rwx /dev/gpio*

By changing the cmakelist file, C++ examples can be compiled. In specific, examples/Simple is modified for Firestarter board. Test_connection complains about no power applied to board but it should result in power on to the motors. This error seems to be a problem with the library.
The library can be tested with libtest.py which is available in the test folder.

Documentation Original

Arduino library for Trinamic TMC stepper motor drivers.

Supported TMC drivers:

New Doxygen documentation


The TMCStepper library is and always will be free to use. This project started for me as a personal test to see if I could do it. Over the years it has gained some popularity as more and more hobbyists are looking into advanced stepper motor drivers. More users also comes with more unique setups. This donation option will allow me to purchase the hardware that I can use for testing, validation and supporting you.

Donate

  • ESP-PROG for debugging ESP32 support
  • SKR Pro V1.2 for testing STM32 based boards

Packages

No packages published

Languages

  • C++ 92.2%
  • Python 3.5%
  • C 2.2%
  • CMake 2.1%