Smart Actuator System

Created by Wasel Ahmed


Inspiration

I wanted to explore ESP32 for the first time and build a smart motor control system that can safely operate a DC motor, handle failures, and report task statistics.

What it does

The system controls a DC motor using an L293D driver. It can:

  • Start, stop, and reverse the motor
  • Adjust speed
  • Simulate load conditions
  • Detect failures and attempt automatic recovery
  • Display task statistics in real-time on the Serial Monitor

How we built it

The project uses:

  • ESP32 Dev Kit
  • L293D motor driver
  • Motor connected via ENA, IN1, IN2 pins
  • Arduino IDE for programming
  • Core functions like motorForward(), motorReverse(), motorSoftStop(), and motorHardStop() for motor control
  • Serial input commands for manual control

Challenges we ran into

  • Motor was running immediately at boot due to initial pin states
  • Figuring out the correct PWM setup for ESP32
  • Handling randomized failure simulation and recovery sequences

Accomplishments that we're proud of

  • Successfully implemented safe motor control with soft and hard stops
  • Task statistics are correctly calculated and displayed
  • First working project using ESP32 for a motor control system

What we learned

  • How to use ESP32 GPIO pins and PWM for motor control
  • Importance of pin initialization to prevent accidental motor activation
  • Basics of task management and failure handling
  • Debugging and using the Serial Monitor for feedback

What's next for Smart Actuator System

  • Add Wi-Fi connectivity to log data to Google Sheets
  • Implement a web dashboard to monitor motor tasks remotely
  • Improve safety with sensor feedback to prevent overloads

Acknowledgements

Thanks to ChatGPT for guidance on code structure, motor control logic, and README formatting.

Built With

  • arduinoide
  • c++
  • esp32
Share this project:

Updates