Asked — Edited

Ez-B And Arduino Shield

After upgrading and swapping to the newer EZ-B board, it would be a shame not to use it with another robot. any consideration to building an Arduino Shield to accommodate the EZ-B? It would be overkill to add an EZ-B to an Arduino, but the potential would open up a wider market and audience. Perhaps the addition of an Arduino Library as well? Thanks for such a great product! Keep up the OUTSTANDING work! Doyle


ARC Pro

Upgrade to ARC Pro

ARC Pro is your gateway to a community of like-minded robot enthusiasts and professionals, all united by a passion for advanced robot programming.

#1  

I think you have it backwards... Arduino is the one that needs to build an ezb4 shield and or interface.... This will help overcome the arduino's severe inherent limitations as a robot controller....

#2  

Agree Richard. I use arduinos as satellite controllers for neopixels and what have you. Control them with the EZB. No shield is needed.

PRO
USA
#3  

Different mindsets.

  1. Arduino

If you are familiar with the Arduino framework you use C/C++ language to program, the code is compiled and flashed to the controller. Then the controller runs the compiled code and is very efficient (exceptions controller type e.g. AVR 8 bits or ARM Cortex 32 bits) and is real time, that means nothing gets in between your code (some exceptions: Interrupts). You can have wired or wireless Arduino controllers.

So you do some coding or copy paste code and you rely on available libraries (open source or not).

  1. EZB4

EZB4 is a two micro-controller system:

Bottom Part: Handles the hardware ports Cortex M3 (STM32F2) controller (there are STM32F2 controllers compatible with the arduino framework) runs a proprietary (EZ-Robots) firmware/closed code. The firmware is flashed in all controllers. There is no EZR how to guide to flash a new firmware, although the programming pads are there and you can hack and flash a new firmware bear in mind, there is no way to backup the previous firmware. There is an audio amp connected to the controller and small speaker.

Top Part: Handles the wifi/usb/camera communication, the first version used a BlueGiga (PIC 32) and the current version (V2) uses an Arm CortexM4.

From the hardware point of view you can create an EZB controller, you will need a controller to handle the ports, audio components and a controller to handle the WIFI.

Can you replicate it with Arduino hardware (C/C+) ? Yes

What makes the difference ? ARC (Desktop/Mobile) handles all the logic without any C code complexity. Plus all the built in and custom plugins makes your life easy when you want your robot to walk, talk, see or "think".

But don't forget all those goodies are not in the hardware, they are in the software. So the software makes the difference!

EZRobot solution provides a common tool: desktop, mobile, cloud space to share the projects etc.

There are some cons too: ARC runs on a Windows/Android/IOS so you need an additional machine even if your project only toggles a led or repeats a sequence of simple instructions. So the ARC handles your project, script commands are interpreted and simple commands are sent to the EZB e.g. Read Port, Write Port, servo Position X, Read Analog Port, Play some sound data etc.

The code can't run as fast as running inside the controller, so for specific cases you need to delegate the task to an external controller.

Conclusion:

If you are an Arduino thinker and an EZB is a two controller systems how it can help you ? Is like adding more arduinos/controllers to the picture, you will need to code the integration in C. EZB is a closed system the only way is through the EZR protocol, so it needs to wireless or wired to the serial/camera port. Is an interesting exercise and doable, but, i don't see the point of all the work to connect both systems.

If you are EZRobot user your best friend is the ARC. Can you combine ARC.and an arduino controller and simplify your life ? NO... without extra know how.

If you reach a limit where you need something specific: Real time sensitive codee e.g. digital counters/encoders, neopixels, SPI communication, fast I2C, single wire protocols, basically low level stuff then you need to delegate the task on an Arduino/PIC/Propeller micro-controller. you don't need C/C++ full knowledge, you can get lucky with some copy paste scripts and changing some lines of code and following online tips.

Nothing can be more simple than the ARC.