Microcontroller Interfacing

Gaugette Blog

Gaugette is a blog and Open Source code library for building embedded devices using Arduino, Raspberry Pi, and Beaglbone microcontrollers. The blog focuses on microcontroller I/O devices including the Switec X-series micro-stepper motors, rotary encoders and OLED displays.

OpenEmbedded Linux

Chumby-OE Blog

Before the Raspberry Pi, there was the Chumby Hackers Board. This blog documents the process for building OpenEmbedded kernels for the CHB.

On-Demand Barcode Labeling System


BurraLabel is an on-demand label printing system used in the Australian fruit industry.

BurralLabel is used in the Avocado and Mango packing industry on the Atherton Tablelands, Burdekin and Northern Territory.

Geographical Information Systems

Atherton Tablelands GIS

Clearwater Software contracted to Atherton Tablelands Geographical Information Services (ATGIS) from 2004 to 2009. Clearwater Software developed interactive web-based mapping systems, data management systems, and provided IT support for the mapping unit.

In 2009, the Northern Queensland Wildfire Mitigation website, developed by Clearwater Software under this contract was recognized with a highly-commended award at the Australian Government's Excellence in e-Government Awards.

Virtual Reality & Industrial Robots


In 1999 and 2000 Clearwater Software was contracted by The National Institute of Standards and Technology (NIST) Intelligent Systems Division to develop CAVEWeld, a Virtual Reality application designed to enable users in remote locations to collaboratively operate a welding robot.

This project demonstrated interaction between real-world systems and fully-immersive interactive virtual words. Participants were able to see, hear and control the operation of a real-world welding robot through their interactions in the virtual world.

CAVEWeld was demonstrated live at the NIST-ASME Industrial Virtual Reality Symposium in Chicago (November 1-2, 1999).

Infrared Remote Control Decoding

An Efficient Algorithm for Decoding RC5 Remote Control Signals

This algorithm for decoding RC5 remote control signals uses a state-machine to achieve a very small code footprint, uses very few CPU cycles, and offers robust protection against timing jitter.