This is my current power strip situation… Things are tight, tighter than I’d like, and there’s a lot of power strip being wasted. There are three wall warts, and one of them is horizontal while two are vertical. Originally all three were vertical, but I switched one out because there just wasn’t room due to wall warts often take up two outlets because of their width. (I’ve also got a height issue since this is going in a cabinet.)
There are many options for power strips. Sometimes the outlets are vertical, sometimes they are horizontal, or a combination of the two, or some weird twisting rotating thing. For a custom thing, like three wall warts, often the existing solutions aren’t very good. (Especially when space is limited.)
I mentioned that in an ideal world I could just design my own power strip, and then a friend of mine said “Hey, just get these and make your own case!” And then I thought, “Hmmm, maybe that’s not a bad idea!”
But I’m still trying to figure out if it is a bad idea. I don’t know that I could build a surge suppressing power strip for less than the cost of buying one, but maybe that doesn’t matter. Could I design and build something that would be a better fit for what I need. Now, if I were to build a power strip and stick it into a museum exhibit and then ship the exhibit to someone, would that be a bad idea? Maybe… I can see a customer looking at it and questioning the professionalism (and safety) of it. Would a 3D printed power strip pass muster? It seems some power strips are made from ABS, but they typically say “ABS Fire Retardant Plastic Casing”, which may not be the same as 3D printer filament. This could all go terribly wrong, right?
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.
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.
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.)
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.
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.
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 it 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.
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.)
It’s become a tradition around here to update my simple photo booth using Processing when a new version of Processing comes out. I’m not sure Processing 3.x is final yet, but I’m using it, and it’s got all sorts of good stuff. (You probably remember Processing PhotoBooth v2 and Processing PhotoBooth, which are both deprecated now, but see them to know what I’m talking about.)
One of the things new in Processing is the fullScreen() function, which gets rid of the whole “figure out the size of the display” issue, by just saying “run at full screen”!
There’s also a new thing called settings() which can appear before setup(), but I won’t get into that…
And hey, once again you’ve got a simplistic photo booth application. Congratulate yourself by purchasing this lovely button for it. (Or get this “bare” button and build your own damn case.)
Now, I don’t know if the fullScreen() thing has a bug, or if it’s my setup, but here’s what I’m seeing. I typically run my display at 1440×900 using QuickRes, which is a non-standard setup. When I ran the sketch it seemed to display at 1280×720 in the upper-left corner. My guess is that the camera is only capturing 1280×720, so the sketch only fills that amount of the display, no matter what the resolution is. I’ve tested it at higher resolutions and get the same thing. If I set the display to 1280×800 it’s all good.
This is most likely not a bug, but a “thing to be aware of” in the future…
Besides all that, the most exciting thing about Processing lately is that there is finally an official version that runs on the Raspberry Pi! This is super-awesome and has great potential for artists and others who do exhibits and installations. I’ve already got a few ideas in the works. ;)
Last week was a bad week for hardware… On Saturday I opened up my MacBook Pro to wake it from sleep and start using it (which I do multiple times per day) and it was a no go. It did not wake up. I restarted it and got the old blinking system folder, as if the drive was gone, or corrupt, or something. It was a hard drive I didn’t fully trust, and even though I thought about replacing it just weeks ago, I didn’t.
The first thing I did was assumed the drive was shot, and got on Amazon to order a replacement hard drive. I ordered on Saturday and it arrived about 24 hours later… on a Sunday. (Thanks, Amazon!)
Meanwhile, I pulled the drive out of the MacBook and put it in an external case. It worked fine. Damn. This told me it was probably a hardware issue with the MacBook, not the drive. I’ve been through this one before… twice actually, and I’m really wishing Apple would make better hardware!
I ran from the external drive until Wednesday, when I took it to the Apple Store. Oh, in the meantime I had put a replacement drive in the MacBook after I installed a fresh version of 10.9 onto it. (I figured I had to show the Apple Store the issue and I really don’t like them having access to my data.)
They fixed it the same night, and it was all good. (Replaced the hard drive cable/bracket assembly.) We booted it up in the store, it worked, so I went home and I went to sleep. The next morning I woke up at 6am, and swapped in my original hard drive. This is where things went to shit. Did you notice I forgot to shut it down? Yes… I highly recommend you do not try to hot swap the hard drive in your MacBook Pro while it is in sleep mode.
When I opened the Mac to start it (and it was already on) it showed the desktop from the drive I pulled out… probably not a good sign. A reboot later everything was gone. No good on the drive. But like we all know, even if you can’t see your data, it’s probably still there.
I pretty much did everything [PERR0_HUNTER] suggested, and BAM! just like that my partition table was back, and the drive was as it was before I completely screwed it up. I immediately used the ‘Donate’ link on the site to send [PERR0_HUNTER] some money.
The rest of the story is pretty boring, involving running restores and more backups and going through eight hard drives I have in the office. But hey, I’m back up and running… All good. Thanks, [PERR0_HUNTER]!
And the lesson is, don’t swap your hard drive before 8am.
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.
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.
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.
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.
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.
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.)