Thursday, 12 November 2009

4 Operating Systems for the Arduino

I was working in the lab, late one night, when my eyes behold an eerie sight... Yes, Halloween is a long time ago, but that stupid song is still stuck in my head. I miss Halloween. I never got to post up pictures of my skeleton running off IXM's. :-)

Anyway, I was browsing the Arduino forums and saw this cool post about DuinOS, a real-time embedded "operating system" for the Arduino.

DuinOS by RobotGroup

It's a simple little realtime OS (RTOS) built by the guys at RobotGroup (hello!), and can be downloaded here. It's meant to have a simple function scheduler, implementing a basic form of multitasking (not quite multithreading, but something like round-robin scheduling I think). That let's someone code multiple functions at a time, that get executed in turn, so that a single Arduino could be executing multiple types of "apps" or "sketches" at the same time.

Well, that's something of a stretch, but it's getting there... we won't get into context switching an RAM page swapping just yet :-)

So then that got me thinking, why not write up the other "OS's" out there for the Arduino platform. So here are the other 3 Arduino operating systems I'm aware of...

Pyxis OS by ArduinoWill

This is a graphical OS built on top of the Arduino and TouchShield platform, and is written by ArduinoWill (aka Thom). Thom is ridiculous, and extremely talented at coding. He has been prototyping some of the craziest stuff I've seen on the MegaPalm kit, DOSonChip, and the TouchShield Slide.

Ok. Here's a video of Pyxis OS in operation, which is quite ridiculous:

ArduinoWill also figured out a crazy hack to implement portrait and landscape mode...

And I'm not even going to mention the Super Mario level port:

Pretty insane... 12 fps. 0x000C. 00000110b frames per second. I'm still trying to figure out how you did this...

ArduinoMacOS by Mark

Mark managed to port a few apps to the Slide, including... um, I don't know... a GPS, Tic Tac Toe, Tetris, a Calculator, Oscilloscope, Breakout, The Matrix Screensaver, and a Canvas Drawing program. And the Control Panel. And Hex editor. And a Graphics Demo. And an analog Pin Visualizer.

And it's all zipped up over at the Open Source App Store here.

I wish I still had screen shots... I've searched my hard drive inside out, but instead, I just have the source code :-( EDIT: I finally found some pictures, and uploaded them above...

TaOS by Ziplock

Here's another lite-weight operating system, this time built by Ziplock. It's a simple embedded GUI that focuses on assigned blocks of code to little squares. In essence, it's the epitome of a miniature, lightweight script execution OS. Applications are like mini-apps.

If every operating system were written with this little overheard, I'd be running Quake on an 8 bit Motorola 6800 written in assembler...

Anyway, I digress, but the code for TaOS is all available over here.


Post a Comment