Using an Arduino is straightforward. You hook it up to your PC via USB, install the IDE software, and create programs. These are uploaded to your Arduino and used until the program is updated.
That’s all there is to it; but what if you could do even more with an Arduino/? Wouldn't it be great to be able to directly access Arduino through a monitor, and interact with it via a mouse or keyboard?
That's the idea behind Bowie Poag’s Halogen, “a scriptable, programmable GUI environment for the Arduino.”
While not a full-blown operating system, the GUI (graphical user interface) certainly has the feel of one. Amazingly, it’s running only on an Arduino, too. Says Poag: “I’m building it on the stock Arduino Uno, with a simple 3.5 inch TFT LCD screen with a microSD slot on the back … It boots up immediately into the interpreter.”
To make it more useful, Halogen also features a “primitive scripting language” which Poag says can be used to write rudimentary apps, such as that seen in the demo. You can, for instance “display images anywhere on screen, and display however many images you like.”
Crucially there is no upper memory limit because the images are dumped to the display as they’re loaded up. Halogen’s creator also explains how primitive commands can be used. These “directives” include SSL (for set status line) which sets the line of text at the top of the screen ( as seen in the demo video). Meanwhile, another directive is SHI (show images), and this will pull an image from the SD card; the image is displayed at the coordinates you specify. Other directives control delay, loading other apps, drawing boxes, drawing text, loading more images, and so on.
All of this means that you could create a GUI for an Arduino project with buttons on a touch-enabled TFT. Scripting through Halogen lets you create rudimentary apps on Arduino. Pretty amazing, we think you’ll agree. But how? Well, it’s all about making the most of the hardware. Says Poag “If anything, this style of development should be taught as mandatory. Learning to code within extreme constraints gives a programmer an appreciation for the hardware.”
At present, Halogen is unavailable to the public; let’s hope that Bowie Poag can complete and share his work soon.