Category Archives: Microcontrollers

Nixie Tube Clock

Design files for this project can be found here

For the longest time now, I’ve wanted to build myself a Nixie tube clock completely from scratch. Building one isn’t easy though given the various barriers to entry: the high cost of Nixie tubes ($10-$50 each), high voltages for driving the tubes (~170V), designing the PCB, the desire for an nice enclosure that isn’t made out of laser cut acrylic.. All together, it meant that I didn’t have the time and resources to put towards this project until now.

Since I anticipate that I’ll be actively working on this project over the next 8-12 months, this post will not have the usual changelog at the top. Instead, I’ll be slowly appending my progress to this post along with any useful info I find.

Continue reading Nixie Tube Clock

PIC Based Ultrasound PWM Generator

The code base for this project can be found here

Here’s a fairly simple yet somewhat interesting project that I’ve been working on for the last few days. The idea is to make a simple, configurable ultrasound PWM generator that could be used to drive an electrostatic transducer at low ultrasound frequencies (20 kHz – 200 kHz). To keep parts to a minimum, I used nothing but a PIC12F1840 with a 20 MHz crystal oscillator and a single button for the trigger.

Continue reading PIC Based Ultrasound PWM Generator

NeoPixel Clock

The latest code base for this project can be found here

Here’s a quick weekend project that I did a week or so back. I decided to put together a standalone wall clock using Adafruit’s 60 NeoPixel ring, a ChronoDot real-time clock (RTC), TSL2561 light sensor, and a PIC12F1840 to tie everything together. The hardware was pretty straightforward, but the interesting part about this project was really with the one-wire protocol used to control the NeoPixels.

Continue reading NeoPixel Clock

RGB LED Cube Improvements

The original post for the LED cube can be found here

While the LED cube itself is pretty much finished, I recently had a chance to add a few new features and improvements to both the code and hardware. The main hardware improvement so far is a cube-to-Cerebot adapter PCB that replaces the interconnecting cable between the processor board and cube PCB. On the software side, I implemented a custom Ethernet driver that allows a user to read and process raw Ethernet packets. Using this driver, I added a new API that allows any external computer capable of writing raw Ethernet packets to control the cube. I also wrote the corresponding Python API that runs on any Linux machine with root.

Continue reading RGB LED Cube Improvements

Interactive Companion Cube

The latest code base for this project can be found here
Video and pictures are at the bottom of the post!

So I wanted to give a friend the 3D printed companion cube as a birthday gift, but I figured that just the cube by itself would be rather boring. Instead, why not add some audio functionality to the cube to make it a bit more impressive? And so I did. As I came up with this project idea only three weeks before the deadline, I was in a bit of a rush to get things working. As such, designing and ordering a custom PCB was out of the question. Instead of using a custom PCB, I came up with a stacking design using Adafruit’s perma-protoboards that would fit inside of the cube’s frame while still allowing enough real estate for all the components. As the frame was slightly smaller than the protoboards, I had to file the edges of the protoboards down a bit to get them to fit. The upside to this design was that I was able to achieve an extremely snug fit that should be pretty resistant to drops.

Continue reading Interactive Companion Cube