# How can I create a robot like the EZ-B using a regular Arduino?

I am interested in building a robot like the EZ-B, sold by ez-robot.com. It comes with an SDK for Visual Studio and has direct scripting in runtime through a USB, Bluetooth, Wi-Fi, IRC or HTTPS connection.

If I get a regular Arduino board, will I be able to control it remotely in the same way? From what I've read, an Arduino needs to hold the instructions in its own memory, but I would rather have the brain in the computer, feeding signals back and forth to the microcontroller.

Also, is Arduino alone, a step down as the website niceley puts it?

-

Unfortunately, I have no experience with ez-b, but I have looked over the site a little bit. I do, however, have lots of Arduino experience. The program is, indeed, stored on the board's local memory. However, it is very possible to write a program that can interact with your computer. With my Arduino, I often write programs that communicate with my computer over USB. To communicate over Wifi will require additional hardware. There is a Wifi "shield" that can be attached to your Arduino, but this runs at around $60. - I ultimately want o have a laptop as a brain, sending commands to multiple controllers (hands, feet, other components...) if the feet have 20 servos, I will need to send them commands through 1 or two microcontrollers. So ultimately, do you suggest that audrino can handle fast computations with the usb port connection or do you have a better solution? – Ess Kay May 10 '13 at 15:47 according to the ez-robot site, what i like, you can send commands in realtime which get processed immediately (ie- for remote controll like apps controlled though irc, twitter, wifi, bluetooth or the embedded http server) I'm wondering what this would cost to create using radioshack parts, how efficient it would be, and ultimateley, if its practical to do, and how hard to code these connections to usb or whatnot – Ess Kay May 10 '13 at 15:54 In my experience, I have never been upset with the lack of processing power on my Arduino. However, whether it will be a problem really depends on how much you want the Arduino to compute. With the laptop as the brain, I figure most of the computation would happen there, and the Arduino would only carry out physical functionality, like moving servos. It is perfectly capable of doing this quickly. Communicating over USB could, theoretically, be simple, but that belongs in another question. – J3RN May 10 '13 at 20:17 have you ever processed Kinect data through it? – Ess Kay May 13 '13 at 13:37 Sadly, I don't have a kinect, so I can't say I've tried. However, I found this one the Arduino Blog: link – J3RN May 13 '13 at 15:18 Certainly you can. You need a firmware for the Arduino that accepts remote control commands over the COM channel. Take a look at Reflecta or Firmata. I made something like this called RocketBot for Bay Area Maker Faire 2012. This was a PC remote controlling two Arduinos which ran the motors, a pneumatic rocket launcher, plus a siren and a warning light. I'll be posting a simpler version of this design that uses more off the shelf parts in a few weeks to the same blog. This one will have a bluetooth connection to the Arduino in addition to USB. - It's great that you are taking an initiative in building/replicating one like EZ-Robot. I would like to add a few things which helps in building a robot: 1) Simplicity. 2) Cost Factor. By simplicity I mean choosing the right hardware that actually helps your prototype to be built faster and the testing/debugging is easier. For instance, if you choose Raspberry Pi with a Wi-Fi module (I saw one at Adafruit stores for around US$12), the whole setup may be build under US$50. Adding computer vision (I think this will boost up the investment price) since it already runs Linux on it, helps in achieving the ease in usability and development. Now you have a system that can be controlled by many components. Using a Bluetooth module with Raspberry Pi is much cheaper than you may think. Chinese modules are cheap, like US$5-US\$10. Hereby you will have an independent robot.

But as you say, you wish to remotely control, the Arduino keeping your PC (since you mentioned Visual Studio), this can be done easily by adding a Wi-Fi module, but Xbee costs are really high, and then use the HTTP protocol to control the robot. The Arduino will be fed with some input, like say numbers ranging from 1-100 that may accumulate 100 tasks. Like move left, right, up down, turn on the light, etc.

So essentially make sure, which development board may help you serve the purpose easily.

-

We've written robotic software in C# for a school project, called NetBotProject.

It works in the way you described. Instead of using an Arduino we used a self-soldered ATmega8 board with our own firmware. The communication is based on RS-232 and on top of that our own protocol. The protocol (and the firmware) has commands for setting/getting I/O ports, powering servos, timer functions, etc.

To make a Wi-Fi connection, we used a cheap Fonera router, La Fonera 2100. It has RS-232 pins built in (connected to Atmega) and is running a socket server/client with Netcat. Our C# software also has a socket connection running, so we can send/receive the commands/signals to/from the ATmega over Wi-Fi.

With a few modifications the firmware should be able to run on an Arduino board. The protocol and firmware has not yet commands for the I²C bus. So you have to implement that by your own if you want to control more than one microcontroller with the software.

-
Im tryign to stay away from RS232 , they only transfer one bit at a time. I'm hoping for a usb 3.0 where max is 300 mb/sc –  Ess Kay May 13 '13 at 13:40