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

TinyOS on the MSP430 Launchpads

10/1/2014 – Updated compilation instruction for the MSP Debug Stack

My semester project for CS5204 Operating Systems was to get TinyOS running on some unsupported MSP430 chips. While there are some resources out on the interwebs on how to get TinyOS running on specific hardware platforms, these platforms are designed with hardware for a specific use cases (ex. telos/micaz). What I wanted to do was to get TinyOS running on a generic development platform, or specifically on the TI Launchpads. There are two versions of the Launchpads in circulation: a value line that uses the MSP430G2xxx line of microcontrollers and a higher end board that uses the MSP430F5529 microcontroller. Here I’ll detail the process of setting up a TinyOS programming environment for both TI Launchpad platforms. I’ll also give a brief overview of TinyOS’s architecture.

Continue reading TinyOS on the MSP430 Launchpads

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

Projects by Kevin