Ann Arbor is known for its exceptional selection of local restaurants, but picking a place to try can be overwhelming. Here is a short list of my favorite places to eat in town that you won’t find anywhere else.
A small open-source USB to CAN adapter with cross-platform compatibility and an easy-to-use Python library. Now only $30!
Now available from the Openlight Labs store
Ann Arbor is known for its exceptional selection of local restaurants, but picking a place to try can be overwhelming. Here is a short list of my favorite places to eat in town that you won’t find anywhere else.
The CANable is now available for purchase on the Protofusion store! More information is available on the CANable website.
The CANable is a hardware clone of Eric Evenchick’s CANtact project, an open-hardware USB to CAN adapter compatible with socketcan. I took his design and reworked the hardware to be a bit more suitable for my personal needs, with a screw terminal instead of a DB9 connector and a much smaller PCB.
The design is open-source hardware and the schematic is nearly identical to CANtact except CANable uses the STM32L042’s onboard high speed oscillator, has a micro-USB connector, and has a smaller 3.3v regulator.
The Crazyflie 2.0 is a second generation nano quadcopter created by Bitcraze as part of their open-source flying development platform. Available for $180 from Seeed Studio, this developer-friendly kit seemed like the perfect way to dip my toes into the increasingly popular world of hobbyist drones. I went for the developer combo package, which included the Crazyflie kit, Crazyradio, JTAG debugger, and a couple breakout/prototyping boards for $215. I also purchased a few spare batteries to extend my flight time, a decision I definitely haven’t regretted. Read more »
Recently I was doing some woodworking and wanted to try fuming a small test piece of oak with ammonia. The fuming process darkens the wood and gives it a nice aged, gray look. To speed the process up, I decided to heat my ammonia solution to increase the rate of evaporation. With nothing else on hand and with a desire to do something fairly ridiculous, I decided to use a vacuum tube as an immersion heater in a closed-loop PID heating setup for my ammonia fumer.
Disclaimer: This is a sub-optimal solution to this problem, don’t try this at home, ammonia vapor is poisonous, etc…
Photobooths are popular at many types of social events, including weddings, birthday parties, and school dances. However, renting one can easily cost upwards of $1000, making them impractical for many events. So when a friend mentioned wanting one for her wedding, I jumped at the opportunity to build a low-cost DIY photobooth.
To make my photobooth cost-efficient, I decided to use a thermal receipt printer to print out black and white photo strips, which eliminates the need for an expensive photo printer and photo paper/ink. I also added Twitter integration so the photobooth can tweet out every photo strip it takes, and a QR code generator that prints a link to the corresponding Twitter post on each photo strip.
The BeagleBone Black single-board computer seemed like a perfect match to power this project, and I decided to script everything in Python to keep it simple. Gphoto2 provides the camera interface, CUPS handles the printing, and Python libraries take care of everything else.
Lets get into the details of how this thing works.
The Luma Controller takes any audio input, calculates and analyzes a FFT of the spectrum, and sends commands out to a network of Luma nodes. This board duplicates the functionality of our music analysis software, but with greater flexibility and significantly less latency. The first prototype of the Luma controller is up and running and is built around an Arduino-bootloaded ATMEGA328. Although this board is functional and provides decent results, we are redesigning the controller from the ground up with a more powerful ARM processor.
The BeagleBone Black is an ARM-based device and doesn’t have ACPI support like most x86 systems. ACPI generally handles triggering shutdown and other power management events on x86 systems, so this functionality is missing on the BeagleBone. We can easily work around this problem with acpid, which provides an event handling script that is triggered when the power button is pressed. This is a simple way to add power button triggered shutdown without actually having ACPI support in the hardware.
This past winter I designed and constructed a stereo vacuum tube amplifier based off of the TubeLab SimpleSE design. Since many people asked about it at Maker Faire Detroit, I thought I would post a link to the build photos and some more details. Check out the build album below!
Thanks to everyone who came to check out our booth at Maker Faire Detroit this year! We will have some new posts on the blog about our new Luma lighting nodes, the Therm PID controller, and our thermal-printing photobooth in the next couple of days. Check back soon!
The SSD1306 is an OLED display made with SPI and I2C interfaces. With a simple Python library I adapted (a modified version of py-gaugette), it is easy to render text, images (from bitmaps of pretty much any format), progress bars, etc. This guide is a bit on the long side, but should walk you through the whole process.