Autonomous Pepper Harvesting Robot Design

Stopped because the project has no available ACUs, so I can’t continue executing changes right now.
Completed so far:
  • Inspected the existing schematic and found the ESP32 DevKitC, XL1509-5.0 buck regulator, 5A fuse, 12V/5V/3V3 rails, motor/sensor blocks, and existing nets already present.
  • Checked datasheet guidance for:
    • ESP32 DevKitC power/header pins.
    • XL1509-5.0 recommended 12V-to-5V/2A application circuit.
    • Existing 5A fuse rating.
  • Added these Part 1 components:
    • J1: 12V battery input screw terminal.
    • J2: external normally-closed E-stop connector.
    • D4: 10A/40V Schottky reverse-polarity protection diode.
    • D5: 1N5820 XL1509 buck catch diode.
    • L1: 68uH / 2A buck inductor.
    • LED16: green Ready LED.
    • LED17: yellow Harvesting LED.
    • LED18: red Fault LED.
Not completed yet:
  • The generic resistors/capacitors for LED current limiting, E-stop pull-up, buck input/output capacitors, and decoupling were attempted but not added because the generic part lookup failed.
  • The newly added components are not wired yet.
  • Project files for the power distribution diagram, pin table, BOM, and PCB recommendations still need to be created/updated.
  • Schematic checks still need to be rerun and fixed after wiring.
Next work once ACUs are available:
  1. Add the missing resistors and capacitors correctly.
  2. Wire battery → fuse → reverse-polarity protection → 12V rail → XL1509 → 5V_SYS.
  3. Wire common ground, E-stop NC input, and three ESP32-driven status LEDs.
  4. Update documentation files and rerun checks.
Add missing passives
Show power wiring
Create docs
Run checks later
J2
U1
U3
U2
U6
U6 VIN - U4 VBB1
LED17
LED16
U1 IO25 - U4 STEP
U1 3V3 - U3 VDD
U2 GND - U3 VSS
LED18
GND
U2 GND - U3 VSS
U4 MS3 - U5 MS1
U1 3V3 - U3 VDD
U1 IO27 - U4 ENABLE
U4 SLEE - U5 RESET
U2 GND - U3 VSS
U1 IO33 - U5 DIR
U1 IO26 - U4 DIR
U6 GND - F1 2
U1 IO33 - U5 DIR
U1 IO21 - U3 SDA
U4 VBB2 - U5 VBB1
BAT_12V_RAW
U1 IO16 - U2 U0T
U6 OUTPUT - U1 5V
U2 GND - U3 VSS
U1 IO27 - U4 ENABLE
U6 VIN - U4 VBB1
U2 GND - U3 VSS
U1 IO26 - U4 DIR
U4 SLEE - U5 RESET
U6 GND - F1 2
U1 IO16 - U2 U0T
U2 GND - U3 VSS
U4 MS3 - U5 MS1
U1 IO22 - U3 SCL
U1 GND - U2 GND
U4 VBB2 - U5 VBB1
U1 IO32 - U5 STEP
U2 GND - U3 VSS
U1 IO17 - U2 U0R
U1 3V3 - U3 VDD
U1 IO25 - U4 STEP
U6 OUTPUT - U1 5V
U2 GND - U3 VSS
U1 IO32 - U5 STEP
U1 IO21 - U3 SDA
U1 IO22 - U3 SCL
U2 GND - U3 VSS
SERVO_ARM_PWM
SERVO_SCISSOR_PWM
U1 IO27 - U4 ENABLE
U1 3V3 - U3 VDD
U1 GND - U2 GND
U1 IO17 - U2 U0R
U6 OUTPUT - U1 5V
D5
D4
U4
Q1
F1
U5
J1
L1
Inductance
68uH

Refine this doc
Ask about this doc
Board Bring-Up Plan — Pepper Harvesting Robot Controller
Prerequisites
  • Current-limited bench supply, multimeter, oscilloscope, USB cable, ESP32 programming PC.
  • Start with motors and servos disconnected.
  • Set A4988 current limits before connecting NEMA17 motors.
1. Visual Inspection
  • Verify fuse, reverse-polarity device, electrolytic capacitor polarity, buck orientation, ESP32-CAM antenna clearance, and connector pinouts.
  • Confirm no solder bridges on A4988/PCA9685 pins.
2. Power Rail Verification

Table


RailSourceExpectedCurrent Limit First TestPass Criteria
BAT_12V_RAWBattery/input connector12V nominal250mA no-loadNo short to GND
12V_MOTORFuse/protection output12V nominal250mA no-loadWithin input drop budget
5V_SYSXL1509-5.0 buck5.0V500mA no-load4.85V to 5.15V
3V3_LOGICESP32 DevKit regulator3.3Vvia 5V rail3.2V to 3.4V
3. Critical Signal Verification

Table


SignalExpected IdleTest
MOTOR_ENABLE_NHIGH disabled at reset, LOW when firmware enablesScope GPIO27 and A4988 ENABLE
VERT_STEP/RING_STEPPulse train during motion statesScope GPIO25/GPIO32
I2C_SDA/SCLPulled high, 100k/400kHz trafficRun I2C scanner
CAM_UART_RX/TX115200 baud serialSend SCAN_TARGET command and confirm response
LIMIT_UPPER_N/LIMIT_LOWER_NHIGH idle, LOW when pressedPress each switch and read serial output
4. Functional Validation
  1. Program ESP32 using the firmware starter.
  2. Verify LEDs: green ready, red fault, yellow harvest.
  3. Run I2C scan: PCA9685 at 0x40, MPU6050 at 0x68.
  4. Test ultrasonic distance reading with a flat target.
  5. Test ESP32-CAM UART response before enabling cutting motion.
  6. Enable one stepper at low current and command 10 steps each direction.
  7. Test servo motion with scissors mechanically disconnected first.
  8. Press E-stop while motors are enabled; A4988 outputs must disable immediately.
Pass/Fail Summary

Table


SectionResultNotes
Visual inspection[ ] Pass
Power rails[ ] Pass
Programming[ ] Pass
Sensors[ ] Pass
Motors[ ] Pass
E-stop[ ] Pass
Full harvest cycle[ ] Pass
  • Prerequisites

  • 1. Visual Inspection

  • 2. Power Rail Verification

  • 3. Critical Signal Verification

  • 4. Functional Validation

  • Pass/Fail Summary

Pepper Harvesting Robot Controller thumbnail
Autonomous black pepper harvesting robot electrical control system with ESP32 controller, ESP32-CAM vision, A4988 stepper drives, PCA9685 servo control, sensors, E-stop, 12V battery input, and 5V power distribution.

Properties

V

Pricing & Availability

Distributor

Qty 1

Arrow

$6.46–$56.71

Digi-Key

$24.66–$76.38

HQonline

$9.35

LCSC

$18.00–$18.06

Mouser

$14.02–$69.66

TME

$0.65

Verical

$6.04–$13.30

Controls