Let's Make Robots!

Yes, it really is worth doing.

Please first read my post: An alternative Language/OS for your Max-32

Then see: http://blogs.freescale.com/2012/03/01/robotics-programming-its-back-to-basic-with-stickos/  (Very nice, detailed article.) The link here looks just fine but doesn't work!!!!

Now you have another vote for converting your Uno-32 or Max-32 over to StickOS.

It took me about an hour to put together a simple wall avoiding control program (details of exactly how you would control your motors would still need to be done, depending on what motor configuration you use).

For emulated co-operative multitasking good old "on timer x gosub fast"  (subroutines are named in this Basic). I have seen fairly crude flight simulators in GWBasic and QBasic useing this to multitask the controls and other parts of the simulator. Nothing so crude about this Basic it runs at about 95000 instructions per second!

The really nice thing about StickOS is it makes use (actually, runs inside) the PIC-32 chip you bought the Uno-32 or Max-32 for.

No conversion from Arduino (OS?) to PIC-32 compatible code and then finally run.

(I am going to convert one of my old Arduino based robots to use my Max-32 board just to see what the conversion will be like.)

C# has it's speed and power, there is no denying that, but it will never be as easy to code in as good old Basic! :-)

NOTE: Please see the corrected link below in the comment.

Update: Freescale now offers a walking emotional face robot for $200. It can either use C or StickOS and its built in Basic.

See: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FSLBOT#

I hope that link works! :-)


Comment viewing options

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

I don't understand what Arduino and pic-32 have in common? Different microcontrollers with very different compilers. Arduino is an Atmel mcu with an AVR-libc and GNU GCC toolchain.

The chipkit32 has the form factor of the arduino so users can use arduino shields with them. I use to think that the IDE digilent provided for the uno32 and max32 made it possible to reuse the arduino code as well but have since learned this is not always the case. In fact it appears most arduino code needs modifying.
However you do get a powerful micro for the money.
Here are the specs for the uno32 version

  • 80 Mhz 32-bit MIPS
  • 128K Flash, 16K SRAM
  • 42 available I/O
  • Connects to a PC using a USB A -> mini B cable

I wasn't sure it was compatible with pic32 but this link says it is. Still,  it may not be suitable for beginners and most people with experience will probably prefer c\c++ based systems.

I personally hate gosubs as much as some people hate goto's. That is the turn off for me ever to consider using basic again. Call is marginally better but just referencing the routine by name is best. But then I am a lazy typist.

I've been getting into python lately and have found it a fun language to use. I think there's even a project somewhere for micros with python. Don't have a link though.

That link for me takes me to a page showing features of several microprocessors that can be used with the PIC-32 StickOS. It takes a bit of study because it gives each processor by its designation. The link is part of the (big) StickOS website.

I am running the StickOS on my Max-32 and it is working great. I think it is going to be THE OS for those new to microcontrollers (that includes kids!)

One of the question designers of new boards with a PIC-32 ask "Can it run StickOS?"

Writing remarked/indented Basic progrrams for me gives me very fast access to the PIC-32 pins. The StickOS runs inside the PIC-32 and that has A LOT of advantages like debugging (and the Basic is rocket-fast too). What is VERY nice is the board can be converted back to being a Arduino with some effort.

There is a new board similar to the Max-32 called the Firebird32 by Freescale that has similar capabilities, some better, and I think they want less than $30 for it, StickOS and FreeRTOS both run on it. (It cannot be an Arduino).

the link is broke


Sorry about that! (I just cut and pasted the link.)

This one should work.


I can click on it or cut and paste it directly into my browser and it works for me.