Asked

Alternative To Ezrobot Ezb For Robot Head Project

My course has primarily focused on robotics projects using the EZ-B controller and a camera for real-time interfacing. With recent developments, I am planning to create an additional video that incorporates Synthiam's support for other types of controllers. Although I've successfully flashed an alternative controller, it lacked compatibility with camera integration and Wi-Fi capabilities. The absence of an onboard computer limits the use of a USB camera, posing a significant challenge.

This dependency on specific components like the EZ-B, IO Tiny, and cameras can be problematic. For my course project, Mecha Morphix, which involves controlling five servos, the Arduino Mega seems excessive. I am in search of a suitable controller, compatible with Synthiam ARC, that includes both Wi-Fi and camera support to effectively replace the EZ-B.

I noticed that the ESP32 with a camera is listed among the supported controllers for ARC. Has anyone experimented with using the ESP32 in conjunction with a camera for such applications? Any insights or experiences would be appreciated.


Related Hardware ESP32 Cam

ARC Pro

Upgrade to ARC Pro

Unlock the true power of automation and robotics by becoming a proud subscriber of Synthiam ARC Pro.

Author Avatar
PRO
Synthiam
#97  

I updated the firmware to V10, which now throws an error message in the serial monitor if there's a pin conflict: https://synthiam.com/Firmware/ESP32-Cam-EZB-5KUNP4UTSW0

That way, if you forget to check when configuring your board firmware, it'll verify for you. The firmware won't start up if there's a conflict. The firmware version changelog presents options to rectify the conflict.

Author Avatar
PRO
Synthiam
#98   — Edited

One last thing in my spam of replies. Absolutely do not ever, ever, ever power the servo off the ESP32's +5V power. If you're using a breakout with additional power, make sure you're using it. The little tiny ESP32 VR and traces cannot power a servo. A microcontroller can only power solid-state devices, not a servo.

I think if you remove pin reference 4 from digital and servo mapping, and move 13, 14, 15, and 12 upward, you'll be fine. There needs to be 24 entries, so if you move them up just add a 0xff below or what ever. Like this...

const uint8_t ARC_TO_ESP_DIGITAL_PIN_MAPPING[24] = {

  2,     // ARC port D0
13,     // ARC port D1
  14,    // ARC port D2
  15,    // ARC port D3
  12,    // ARC port D4
0xff,    // ARC port D5 (not used)
  0xff,  // ARC port D6 (not used)
  0xff,  // ARC port D7 (not used)
  0xff,  // ARC port D8 (not used)
  0xff,  // ARC port D9 (not used)
  0xff,  // ARC port D10 (not used)
  0xff,  // ARC port D11 (not used)
  0xff,  // ARC port D12 (not used)
  0xff,  // ARC port D13 (not used)
  0xff,  // ARC port D14 (not used)
  0xff,  // ARC port D15 (not used)
  0xff,  // ARC port D16 (not used)
  0xff,  // ARC port D17 (not used)
  0xff,  // ARC port D18 (not used)
  0xff,  // ARC port D19 (not used)
  0xff,  // ARC port D20 (not used)
  0xff,  // ARC port D21 (not used)
  0xff,  // ARC port D22 (not used)
  0xff   // ARC port D23 (not used)
};

const uint8_t ARC_TO_ESP_SERVO_PIN_MAPPING[24] = {

  2,     // ARC port D0 (servo)
13,     // ARC port D1 (servo)
  14,    // ARC port D2 (servo)
  15,    // ARC port D3 (servo)
  12,    // ARC port D4 (servo)
0xff,    // ARC port D5 (not used)
  0xff,  // ARC port D6 (not used for servo)
  0xff,  // ARC port D7 (not used for servo)
  0xff,  // ARC port D8 (not used for servo)
  0xff,  // ARC port D9 (not used for servo)
  0xff,  // ARC port D10 (not used for servo)
  0xff,  // ARC port D11 (not used for servo)
  0xff,  // ARC port D12 (not used for servo)
  0xff,  // ARC port D13 (not used for servo)
  0xff,  // ARC port D14 (not used for servo)
  0xff,  // ARC port D15 (not used for servo)
  0xff,  // ARC port D16 (not used for servo)
  0xff,  // ARC port D17 (not used for servo)
  0xff,  // ARC port D18 (not used for servo)
  0xff,  // ARC port D19 (not used for servo)
  0xff,  // ARC port D20 (not used for servo)
  0xff,  // ARC port D21 (not used for servo)
  0xff,  // ARC port D22 (not used for servo)
  0xff   // ARC port D23 (not used for servo)
};
Author Avatar
PRO
USA
#99  

The only success I had to get the board to work at all was with: #define CAMERA_MODEL_ESP32S3_EYE

I can't use #define CAMERA_MODEL_WROVER_KIT as it sets the board into this endless loop (see below from serial monitor).

ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0xc (RTC_SW_CPU_RST),boot:0x3f (SPI_FAST_FLASH_BOOT) Saved PC:0x4037acce SPIWP:0xee mode:DIO, clock div:1 load:0x3fce2820,len:0x116c load:0x403c8700,len:0xc2c load:0x403cb700,len:0x3108 entry 0x403c88b8 Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.

Author Avatar
PRO
USA
#100  

..ok ill try new v10...and yes servo is running on separate power supply...always

Author Avatar
PRO
Synthiam
#101  

So we have the same board yet yours is different Geezus

I try to make stuff easy and modular but this opensource world won’t let that happen. Unfortunately you’ll have to spread your wings and tackle what ever is going on with your same but different board. Lol

its Okay to start new threads to get a fresh Athena scope. Or use paid open ai 5.2 gpt as well. Either works / because I’m running out of ideas to help from my end.

At this point it’s down to pinouts. So think of it this way the "board definition" that you uncomment is just pinouts. Thats the only difference.

so if you could find a pinout schematic of your "exact absolutely exact no questions asked" board, youd see if the pinouts are accurate.

for my board, I just used the wrover and off it went.

Author Avatar
PRO
USA
#102   — Edited

As always....I appreciate your time. I've put myself a week behind trying to do something that isn't relevant right now. I'll table this for now and come back to it once the Mecha Morphix launches. I'll just update the course once something is sorted for a cheaper version of an EZB like controller.

Seriously, Thanks for working on this.

Author Avatar
PRO
Synthiam
#103  

lol don't give up on it yet - i put a lot of time into it hahaha. what ever controller we come up with will most likely be esp32 based. you'll need to make sure they don't have different pinout revisions - that's the showstopper right now.

Author Avatar
PRO
USA
#104   — Edited

Haven't given up, just tabling it to a different date. I have hard deadlines I have to meet to be stay on my timeline. Final edit is coming and that edit was going to include this information (ESP32) as a cheaper option to the EZB 4/2 and Tiny IO. But I spent a week on it and don't have the time to continue. It could be as simple as having a defective Freenove?!

Listen in the end, the old regular flavor of ESP32 could control upto 16 servos. Maybe its about getting those to work (\(again super cheap\)) And having either another board for camera only or an off the shelf webcam?!

I want to have a cheaper EZB alternative for other robot courses coming after Mecha Morphix.

** I've had over 6000 views for the teaser on my Youtube channel so there is def interest in the course!