This is what happens when one finds old parts that are just too cool not to use. This is a Bluetooth speaker system with a ton of 1940s-ish (or maybe even 30s-ish!) class; wires, glowing vacuum tubes, brass fittings, dark wood, and one great... big... knob.
Step 1: The Inspiration
While rooting through my stash of antique parts, some of which are older than I am (which means vacuum tube era!), I came across this beautiful classic Bakelite radio knob about three inches across. I knew I'd never use it for any projects I could think of, but it was just too good to let go to waste! Well, I'll just have to think of a project I can use it in.
I've always liked the look of vacuum tubes, but not the heat, power consumption, and general hassle. I've had a lot of fun recently incorporating old tubes into projects, so, inspired by the knob and this cheapo fake tube radio I had, I started the idea process.
The A-10 Thunderbolt II attack aircraft is an airplane that is literally built around it's gun, since the gun is it's only reason for existence. Well, this project will be built around a knob!
The obvious thing would be some sort of audio project. Thanks to eBay, I found an inexpensive Bluetooth stereo module with an auxiliary jack, and the race was on!
Partial parts list:
- A big vintage Bakelite knob!
- A pair of 2" 3 watt speakers with matching bezels and grilles (eBay)
- A big brass toggle switch (eBay)
- 2 brass doorbell buttons (Banggood)
- Several old vacuum tubes (Etsy or eBay)
- Bluetooth receiver module (eBay)
- Digispark ATTiny module (eBay)_
- Prototyping PCB (ebay)
- Li-Ion charger module (eBay)
- EC11 Rotary encoder (eBay)
- 18650 Li-Ion battery holder and battery
Step 2: The Acquisition
I was fortunate to get some small radio tubes (6AL5's, if anybody's asking), but then a large RCA 832 power amplifier tube fell into my lap, and I wanted to use that, too. I also had some thin walnut boards that would do nicely for the cabinet, plus access to a laser cutter and 3D printer.
The Bluetooth module I had, like most such gadgets, had inputs for push-buttons to control the volume, play/pause, and skip forward/back. You can't have volume push-buttons on a 40s radio! It just isn't done! (And, we need a use for the big knob!!) So, I needed to translate a rotary control into something the Bluetooth module could understand. Enter the rotary encoder, whose job it is to translate rotation into digital signals. Am I done yet? No. I still need to translate the rotary encoder's digital signal into simple pulses the Bluetooth module can handle! Arrgh! Can't anything be simple?!
Okay, I know a bit about Arduino; Let's use one of those. It seems an awful waste to use a whole Arduino for something this simple (only about 20 lines of code), though. Then I discovered the Digispark; An Arduino-compatible, USB-programmable, ATTiny-based, postage-stamp-sized gadget for about a dollar on eBay. Sold! The perfect, easy to program pico-processor (That's smaller than a micro-processor, right?)
All we need is some simple code to send pulses to the appropriate inputs on the Bluetooth module. I modified some code I found on the web and by golly, it worked the first time!
Now that all the players are on the field, time to build.
Step 3: The Perspiration
They (Who are "They," anyway??) say that genius is 10% inspiration and 90% perspiration. Now that we have a rough idea of what we want, it's time to get a final design, cut wood, solder wire, and make this a reality. The nice thing is most of the parts are huge, reflecting a simpler day when you didn't need a magnifying glass to work on electronics.
First, the electronics. The Bluetooth module (data sheet attached) has inputs that will be activated when grounded. The 2 inputs for forward/back will be connected to 2 large push-buttons on the top of the unit. The top also contains the big, beefy on/off switch. I'm not including a schematic for the whole thing because you will have to modify the design to suit whatever parts you can get. The 2 inputs (on the Bluetooth board) for volume up/down are connected to pins 2 and 3 of the Digispark, which are configured to go low when "on." The play/pause input is connected to the push-switch that is part of the rotary encoder. The other pin of the push switch is grounded. The power and speaker connections are connected to the Bluetooth board. I'm using a single 18650 Lithium-Ion battery to power this thing, because they are dirt cheap and easily replaceable. The tiny SMD LED on the Bluetooth module was removed and thin wires connected to a larger LED to be mounted on the front panel. The power switch on the module will not be used, so it's glued in the "on" position.
The Digispark must be programmed using the Arduino software, and the software needs a couple of plug-ins to work with the Digispark, but once that's done, just plug it in to a USB port and upload the sketch from the previous step. Any ordinary Arduino board could also be used. Pins 0 and 1 are the 2 inputs from the encoder; they must have 10K pull-down resistors connected to them and to ground. Pins 2 and 3 on the Digispark are the volume up/down outputs to the Bluetooth module. The center pin of the encoder is connected to battery +.
The only other electronics are the battery charging module connected to the battery holder. This accepts a USB input and safely charges the battery. The LEDs on the charging module wouldn't be seen due to the way it's mounted, so I hot-glued some small fiber-optic pieces to the tops of the LEDs and bent them 90 degrees so the light is right next to the charging port.
(I found out the LEDs are brighter than they have any right to be and can be easily seen even through the tubes in a dark room, so I removed the fiber-optic part.)
Step 4: Working Up a Real Sweat!
I designed the case based on the size of the walnut boards I had available, then prototyped in MDF on a laser cutter to check the fit of the various parts. I also designed clear acrylic "Tube sockets" with the proper pin spacing for the tubes; this seemed like the best way to mount the tubes and get some small amber LEDs under them to provide a "tube-glow" ambience.
I laser-cut the walnut top, front, and sides and assembled them using some small wood blocks in the corners. I made the bottom from 1/4" plywood and the back from 1/8" MDF. The bottom will screw on, and the back will be held on with small round magnets. I drilled holes in the wood blocks to accept the magnets, and installed matching magnets in the MDF back.
Once the case had been sanded and finished, I began with the tube mounts, which are screwed to the underside with brass screws. The 832 tube has a "girdle" (a bulge around the middle), so I inserted it from the inside and secured the clear acrylic mount from the top with more brass screws. I planned to do something with those top electrodes on the large tube, and finally settled on 3D printing some small "insulators" with space inside them for small blue LEDs. The wiring for these LEDs will go through the small holes behind the large tube.
The small tubes are just pressed into the laser-cut "sockets" in the clear acrylic. They stay put pretty well. A small spot of glue would give added insurance, but I didn't think it was needed.
Step 5: Totally Tubular...
Once again (This happens to me a lot!), I went on a fruitless search for small plastic insulators I could use for those top electrodes. Fortunately, I have access to a 3D printer, so not being any kind of expert at 3D design, I used Tinkercad to create some rounded-top "insulators" with space inside for a 3mm LED. The LEDs are centered in the caps, so the hole for the tube pin is offset. The LEDs are wired with fine wire twisted into a pair and inserted down the holes to the inside.
The amber LEDs are wired with 100 ohm resistors in series, since they are operating from around 4 volts from the Li-Ion battery.
The blue LEDs for the tube caps are wired with 100 ohm series resistors as well.
Step 6: We're Wired!
All the components mount to the bottom panel, which screws on for easy access. The power switch, buttons, and rotary encoder are all wired up, then the encoder and buttons are mounted to the front panel. The board holding the Digispark also serves as the power bus, distributing battery + and minus to the LEDs and Bluetooth board.
Step 7: Finishing Touches and Smoke Test
I found a small sample of vintage-style speaker fabric, and covered the perforated metal speaker grilles with it, then mounted the knob to the rotary encoder, leaving a bit of space between it and the panel so it can be pressed in to activate the play/pause function. I sanded the chrome off of the speaker bezels and repainted them a bronze-ish color. The bezels snap into the holes prepared in the front, then the speakers are inserted followed by the steel grilles. A dot of glue prevents the speakers from rotating in their mounting holes.
Some small brass corner trim makes the plain walnut box not nearly so plain.
I paired the Bluetooth board with my tablet and played Pandora. The sound is not super loud, but good enough to fill a room with music. This looks really good (and sounds really good) on my desk!