It’s an 8×8 red+green LED Matrix, driven by three shift registers driven by a Bare Bones Board Freeduino by Modern Device Company.

Before the meeting I just had it flashing fun patterns based on odd bit-math equations. During the meeting, I was urged to add some code to make it controllable by the Wii Nunchuk. So, I wrote a simple program that takes the X and Y of accelerometer and plots it on the matrix.

I drove the LED Matrix with three shift registers: One 74HC595 8-bit register gave power to the rows of the display, and one Maxim-IC MAX6969 sank current for the columns to the display. To turn on row 1, column one, you shift “B10000000″ into the row register, and “B10000000″ into the column register:

In order to encourage us to play with electronics more, JWA and I have begun doing monthly challenges. For our inaugural challenge, we decided upon an LED Birthday Candle. This is my entry to that challenge.

You blow the center pole towards one side, and the LED shuts off. To turn it back on again, blow it the other direction. It’s a circuit known as a bistable multivibrator, or “flip-flop”.

Not including the batteries, this thing costs less than 15 cents in parts. If I could work out the “blow” mechanism a little better, I think this would be a marketable product.

Okay, now for some photos:

On the breadboard:

Before being shoved in the pill bottle:

I had originally wanted to be able to shove this thing into a fat straw, like you get with a bubble tea, so I made it as small as possible, and soldered the pieces together straight rather than using protoboard:

Hook a speaker to the output pin (defined below, 13 by default), and hook the Wii adapter up to analog pins 2-5, preferably using the Wiichuck adapter. Tilt the wii from side to side to adjust the tone, and tilt forward and back to adjust the octave. Push the joystick forward and back to adjust the length of the note. Push the Z button to play the note.

I’m trying to think of what else I could do with this. There’s just not a lot of data out there that can use three dimensions of acceleration data and two dimensions of joystick data.

The electronic man holds his joy aloft. He loves it, because he was built to love it. It shines with the energy that courses through his body. He wants to share his Light with the world, but fears that if he lets it go, he’ll never know it’s glow again.

I’ve recently become enraptured with a little microcontroller development board called the Arduino (pronounced “Arr-dwee-no”).

This little thing is a great way to get started with electronics. You hook some electronic component to it, write a little bit of C, upload it to the board, and “tada!”, you’ve invented some new Gizmo.

Saute the onion until soft, then add the carrots, red pepper, and mushrooms. Saute for a few more minutes. Add tomato chunks. Let it simmer for a few minutes. Add the vegetable broth, canned chicken, potato slices, rice, and spices. Cover and let simmer on low until the rice is cooked (20-30 minutes).

0142 – Workgroups
This is for sending messages to roles. Several entities may join a Workgroup queue, and other entities may request chats with the workgroup (which then routes to the different entities when the chat is accepted by one of them). So, for alerting, we can send to the “alerting” workgroup, which will route to an appropriate AlertAgentBot.

0095 – Stream Initiation
For setting up a binary stream between two entities. This is cool because it could let us push all system checks to the nodes over the JabberNet. So we have a core stub ManagementAgent on each managed node, and it just logs on, and bootstraps itself.

0137 – Publishing SI Requests
For publishing available binary streams (using pubsub). So now our binary distribution nodes can publish available code, and our ManagementAgent stub can see what’s available for pulling.

0135 – File Sharing
Provides a way for entities to publish files to other entities. This looks kinda like what 0137 does, except farther evolved.

0136 – Message Archiving
For using the Jabber server as a persistent message store. Provides a method of adding, updating , and removing items from the store. This could be used as an audit log for the Agents.

It’ll automatically download the patch list from Sun, correlate it against what you have on your system, and present you with a list of what needs to happen. You can tell it to install all recommended patches, all security patches, or all the patches that don’t require a reboot (saving those for special occasions).