posts tagged with the keyword ‘arduino’


Click Whir Squee

Occasionally I show up at Milwaukee Makerspace with no clear idea of what might happen when I’m there. This piece, titled “Click Whir Squee” is the result of one such visit. Another member brought in a box of old computer hardware, including a Hewlett Packard Colorado T100E Tape Backup Drive. Being a fan of old technology (1997 is old, right?) I opened up the drive to take a look inside. I also powered it on and stuck a tape in it. The drive came to life and unspooled the tape and made a lot of spinning motor and tape loading sounds. Not everyone knows what these things sound like. It brought back some memories. (At my first job in the tech industry I had to load daily backup tapes into two tape drives. I remember the sound fondly.)

I somehow decided I should mount the tape drive to a piece of wood for display, so I went to the Wood Shop and started cutting up some scrap wood I found. Steve showed up to do some training, so I sat in on that for a bit so I could use the compound miter saw and the band saw. I had all the pieces cut by the end of the evening and knew how I was going to mount it.

I ended up taking all the pieces home and assembling it in my basement workshop. I manage to only split one piece of wood. Just a minor split, but a reminder to slow down when working with wood. The rest of the assembly went very smooth.

Click Whir Squee

Since the majority of fun with this drive is the startup sequence, I decided it should continually turn on, do its thing, then turn off, and keep repeating that. I’ve been playing with ATtiny85 chips lately, so I put one into service to trigger a 5 volt relay (which I also grabbed from Milwaukee Makerspace) and put the following Arduino code on it.

 * TapeDriver.ino

int relayPin = 3;
int onTime = 70000;
int offTime = 15000;

void setup() {
  pinMode(relayPin, OUTPUT);

void loop() {
   digitalWrite(relayPin, LOW);
   digitalWrite(relayPin, HIGH);

Yes, this is pretty much a glorified blink sketch. Sometimes the simplest things are exactly what you need. (Astute readers will see that the device will be on for 70 seconds, and then off for 15 seconds, and repeat indefinitely.)

Click Whir Squee

To power the ATtiny85 and the relay I found a Samsung phone charger on the Hack Rack at Milwaukee Makerspace. It even had a long cord, which was quite useful. You can also see one of the tapes that this machine uses. Now, if you really want to find some contrasts, consider that the modern day phone charger pictured here was used to charge a phone that probably had 8GB (or more) of solid state storage. The tape next to it could store 400MB of data (or 800MB of compressed data.) I should have included a MicroSD card which can store 8GB of data that I routinely buy for about $6 USD.

Click Whir Squee

jpg” alt=”Click Whir Squee” width=”640″ height=”425″ style=”border: 1px #000 solid” />

Since I removed the case there was no indication of what this thing was. I felt I should have something that told a bit of the story. I chose to mount the beige power pack, with “Hewlett Packard” emblazoned on it prominently.

Click Whir Squee

Oh, and while the whir of the motor is quite satisfying, we can do better. There is a wooden arm to which you can affix a small piece of material with a binder clip, which will then be activated when the primary motor spins. Fans of baseball cards and bicycle spokes, this one is for you! I call the “Annoy-o-tron” mode. (Look, if you’re going to use an ATtiny in an Annoy-o-tron, at least be original, right?) I’ve experimented with paper, vinyl, and plastic, but finally settled on a piece from an anti-static bag which some electronics were shipped to me in. It seemed fitting.

Click Whir Squee

Click Whir Squee

Click Whir Squee

Gallery owners and curators take note! This piece is ready to be mounted to a wall, and needs just two outlets to power it. It’s pretty much guaranteed to amuse some visitors while annoying other visitors. Art isn’t always about being pretty.

Enjoy the video below which allows you to experience this wonderful piece over the Internet while in the comfort of your own home (probably while wearing pajamas.)



I recently prototyped a device to read cards (physical cards with printing on them) for a project. I used five SparkFun Digital Line Sensor Breakout Boards attached to a 3D printed mount and wired up to an Arduino.

Card and Sensors

The cards have five blocks at the bottom, which are either black or white, representing 1 or 0. Using ones and zeroes allows us to create a binary encoding scheme, so with five positions we use 1, 2, 4, 8, 16 for the values and can represent any number from 1 to 31.

Sensor Mount

I started by grabbing the image of the sensors from the SparkFun product page and dropping them into Inkscape (sized appropriately) so I could design the barcode part of the card, and so I could design the mount for the sensors.

Sensor Mount

Once I had a 2D design in Inkscape I exported it as a DXF file and used the linear_extrude command in OpenSCAD to create a 3mm tall plate, and then added another plate. It wasn’t perfect, but it was fast. I started the 3D printer while I got to work soldering…



Sensors all soldered up, mounted to the plate with 3mm screws, and wired to an Arduino via a breadboard. All of this is still prototyping stage. It doesn’t look pretty, but it worked and it was enough to test things out and do a demo.

Cards with Barcodes

Here’s an example of some card templates. Can you determine what number is being passed by reading it in binary? Since we’ve got 5 positions we can have 31 different cards… If you needed 63 cards, you would need 6 positions (and one more sensor.) 127 cards? That would be 7 positions and two more sensors. Any more than that and you might consider using the SparkFun Line Follower Array which has 8 sensors on a single board.

Card and Sensors

The total time to create this prototype was just a few hours from starting a design in Inkscape to 3D printing a piece, soldering up and mounting the sensors, and writing the code. (I also wrote a simple Processing application which read the serial output from the Arduino to display the card data on screen.)


The Detonator

It’s The Detonator! What is The Detonator you ask? Well, for Maker Faire Milwaukee we build a fire poofer, which is a device that shoots flames into the air. Workmate John McGeen started the poofer build and we finished it up at Milwaukee Makerpace. Along the way we experimented with a torch, candles, and grill igniters, until Dan the Blacksmith finally added a pilot line and some steel wool.

Fire Poofer

The Detonator went through a few revisions, but I’ll walk through the construction of it for this blog post. We brainstormed a few different ideas to trigger the poofer, but in the end I went with something simple than I knew would work reliably for the entire weekend. (And it did!)

Laser Cut Parts

I started by using MakerCase to design a box I could laser cut. I used 3mm black acrylic because I have a lot of it, and I made the box the size that worked with the acrylic I had. The image shows the acrylic (gray parts) and one piece of 1/4″ wood (which is tan in the image.) The wood piece went on the inside, right under the top acrylic with the hole for the button.

The Detonator Guts

Since I wanted The Detonator to withstand being pressed, slammed, and pounded on by hundreds of people over the course of two days, I also built a wooden box that fit inside the acrylic box. This added strength and weight to it.


I didn’t just want a plain black box, so I added some bright yellow vinyl to it. I cut the vinyl with a Silhouette Cameo. The image above shows how I determined wrapping the vinyl around the edges.

The Detonator - Vinyl

Here are the vinyl pieces I cut. I added cut outlines around the pieces so I’d be able to line it up correctly. It worked pretty well. (I didn’t take time to measure or mark things, but that would be a recommendation.)

The Detonator - Illustration

Above is my final “pretty” illustration of The Detonator. Below is a very black photo of The Detonator. I’m fairly pleased with how it turned out, especially since it was a rush job to build it.

The Detonator

The Detonator Connectors

There are four connector posts, but only two got used in the end. I originally had just the two in the center, but ended up splitting them and adding extra posts so I could split power between 12 volts (well, 18 volts, sort of) for the solenoid, and 4.5 volts for the grill igniters. We ended up ditching the grill igniters, so in the end I only needed one pair of connectors. Oh well!

The Detonator Guts

Here’s the inside! There’s a Pololu A-Star 32U4 Micro mounted on an Adafruit Perma-Proto Half-sized Breadboard PCB with some screw terminal connectors, which is connected to a relay board. The board I used had four relays, but since we didn’t use the grill igniters I could have used a two relay board. (Also, relay boards are super-cheap on ebay.) There’s also a relay controlling a beeper that beeps a countdown. (See the video below.)

Overall The Detonator was a quick build. and there’s a few things that could have been a bit more polished. For instance, I cracked the acrylic a bit when I drilled more holes for the connection posts. In an ideal world I would have laser cut a new piece, but I didn’t have time. I also could have made the code a bit simpler after removal of the batteries for the grill igniters, but hey… The Detonator turned out good for a quick fire poofer controller!


Teensy++ 2.0 LED Pin

Yes, this post is actually titled “Teensy++ 2.0 LED Pin” because it’s really specific. This is the solution to a problem that took me a while to fix. Actually, it didn’t take a long time to fix, it just took a long time for me to figure it out and implement it. (Maybe it did take a long time for me to fix…)

Anyway, when using most pins on a Teensy++ 2.0 (and probably every other Teensy) with Arduino code, you may have an issue using the LED pin as an input, because it functions differently than all the other pins. You might say “Hey, just use another pin!” but the project I did required every single pin on the Teensy++ 2.0. (Yes, all 46 pins!)

The code is below. The LED pin is sort of treated opposite of how other pins are treated. You short it with +5v instead of ground, and swap the risingEdge and fallingEdge typically used with the bounce library.

// LEDPinButton

#include <Bounce.h>
Bounce buttonD6 = Bounce(6, 80); // LED Pin - tie to +5v instead of GND
Bounce buttonD7 = Bounce(7, 80); // Normal Pin - tie to GND
void setup() {
  pinMode(PIN_D6, INPUT);        // LED Pin - use INPUT not INPUT_PULLUP
  pinMode(PIN_D7, INPUT_PULLUP);
void loop() {
  // D6 - LED Pin - tie to +5v instead of GND
  // use risingEdge instead of fallingEdge
  // a
  if (buttonD6.risingEdge()) {
  if (buttonD6.fallingEdge()) {
  // D7 - Normal Pin - tie to GND
  // b
  if (buttonD7.fallingEdge()) {
  if (buttonD7.risingEdge()) {

You can also grab this code from github.


Laser Maze - Photo by Eric Schneeweis

You may remember the Laser Maze from Milwaukee MakerFest in 2013, or maybe you experienced it at Maker Faire Milwaukee in 2014. Well, it’s coming back! Somehow I volunteered to design & build the hardware for Laser Maze 2015!

Laser Pointers

Step 1: Acquire lasers.

I’ve got a big pile of laser pointers, so far so good. Now, I should mention I didn’t do the set-up in previous years, and I don’t have much to work from, so I’ll be making a bunch of decisions, and if they are terrible, let me know.

In the coming weeks I’ll be designing a 3D printed mount for the laser pointers. It will hold the front half, so we can unscrew the back half to change batteries without removing the laser from its position. There is a zip tie on the laser that slides and rotates into place to hold the button down. (A simple design, we’re going for simple on this whole thing.)


The scoreboard is an Adafruit 1.2″ 4-Digit 7-Segment Display. I’ll probably use a Teensy 3.1 as the controller, and there will be a big green start button and a big red stop button. You press start at one end of the maze and the counter begins… and when you get to the end you press stop and you know your time from the scoreboard.

Oh, and the laser pointers… they bounce off some mirrors and hit solar panels connected to the Teensy. When you break the beam the voltage from the panel drops (which is recognized on the Teensy) and you get penalized. We’ll add time to your total as well. So if you’re 10 seconds into it and break a beam, the timer will suddenly display 20 seconds instead of 10 (or whatever, we’ll figure out the math later.)

There should also be a buzzer of some kind, for the start, stop, and breaking of the beam. I’m just using a piezo for prototyping, but we’ll make sure we have something LOUD for the event.

There are some notes about everything on the laser maze wiki page, but I’ll keep documenting here as I go.

« Older Entries |

buy the button:

Buy The Button

top recent artists: