RGB LED Cube Controller

The latest code base for the controllers can be found here

12/28/2013 – Added Revision A Section
1/20/2014 – Added Revision A PCBs
1/26/2014 – Added Revision B Design
2/28/2014 – Populated Revision B Boards

As I had to take the LED cube home for a few days to fix a few things, I figured that I might as well extend its functionality. As such, I decided to add gaming functionality to the cube! To do so, I first had to design a controller to provide some way to interact with the cube. Originally I had hoped that someone from the AMP lab would take on this project, but no one seemed interested to do so (probably because it was finals week). Perhaps they would be more interested in programming games for the cube?

The controllers themselves should be pretty simple: a few buttons for inputs and some LEDs for things such as score indications. As such, it should be a relatively quick project. Perhaps I could put some sensors on the board as well, allowing for some gesture based control.

Continue reading RGB LED Cube Controller

3D Printed Portal Companion Cube

Download the CAD files here

Here’s something that I did a while back that I finally gotten around to finishing. Fans of the game Portal and Portal 2 will recognize this as the iconic Companion Cube that you carry around with you for a large part of the game. I designed and printed this a while back when I was trying to improve my skills with Autodesk Inventor and I’m pretty happy with the final design.

Being a modular design, the nine pieces minimizes the amount of materials and time required to print all the parts. The print itself is made of ABS plastic and the paint consists of a few layers of car paint primer and was painted by hand using acrylic paint.

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!

Projects by Kevin