Let's Make Robots!

Arduino Service - almost like "real" software ....

Arduino Service - almost like "real" software ....

"Finally"...  presenting "The Arduino Service - reloaded (again)" -  it's not ready for "prime time" , but it's starting to come together.  It would be great if I could get some testing & feedback..  with enough updates I'm hoping it might even be useful :)

If your interested,
here are the steps to get started in graphic detail..

Step 1 download the latest "bleeding edge" build from the build server...


At the time of this writing it was at intermediate.751.20120901.0645 - press the lastest link..

Download this release by pressing ... (all files in zip)

After its done downloading, extract the contents somewhere...

Double click the myrobotlab.bat or .sh depending on operating system...

If all goes well you should see MRL startup - click over to the Runtime tab (it's the BORG + number tab).
This allows you to select what services you want in MRL.

Many of them require additional components to run.  Arduino needs all the avr stuff and other doo-hickeys..

Right click on Arduino, and select install...

It "should" start downloading the appropriate parts depending on your flavor of operating system...  It won't work through a proxy server, and we have had problems with some of the service components being blocked by anti-virus software...  Some services (opencv) require native libraries (dlls or so's) which some filewalls will not allow...  hopefully, you'll get a happy green check-mark :D

The windows install of Arduino is larger than the Linux one - being that Linux already has many of the components to run avr cross compiler... so if you have windows you'll have to wait a bit...

Restart - now MRL should allow you to start an Arduino service.  Oh... heh, did I mention it was a good time to plug your Arduino in at this point :D

I "think" I can support almost any Arduino, I put some work in to suppor the different pin configuration of the Mega 2560... but let me know if    "it no worky" for you...  I'll try to get more boards supported...

go back to the tab and right-click -> start

Now you'll need to name the service... you could call it George or Mary, or some other silly name..  it does not matter, but it needs to be unique..  This name is used for the different services to talk to one another...

I named my with the un-imaginitive name of "arduino"

Now you should see an Arduino service tab in the GUI.

Select the appropriate board & serial port under the tools menu.

wait for the "good times...." :)

The first sub-tab which comes up is the "editor" and a file called MRLComm.ino
MRLComm.ino is a Arduino script file which allows communication from MRL to an Arduino based board.

The first thing you want to do is compile it - with the arduino compile like button :)

Then upload it to the board.

Please be patient with the serial port ... for some reason it takes a long time to connect - on Windows 7 its the worst...  but I'll look into it (later) 

Next after uploading - you want to re-establish a connection to the boar - the "upload" has to tear down the connection.  But we want to connect - hit the connect button..

Now if everything went correctly, you should be able to tab to the oscope - and turn on a few pins analog or digital and see the results.  Sometimes I plug in a plain wire to an analog pin to see how much it affects noise :) 

Sometimes its more convienent to have different screens showing at the same time or in different positions, most tabbed components you can right click - and detach for more effective screen space

So now hopefully you have a working Arduino service - the service itself is not the gui, but the GUI is a service.  These means it can run just the same without a gui, it can be controlled programmatically.  Jython is a service which you can write scripts to do things with the Arduino service.  Or multiple Arduino services.  Everything in MRL speaks to one another in a standard message format.  So Arduinos can speak to other Arduinos, or OpenCV can tell the Arduino to move Servos or Motors etc etc...

Well, let me know how it works for you or if you have ideas on how to make it better..

Thank you..

good times....

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I am nowhere near trying this thing out for you. But I am still rooting for MRL. You Go Grog!

Rik !

"I am nowhere near trying this thing out" <-  Why?   Too many steps?  Too confusing? Too gruesomely graphic in detail? Too buggy? Too little time?
Your opinion means a lot to me, Rik.   And thanks... Yay!

Oh my, looks yummy! I will soon resume my robotics works and this is something I'll want to try besides my Football players...

There you are !

Where are the playas ?  Are they on strike - demanding better salaries ?

They are waiting for some time for me to figure out how to mount the Bluetooth modules on them and more time to adjust the walking gait to be more reliable. They are working fairly good as wanderers/object avoiders, but I must be able to control them to get close to the ball and kick it in the right direction. Then we can play. 

Okey Dokey,

Zip files downloaded and extracted, BAT file, "installed" arduino, zapped-in the serial-I/O code, connected, "Connected..  ..good times"

So I am talking to the computer, the programming went fine (actually MUCH faster programming than the regular IDE) and I am indeed connected. I am getting a blink on my RX LED when I manipulate pins under the "pins" tab. Specifically, I am clicking 13 on and off, looking for the LED blink. Nada.

I am getting no reponse from any of the output pins on the arduino, and nothing in the O-scope (yes, various pins were "enabled").

Gotta be missing something very simple here...

After the upload did you hit the new "connect" button -   its the -> <-  looking one...

The upload requires MRL disconnect from the port so a "re-connect" is necessary... hmm.. probably should try to do this auto-matically..

I'll be adding a "WTF GroG" button which auto-emails the log to me ...

Yes sir, after I sync'ed the sketch, I did indeed hit the connect button. I have:


connecting to serial device COM17


connected to serial device COM17

good times...


and then because I am impatient and clicky...

connecting to serial device COM17

COM17 is already open, close first before opening again

connected to serial device COM17

good times...


From there, nada. I can go into "Pins" and click on/off with no results. (I am getting an RX blink still, but no pin13 LED --which is what I am toggling [toggeling, toggleing?] Nothing on the Scope either. 

I gotta be missing a buad rate somewhere?



got to regroup for a bit, and see if I can get more info,

Thank you, your gracious Clickyness !