diff --git a/LICENSE b/LICENSE index 7008d53..eee2da9 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2025 FABLAB Bahrain +Copyright (c) 2024 FABLAB BH Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index ffc95ed..891bb0f 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,29 @@ -# Relay8I2C Library -**By Fatima @ FABLAB Bahrain** +# I2CStepper -![FABLAB Bahrain Logo](https://via.placeholder.com/150x50.png?text=FABLAB+Bahrain) - -Control Stepper via I2C with dynamic address configuration. Designed for ESP8266 and Arduino platforms. +Control a stepper motor via I2C using a master-slave microcontroller setup. ## Features -- I2C communication protocol -- Dynamic slave address configuration -- Master controller with serial interface -- Active LOW relay support -- EEPROM storage for persistent addressing + +- Control stepper motors (e.g., TMC2209 + NEMA 17) over I2C +- Change slave I2C address at runtime (persistent in EEPROM) +- Scan for available I2C devices +- Simple API for master and slave +- Example code included + +## Hardware Requirements + +- Two Arduino-compatible microcontrollers (e.g., Uno, ESP32, etc.) +- TMC2209 stepper driver or similar (STEP/DIR interface) +- NEMA 17 or compatible stepper motor +- I2C wiring between master and slave ## Installation -1. Download the library ZIP -2. Arduino IDE: Sketch > Include Library > Add .ZIP Library -3. Select the downloaded ZIP file + +1. Download or clone this repository. +2. Copy the folder to your Arduino `libraries` directory. +3. Open Arduino IDE and include `I2CStepper.h` in your project. ## Usage + +### Master Example + diff --git a/fablab_stepper_motor.png b/fablab_stepper_motor.png new file mode 100644 index 0000000..5b76cd8 Binary files /dev/null and b/fablab_stepper_motor.png differ diff --git a/keywords.txt b/keywords.txt deleted file mode 100644 index 9994740..0000000 --- a/keywords.txt +++ /dev/null @@ -1,16 +0,0 @@ -####################################### -# Syntax coloring for I2CStepper Library -####################################### - -# Classes -RelayI2CMaster KEYWORD1 -I2CMasterUtils KEYWORD1 - -# Methods -begin KEYWORD2 - -scanI2C KEYWORD2 -changeSlaveAddress KEYWORD2 - -# Constants -CMD_CHANGE_ADDR LITERAL1 diff --git a/library.properties b/library.properties index bdaaddb..5a49a11 100644 --- a/library.properties +++ b/library.properties @@ -1,9 +1,10 @@ -name=FABLAB Stepper +name=I2CStepper version=1.0.0 author=Fatima Idrees maintainer=Fatima Idrees -sentence=Control DC motors via I2C with scanning and configuration utilities. -paragraph=Provides easy control of stepper motor modules via I2C communication with dynamic address configuration. Includes master/slave implementation for ESP32C3/Arduino platforms. +sentence=Control a stepper motor via I2C using a master-slave microcontroller setup. +paragraph=I2CStepper allows you to control stepper motors (e.g., with TMC2209 drivers) over I2C, with address change and device scanning support. Designed for Arduino-compatible boards. category=Device Control -url=https://github.com/fablabbh/I2CMasterUtils +url=https://github.com/yourusername/I2CStepper architectures=* +includes=I2CStepper.h