NOMOON is a parametric spherical 3d-printed speaker generator created in OpenSCAD.
NOMOON is loosely based on my prior OpenScad speaker generator – Speakergen http://nothinglabs.blogspot.com/2014/09/speakergen-parametric-3d-printed.html.
NOMOON can create spherical speaker enclosures of any volume. You can configure things like wall thickness, bass port dimensions, number of screw holes, etc.
NOMOON also includes a speaker stand. If your speakers tend to rotate forward in the stands – strategic application of a rubber band can solve this.
You can use a tool like this to determine optimal enclosure / port-size for a given driver:
I’ve created a handful of NOMOON speakers using different drivers. The trick is finding small-ish full-range drivers that have circular mounts. Many speakers you see in devices that appear to have round mounts are actually rear-mounted.
So far the speakers I made using these drivers are my favorite:
In a 1.1 liter ported enclosure tuned to 100hz – they provide a calculated F3 of 101hz.
This setup sounds really nice! The bass is full (especially for 2″ drivers) – and treble / midrange sound good.
They work great as little desktop speakers. These are pretty capable drivers – and should work well in a bigger system with a subwoofer.
If you want to skip playing with OpenSCAD – and just print yourself a speaker – I’ve provided the STL for the above setup (it’s about a 10 hour print using about 0.5lbs of filament).
The provided STL includes 3.25mm mount holes – which work well with #6 machine screws (socket button cap look nicest!). The mount holes on the Vifa ne65w will need to be drilled out very slightly to fit these screws.
If you’re able to do a larger / longer print – Vifa, Dayton and Fountek all make 2.5″-3.5″ full-range drivers with circular mounts that should provide deeper bass response.
Other drivers I’ve used:
Mounted as press fit. Calculated response down to about 200hz in ported enclosure. Nice treble / mid – no bass. Low power handling – and really requires subwoofer crossed no lower than 200hz (but sounds nice in that setup).
I’ve found holes on 3d prints tend to come out a little smaller than intended – and some speakers need holes a bit larger than their spec sheets indicate. My advice is to make the speaker mounting hole as large as practical – as opposed to as small as practical.
Some speakers have terminals that get in the way of fitting in a round hole. A “makeTerminalNotch” option / associated parameters are provided in the script to account for this. Other option is to break out the file / Dremel.
By default – two separate wire holes are generated – one on top (for hanging) and another at the rear of the sphere (if using the stand). You will likely need to drill out the hole a bit to make your speaker wire fit. I don’t think the second small hole impacts acoustic quality that much (just set its diameter to zero to not render it).
Note – if you’re using a heavier speaker driver and want to hang it – the weight of the driver will cause the entire speaker to tip forward. Adding some kind of counter balance inside the speaker can address this. Other option is to try moving the wire hole a bit towards the “front” to compensate (you can do this in the script).
Use a raft when printing this model!
It might seem counter-intuitive that you can print a sphere without supports. The trick is to include a small flat area on the bottom – which the bass port conveniently provides. If you’re not using a bass port – NOMOON will automatically include a flat disk on the bottom of the sphere to make it printable.
The lower parts of the sphere do show some effects from “curling” – and looks a little gnarly on close inspection. Fortunately – this is the least visible part of the model. An enclosed / heated build chamber would probably help with this.
I’ve been printing my speakers using 3 shells at 10% infill at 200 micron layer height (using silver PLA). They sound good to me – but audiophiles might want to increase thickness / infill.
Final tip – stuff your speaker with polyfill (from the fabric store) to improve sound quality.