Hurrah! I’m very pleased to announce the first ever successful opening of a Reverse Geocache™ Puzzle Box. (If you don’t know what a Reverse Geocache is, you should read this first.) The event occurred Saturday night, January 30th, in Austin, Texas, USA.
Alas, it wasn’t the famous box that opened – that one is still sitting sadly [...]
NewSoftSerial 10 is available for testing. There are a number of fun new features to play with, including support for 20MHz processors and Arduino siblings like the Teensy and Teensy++. I’ve also added a destructor (and an end()) so that you can employ temporary NewSoftSerial objects, for example:
if (need_to_check_GPS)
{
NewSoftSerial gpsconn(6, 3);
...
} [...]
[Next read the most recent chapter in the puzzle box story.]
The puzzle box continues to generate lots of interest. This week I encountered it in two different geocaching podcasts, a Serbian blog, and Daniel Soltis’ talk at Playful ‘09 in London. I’ve fielded calls from network TV channels, film producers, engineers, and machine shops all [...]
[Next read chapter 3 in the puzzle box story.]
The Puzzle Box story has a delightful second act.
It’s Saturday night, five weeks to the day since the wedding, and despite the recent firestorm of publicity, I still haven’t heard whether my friends have managed to open the Reverse Geocache Puzzle Box. It’s certainly possible they are [...]
There is a cool new addition to the website today — a project I call the Reverse Geocache Puzzle (tm). It’s a box that won’t open until its owner figures out where on earth to move it. I built it for a friend who got married in France last month. The software for this project incorporates [...]
NewSoftSerial 9 is now available. This is a major new release that replaces all the performance path pin reads and writes with direct Port I/O.
What does that give you? Well, a couple of things. Most importantly, it makes NewSoftSerial more compatible with the latest Arduino release. Changes to timings of digitalRead and digitalWrite in Arduino [...]
Changes in the timing of digitalRead and digitalWrite on 0015 have degraded NewSoftSerial’s and AFSoftSerial’s performance on this platform. If you need software serial at higher baud rates, I recommend you stick with 0014 — at least until NewSoftSerial 9 comes out.
The good news is that version 9 has been optimized heavily and it [...]
Over the last couple of weeks I’ve spent a fair number of hours in front of the logic analyzer, and the result is NewSoftSerial version 8. The major delta in this release is support for 8MHz processors.
The half-speed clock makes accurate serial reception considerably more difficult, but NewSoftSerial 8 still manages to transmit with 100% [...]
Thanks to Paul V. and Ben Combee for their useful suggestions on how to support line endings (C++ “endl”) and internal format manipulators, respectively, we now have a bona fide Streaming library.
With it, you can now write code like this:
Serial << "A is " << lettera << "." << endl;
lcd << "The date is " [...]
I wrote a new library, Flash, which abstracts away most of the complexity of PROGMEM programming. It provides String, Array, and Table types that make ROM-based data collections as easy to use as “normal” types. Each overrides the C++ [] operator, so to get at individual elements, one simply uses familiar array syntax. For example, [...]
February 21, 2010
13