ESP32 Dual-Axis Stepper Firmware

Job ID: 40099191

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.)