You can now download version 3.12 of ROBOTC which also supports the Arduino, in addition to the already existing platforms such as NXT and Cortex! This is a beta release, and if you install it, it will replace whatever version you already have. I’ve never had major issues with betas before but as they say “When you’re on the cutting edge, expect to bleed.”
This version supports the following Arduino platforms:
- Diecimila
- Duemilanove
- Uno
- Mega 1280
- Mega 2560 (The Google ADK boards, like the Mindsensors Teemino, are based on this)
Please note that in order to use the ADK boards, you will need to replace the bootloader, which requires an actual programmer.
More information on this release can be found here: [LINK].
ROBOTC for Arduino Known Issues (328P Based): [LINK] ROBOTC for Arduino Known Issues (MEGA Based): [LINK]
A changelog will follow, most likely after the weekend, so stay tuned.
Awesome! Unfortunately, I need to order some parts to (hopefully) get my 3Pi working with it. But, it seems pretty good from first glance.
Oh, BTW. Just in case I don’t get it working, I’ve ordered a UNO so I can still try it out :^)
Just downloaded and looks very interesting. Not sure it offers enough over the standard IDE. We use RobotC for VEX PIC 0.5, Cortex, Mindstorms and RCX so it will work for us to some extent. How will it work with the “includes” for each and every shield. That will be the challenge.
Also need to see if we can use with HiTechnics (and other) I2C sensors – sample file for bit banging looks interesting (perhaps an opportunity for the amazing Xander to update his driver suite ?). Cant wait to get to work in Monday and try downloading to a few robots.
Neil,
I’ve already got a bit-banged master for Arduino 🙂 In fact, it was the first thing I did when I got my hands on a very early alpha build a while back. Just take a look here: http://botbench.com/blog/category/robots/arduino/
In the alpha builds, you could select a number of shields from a drop down, which would then configure the appropriate pins for you. I haven’t tried this build yet but I can only assume it has similar functionality.
Thanks Xander – I wil give that a go.
The good news is that I wrote a simple program driving a couple of motors and after the usual playing around it actually worked !
This was impressive as I was testing a Freetronics Eleven (UNO copy) and the Rugged Circuits heavy duty motor driver shield (up to 30V 2.8A beast of a thing).
Luckily this shield is readily hackable as it uses D12 and D13 for motor direction (conflict with I2C)
The shields selection option is via the motors/sensors setup menu and only covers a limited variety of shields at this stage but looks promising for the future. Maybe an option to customise your own shield pin allocations ?
At the end of the day this first exercise was much easier (simple motor controls in a timed sequence with speed control) than using the standard Arduino approach and looks pretty cool
(a little bit later) That was interesting ….. you need to download firmware before you can communicate with RobotC (as expected). There are no changes needed, however, to return to Arduino programming. I think that is a good thing !
Neil,
The ADK requires a bootloader change but I am not sure if that will render it incompatible with the Arduino or other programming environments. I find out 🙂
– Xander
From the ROBOTC for Arduino Wiki:
We’re excited about this too! I just tried to download, install and run, and I can’t tell if the writedebugstream is working or not; it doesn’t compile. Any trick to handling this?
John,
I haven’t had a chance to play with it yet. I’ll give it a whirl tomorrow and let you know 🙂
The Mega (and presumable the ADK) does support debugWriteStream, but the Uno does not. It may be a hardware limitation of that particular platform or an oversight on the programmers’ side. I’ll find out for you.
Xander, thanks. I’ll have to start developing with the Mega then. Just another excuse to buy some more hardware . . . . 🙂
John,
Th reason the Uno does not support debugWriteStream is because it does not have string support due to memory limitations. The ROBOTC developers are looking into a way to support a simplified debugWriteStream without the strings for the smaller memory Arduino platforms.