Tim Jackson
UNITED KINGDOM • + Follow
Edit Project
Components
Tools, APP Software Used etc.
![]() |
arduino IDEArduino
|
|
|
STMicroelectronics ST Visual develop IDE for developing ST7 and STM8 applications |
|
|
ST-Link v2 |
Description
Tim's I2C Intelligent DC Motor Driver
I am working on a project that needs about six Motors. There are many DC Motor Drivers available, But.
- The Motors I am using are DC Motors with Quadrature Encoders.
- Quadrature Encoders have an A and B output, which need to be connected to a microcontroller that uses the data from the Quadrature Encoder to ascertain the position and direction of a motor. See my Instructable: Wi-Fi Control of a Motor With Quadrature Feedback : 9 Steps (with Pictures) - Instructables
- This would mean that each motor will have two Encoder connections to the microcontroller, plus the Driver connections.
- There are I2C Motor Drivers, this would reduce the connections for the Motor Drivers, but these do no more than the normal Motor Drivers do, there is no positional feedback through the I2C connection.
- The microcontroller I want to use to control the Motors has a limited number of pins.
I also would like to take away a lot of the processing the microcontroller would have to do controlling all the motors.
- It would be nice if the microcontroller was connected to the Motor Drivers via I2C. Only two wires from the microcontroller connected to all the Motor Drivers.
- It would be nice if the Motor Driver knew the position of the Motor and could send this data back to the microcontroller via the I2C connection.
- It would be nice if the microcontroller only had to send a position command to the Motor Driver and the Motor driver did all the work.
- It would be nice if we could have limit switches attached to the Motor driver so that it would not go beyond them.
- It would be nice if the Motor driver could be given soft limits to stay within.
- It would be nice if the Motor driver could be given a known position from a Station, so that it could set a known position when triggered.
I think I have come up with the solution.
- This Motor Driver is controlled via I2C.
- The Motor Driver can be configured for many scenarios.
- The Max Motor voltage is: 30v.
- The Max Motor current is: 1A, this can be increased by beefing up the traces on the PCB, MOSFETs are rated at 5.8A. (A bit OTT but cheap)
- The System voltage is: 3.3v. There is an option to add a voltage regulator if power comes from a higher source.
- The brains is the STM8S103F3P6, as a slave I2C Device.
- The I2C Address can be set from 0x01 (1) to 0x7F (127). So in theory 126 Motors can be attached to one microcontroller.
Full details can be found here: Tim's I2C Intelligent DC Motor Driver - Hackster.io
Here is a video showing info about commands sent on the I2C
Here are some boards fitted to a project I am working on.
Code
Schematic and Layout
Tim-s-I2C-Intelligent-DC-Motor-Driver-KiCad
Tim-s-I2C-Intelligent-DC-Motor-Driver-KiCad
May 11,2023
820 views
end-flag
Tim's I2C Intelligent DC Motor Driver
This is a DC Motor Driver that is controlled via I2C. The I2C Address can be set in the range: 1 to 127. It can read a Quadratic encoder.
820
1
0
Published: May 11,2023
Download Gerber file 4
BOM(Bill of materials)
Other files for Assembly
Purchase
Donation Received ($)
PCBWay Donate 10% cost To Author
File Last Updated: 2023/05/15 (GMT+8)
File update record
2023-05-1517:44:25
Parts List (BOM) is updated.
2023-05-1517:28:33
Parts List (BOM) is updated.
2023-05-1219:00:47
Parts List (BOM) is updated.
Only PCB
PCB+Assembly
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
Copy this HTML into your page to embed a link to order this shared project
Copy
Under the
Attribution-NonCommercial-ShareAlike (CC BY-NC-SA)
License.

Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW
ESP32-S3 4.3inch Capacitive Touch Display Development Board, 800×480, 5-point Touch, 32-bit LX7 Dual-core Processor
BUY NOW
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(0)
- Likes(1)

Upload photo
0 / 10000
It looks like you have not written anything. Please add a comment and try again.
You can upload up to 5 images!
Image size should not exceed 2MB!
File format not supported!
-
Meows21 Jun 28,2023
View More
VOTING
0 votes
- 0 USER VOTES
0.00
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Design
1/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Usability
2/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Creativity
3/4
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Content
4/4
More by Tim Jackson
-
Tim's Pie Divider Tim's Pie DividerWhen that pie comes out of the oven and your tummy rumbles, who gets the largest pi...
-
Tim's I2C Intelligent DC Motor Driver I am working on a project that needs about six Motors. There are many DC Motor Drivers available, Bu...
-
Tim's PTC Hot Plate Controller [Fused version] This is a fused version of this: Tim's PTC Hot Plate ControllerInstructable at: Tim's Hot PlateFor c...
-
Tim's PTC Hot Plate Controller This is a for a DIY Hot Plate, for soldering SMD to PCBs.The heater element that it controls are the...
-
TIM-01 EYES This is a module to give my robot TIM-01 Eyes.With many projects controlled by an Arduino or similar...
-
Tim's DC Motor Driver X6 Mk2 This board was designed to drive the motors controlling the arms on my robot TIM-01.I have a blog on...
-
Tim's Solar Motor Driver This is a little solar DC Motor Driver.It uses two LDR (Light Dependant Resistor) sensors to track t...
-
Tim's DFPlayer Plus Box Tim's DFPlayer Plus BoxThis is a box I designed to hold Tim's DFPlayer Plus that I have shared here:...
-
Tim's DFPlayer Plus This project was inspired by one of my favourite YouTube channels.I mention them in my first video f...
-
Tim's I2C Dual Motor Driver [Version 2] This is Version 2 of my previous Tim's I2C Dual Motor Driver.This supersedes this Project. Tim's I2C...
-
Tim's Mini Plotter 2 This is a PCBWay PCB Version of mini plotter I did quit a while ago, my original mini plotter I made...
-
Tim's I2C Dual Motor Driver This board has been SupersededThe version 2 can be found here:Tim's I2C Dual Motor Driver [Version ...
-
Tim's Pie Divider Tim's Pie DividerWhen that pie comes out of the oven and your tummy rumbles, who gets the largest pi...
-
Tim's I2C Intelligent DC Motor Driver I am working on a project that needs about six Motors. There are many DC Motor Drivers available, Bu...
-
Tim's PTC Hot Plate Controller [Fused version] This is a fused version of this: Tim's PTC Hot Plate ControllerInstructable at: Tim's Hot PlateFor c...
-
Tim's PTC Hot Plate Controller This is a for a DIY Hot Plate, for soldering SMD to PCBs.The heater element that it controls are the...
-
TIM-01 EYES This is a module to give my robot TIM-01 Eyes.With many projects controlled by an Arduino or similar...
-
Tim's DC Motor Driver X6 Mk2 This board was designed to drive the motors controlling the arms on my robot TIM-01.I have a blog on...
-
Tim's Solar Motor Driver This is a little solar DC Motor Driver.It uses two LDR (Light Dependant Resistor) sensors to track t...
-
Tim's DFPlayer Plus Box Tim's DFPlayer Plus BoxThis is a box I designed to hold Tim's DFPlayer Plus that I have shared here:...
-
Tim's DFPlayer Plus This project was inspired by one of my favourite YouTube channels.I mention them in my first video f...
-
Tim's I2C Dual Motor Driver [Version 2] This is Version 2 of my previous Tim's I2C Dual Motor Driver.This supersedes this Project. Tim's I2C...
-
Tim's Mini Plotter 2 This is a PCBWay PCB Version of mini plotter I did quit a while ago, my original mini plotter I made...
-
Tim's I2C Dual Motor Driver This board has been SupersededThe version 2 can be found here:Tim's I2C Dual Motor Driver [Version ...
You may also like
-
-
Commodore 64 1541-II 1581 Floppy Disk Drive C64 Power Supply Unit USB-C 5V 12V DIN connector 5.25
279 1 3 -
Easy to print simple stacking organizer with drawers
106 0 0 -
-
-
-
-
-
-
Modifying a Hotplate to a Reflow Solder Station
1195 1 6 -
MPL3115A2 Barometric Pressure, Altitude, and Temperature Sensor
680 0 1 -