Yes, it has a pretentious name.
I like the concept of a tower which houses a small omnidirectional speaker(s), which has LEDs on the top which can indicate things, and is reminiscent of a multi-stage rocket (like the Amazon Echo). But I’d like to build something which I have full control over, and with the kind of aesthetic and set of functionality that I decide, not our Corporate Overlords. Also, it might be a nice thing we can add to the Kiosk to enhance the experience!
Here’s my initial concept:
(NB: missing some stages due to space constraints!)
Although I’m not planning on selling these, I want to aim for a reasonable price point for the finished product so that I have some constraints to work to. If it would cost more than £100 to buy as a finished product, that’s too much I feel. £75 seems like a good aim for something like this. Clearly, it’s going to cost me more to make it than that, so I’ll only take into account materials and estimate the cost of processes at scale.
The exterior cosmetics of it, I want to be made of wood. Preferably a light, softwood like birch or maybe pine. Lightly finished, no thick laquers or varnishes so it’s got a natural look to it - but has a layer of something so it’s easy to clean and is waterproof.
In terms of electronics, there are two subsystems -
- Playing out the audio and controlling the LEDs
- Additional cleverness that could be executed by an embedded Linux board (like a Pi).
These two subsystems would be connected via USB, for ease of integration.
It’d all fit inside a tube, with a ring of addressable LEDs around the top and a nice fabric grill around where the speaker’s sound is reflected out. (I should do a drawing of it assembled
Audio and LED subsystem
This is to be constructed using a Teensy 3.6 for it’s brain (hands down my favourite microcontroller platform at the moment). The Teensy has a proper USB HID interface, which allows it to present itself as a composite device with Audio, Serial and/or MIDI endpoints. You can then use it’s audio libraries to pipe the audio it recieves via USB to the I2S outputs.
The I2S needs to then be converted from digital to analogue before being amplified.
Individually addressable LEDs are desirable, thus WS2812 strips make sense - there are the libraries available to drive them and so on.
To mock this up, I’ve grabbed a Teensy 3.6, a cheap 3" 5W 4 ohm speaker, and an Adafruit MAX98357A breakout to go from I2S to power amplified output - all from Pimoroni. And it totally works:
Note the temporary enclosure for the speaker - a cup which happens to be about the right size
There are some things to work on though. I’m fairly sure the USB power bus doesn’t have enough capacity to drive the power amp - I’m fairly sure it’s going to be drawing above 500mA at times. So it may need either a power hub, power injector, or external power supply (I’d rather avoid that if possible!).
For the final product, I’ll design the PCB with the amplifier etc on it with a socket for the Teensy to plug into - this PCB will also have the appropriate mounting points to put it into the enclosure. So I’ll need to source all the parts for this, rather than relying on breakout boards (because what’s the fun otherwise?).
LEDs
I’ve got myself a little Neopixel ring to play with, since the form factor is nice and portable (unlike a floppy strip of LEDs). Unfortunately, it requires 5V, and the Teensy is 3.3V only, so I’ll need to sort out a level shifter for that.
Speaker and Enclosure
Looking around for a decent 2.5"-3" driver is tricky. I think 10-20W is probably a good target for power rating, and should be enough to fill a room that’s not horrifically noisy - and I want the diameter to be around 4" so a 2.5-3" driver would probably suit. I’d like to to have some reasonable bass response, so you can listen to music with it.
Pimoroni have one, I’ve also ordered a 15W 3" driver from from Aliexpress which looks promising (should arrive in a few weeks). Here’s an image showing the “Demensions” o.O
Unfortunately, neither of these drivers have a free air resonance measurement in their datasheet, so I can’t easily decide whether it should be a sealed or ported enclosure without testing them first. It’ll probably want to be ported … but I want some maths to back me up !
I’ve begun creating an enclosure for the speaker to fit into in Fusion 360 - if it’s going to be ported, in order to fit it into the enclosure it’ll probably end up being a weird, fiddly and complicated shape which will probably benefit from 3D printing.
By making the speaker enclosure a separate entity to the rest of the enclosure which I can bolt into it, I don’t need to worry about keeping everything sealed, and I know that the speaker will be a functional unit with the sonic characteristics I’m looking for.
Next things…
Whilst I’m waiting for the driver to come from China, I’ll probably make a start on the reflector assembly that’ll go above the speaker to spread out the sound waves. I’m sure there’s some maths involved in how the shape of those work, but from what I can tell most people seem to make something vaguely cone or hemisphere shaped and see what happens.
Also, once I’ve found a level shifter I’ll try getting the Teensy to drive my Neopixels and implement the serial interface to control them and do some fun animations.
I might also investigate how to build the exterior enclosure - which might mean I need to wait to do a Lathe induction if I go down that route.
Also, here is my BOM: https://docs.google.com/spreadsheets/d/10E8cVxWxUOpcTuknsz4ZDiX9PR2p9ibq59gNOT-QBHI/edit?usp=sharing
And here is is on Hackaday.io
https://hackaday.io/project/33749-the-tone-omnidirectional-desktop-speaker