Software

Painless handling of dates, times, events and calendars on embedded systems

I do not enjoy dealing with the vagaries of calendar dates and times… Actually, I pretty much hate it. It’s mostly because I have little patience for arbitrary rules and convoluted systems, and anything as old as the notion of date-times is always filled with historical cruft: half-baked rules, a bunch of incompatible, random-looking, bases…

Read more

Squeezing the most out of Raphaël JS for SVG generation

A few hints about squeezing maximum performance out of Raphaël. When you want to generate dynamic SVG images using Javascript, either on a website or within a Cordova-type project on mobile devices, the Raphaël library is pretty sweet.  Raphaël has a nice, clean, API and lets you do pretty much anything graphics-related and it sticks…

Read more

Using the on-board Real-Time Clock

So you’re programming for a platform with a built-in RTC… cool.  Now what? Most (all?) XMEGA‘s have an on-board real-time clock, some can even be backed-up by a distinct battery (like the xmega256a3bu, shown below) which can be a real time saver (oh, the pun-anity!). The question then becomes how to best use it. I’ve…

Read more

Sweet new features for Druid4Arduino and SerialUI

New versions of SerialUI and Druid4Arduino have just been released and include some neat new functionality. The two major improvements are: automatic variable/state tracking continuous streaming output Variable state tracking Using SerialUI, you may now specify and label a list of (global) variables.  Each of these will automatically be displayed and refreshed in the druid…

Read more

SerialUI and Druid4Arduino updated

SerialUI, the Arduino serial/terminal user interface, and Druid4Arduino, the automatic GUI for SerialUI-enabled devices, have both been updated and are available for download. SerialUI SerialUI has been expanded to include new functionality, the most important of which are: A “user-presence” callback.  You can now specify a function which will be periodically executed while a user…

Read more

Bluetooth Low Energy tutorial series (part 1) published.

I’m pleased to announce that the first set of pages for the Bluetooth Smart/Low Energy Tutorial series have been published.  Within, you’ll find a BLE crash course, a DIY BLE module breakout board (including an Eagle library so you can use it in your circuits) and a complete universal bluetooth low energy client program– with…

Read more

What’s the easiest way send files to an Arduino?

There are many instances when it would be nice to be able to send large amounts of data to an Arduino-based device.  A very obvious example is any kind of media player, where you’d like to upload files from your computer, but there’s also sending configuration, whitelists, sets of instructions… there are many cases where…

Read more

MaxThermo: temperature measurements for your projects

The MaxThermo library has just been released under the LGPL! If you have a project that needs to know the weather (or at least the temperature, anyhow), then a thermocouple will come in very handy. Thermocouples are pretty sweet temperature sensors that fit into electronics naturally as they leverage the thermoelectric effect: conductors which are…

Read more

VaRGB, RGB illumination programming library, released

VaRGB, a powerful and rather fun bit of code, has gone public and is now available as OSS. VaRGB is an RGB illumination programming library. You tell it how you want your lighting to behave, and it handles all the details of updating red/green/blue values at the right time for you. The library works on…

Read more

How I Became a Programmer

I happened upon a questionnaire–How did you learn to program?–and chose to take a few minutes to fill it out. Doing so forced me to look back at the years I’ve spent coding, how I got started and the lessons I’ve learned along the way. I ended up spending a good while filling in my…

Read more