Category Archives: PCB Design

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

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

RGB LED Cube

The latest code base for the LED cube can be found here

11/12/2013 – Updated code to use the WDT
12/12/2013 – Added support for controllers as well as Snake and Tron game modes

One of the projects that I’ve been working on for the last four months or so is an 8x8x8 RGB LED cube. After looking up some designs online of what others have built, I decided to design and build my own version. Instead of something shoddily put together, I wanted to build a display that could be put outside of one of the introductory lab rooms for other students to program and play around with. Thus, my design had a few goals:

  1. It had to look professional. This meant that the overall cube should be structurally sound and a proper PCB should be designed for the driving circuitry.
  2. It had to be fast. Since some sort of multiplexing would be needed to drive 512 LEDs, I wanted the cube to have at least 240Hz* refresh rate at the very minimum.
  3. It had to be driven from a microcontroller that is used in introductory classes. This meant that it had to be driven from a Digilent Cerebot 32MX7 board that is used to teach microprocessors here at Virginia Tech. While the cube itself isn’t limited to a specific microcontroller, by using this board I can write a baseline for the code from which other students can then easily build off of.
  4. It had to look impressive.

* – There’s actually a notable difference when driving the cube at 60Hz vs 240Hz.

Continue reading RGB LED Cube

Pictures!

Before I start posting what I have been working on, I’ll start off with some pictures of surface mount soldering that I worked on last semester.

Some embedded boards and sensors that I have working code for:

Some 3D printed designs:

Custom PCB designs:

Once I have some free time, I’ll put out some more information on the stuff above. I also have some more things that I’m currently working on so stay tuned for more!