ESP32 Dual-Axis Stepper Firmware
Budget: ₹1,500 – ₹12,500 INR
We are developing a custom 2-axis automated machine and are looking for an experienced ESP32 / embedded firmware developer to implement and test the control logic.
This project is pure embedded firmware.
It is NOT PLC, NOT IoT cloud, and NOT mobile/web application.
System Overview
The system has 2 stepper motors
X-axis: moves a carrier across multiple fixed positions
Y-axis: moves the carrier up and down
There are 6 fixed positions:
Position A = Home / Loading position
Positions B, C, D, E, F = process positions
A proximity sensor at Position A is used for homing.
Required Control Logic
The firmware must implement the following logic:
Power-ON / Reset behaviour
Automatically move X-axis to HOME (Position A) using proximity sensor
Move Y-axis to safe UP position
User-configurable parameters
User can select any combination of positions from B to F
User sets time duration (seconds) for each selected position
Program execution
Start from Position A
Process selected positions in fixed order (B → C → D → E → F)
For each selected position:
Y-axis moves DOWN
Wait for programmed time
Y-axis moves UP
Perform 2 short up/down “shake” movements
Skip unselected positions
After completion, return to Position A
Safety rules
X-axis movement allowed only when Y-axis is UP
Emergency stop / limit switch must stop motion immediately
Program must not start if no position is selected
Calibration / Service mode
Set X-axis position values
Set Y-axis stroke values
Set shake depth
(Calibration values are protected and not editable by normal user.)
This project is pure embedded firmware.
It is NOT PLC, NOT IoT cloud, and NOT mobile/web application.
System Overview
The system has 2 stepper motors
X-axis: moves a carrier across multiple fixed positions
Y-axis: moves the carrier up and down
There are 6 fixed positions:
Position A = Home / Loading position
Positions B, C, D, E, F = process positions
A proximity sensor at Position A is used for homing.
Required Control Logic
The firmware must implement the following logic:
Power-ON / Reset behaviour
Automatically move X-axis to HOME (Position A) using proximity sensor
Move Y-axis to safe UP position
User-configurable parameters
User can select any combination of positions from B to F
User sets time duration (seconds) for each selected position
Program execution
Start from Position A
Process selected positions in fixed order (B → C → D → E → F)
For each selected position:
Y-axis moves DOWN
Wait for programmed time
Y-axis moves UP
Perform 2 short up/down “shake” movements
Skip unselected positions
After completion, return to Position A
Safety rules
X-axis movement allowed only when Y-axis is UP
Emergency stop / limit switch must stop motion immediately
Program must not start if no position is selected
Calibration / Service mode
Set X-axis position values
Set Y-axis stroke values
Set shake depth
(Calibration values are protected and not editable by normal user.)
Related categories:
Electrical Engineering
Robotics
Arduino
Debugging
Embedded Systems
Motor Control
Signal Processing
Automation