The completed giant USB three key mechanical keyboard.
After seeing this giant mechanical keyboard at Adafruit, I decided I had to build my own. Adafruit made theirs out of wood and used one of their Python-compatible microcontroller boards. I wanted a sloped top on my keyboard. I also wanted to check out what was new with Microchip’s USB device stack. I decided to build my keyboard out of aluminum and use a PIC18 microcontroller.
These are the public comments I made to Loveland City Council on February 6 before the vote on the first reading of four ordinances concerning the building of a municipal broadband network in their city. Click through to read my comments.
A four-channel DMX relay controller based on a PIC18F1320.
Halloween was right around the corner and I needed a timer with a bunch of relays to trigger some store-bought props and a fog machine periodically. (Mental note: read fog machine specs carefully—not all come with timer remotes.) My first thought was an Arduino and cheap relay board. Second thought was to build something with a micro and some relays. Third thought was that if I’m going to build something, might as well add DMX and package it up into a neat enclosure. Hence, the four channel DMX-controlled relay project was born.
A Teensy 3.2 driving a SparkFun 48-segment RGB LED bar graph display using the hardware built in a previous post.
In my post Driving a SparkFun 48-Segment RGB LED Bar Graph, I stated that the hardware built there could be used to drive the LED bar graph with any combination of hardware and software that could drive one of the common 32×32 or 32×16 RGB LED matrices. Today I’m back to prove that point. In this post, I ditch the FPGA and drive the 48-segment RGB LED bar graph using a Teensy 3.2 board and the Pixelmatix SmartMatrix 3 library.
I finished writing my comments to the FCC on net neutrality and Title II classification. In summary, I fully support maintaining the existing Title II classification and using that classification to enforce the existing net neutrality rules. Click through to read my full comments in all their gory detail.
Three different bar graphs built using Matlab, Eagle, Fusion 360, and 3D printing.
While building my zombie containment unit, I decided I wanted some LED displays or bar graphs to complement the containment status video running on the smaller secondary video monitor. Some other containment units used LED air pressure gauges from eBay. I wanted to achieve a similar look, but I also wanted my gauge to be software controllable so I could change the number of segments lit in response to events in the playback of the two videos. I decided it was time to build my own LED bar graphs.
LED and driver boards used to turn bulky, current-hungry Allen Bradley incandescent cluster pilot lights into something more hacker friendly.
I was recently working on a project and wanted to incorporate one of Allen Bradley’s four-position, four-color cluster pilot lights into the project. A quick search of eBay found several lights with the lens colors I wanted but not at the voltage I wanted. Furthermore, the lights were all incandescent and illuminating just a single segment would pull almost 200mA at 6V. That’s a bit more current and voltage than I could supply from a 3.3V microcontroller or FPGA pin. I went ahead and ordered a few complete lights that had the colored lenses I wanted and hoped I could find some way to replace the incandescent bulbs with current-sipping LEDs.
Controlling the RGB bar graph with a Digilent Arty board and my driver and carrier boards. The bar graph is a bit washed out from the lighting used to take the photo.
I recently picked up a 48-segment RGB LED bar graph from SparkFun. The bar graph’s 144 LEDs are arranged in a common-anode matrix of 16 x 9 LEDs. I was hoping to drive the display with something like a Maxim MAX6954 LED display driver. Unfortunately, that display driver is common-cathode and only 16 x 8. A quick Google search found that most display drivers topped out at a 16 x 8 matrix of 128 LEDs—not enough for this application. I quickly came to the realization that I was going to have to build my own display driver.
In part 1 of this series of posts, we built a giant set of robotic googly eyes. In part 2, we brought the googly eyes to life using an Arduino. In this post, we’ll use OpenCV to make the googly eyes detect and follow people as they move around the room. More specifically, we’ll use OpenCV to detect faces on a webcam and move the googly eyes to look roughly in the direction of the largest face in view.