NOMOON Speaker Generator

Author: nothinglabs, published on 2014-12-15

Click this button to get the 3D model


NOMOON is a parametric spherical 3d-printed speaker generator created in OpenSCAD.

For a demo video of NOMOON see:

Some additional notes are on working with NOMOON are at

It is loosely based on my previous OpenScad speaker generator – Speakergen

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.


Notes on picking a speaker driver are at:

NE65W.stl is a pre-made file for use with the Vifa NE-65w driver (as pictured in the video).

You can use a tool like this to determine optimal enclosure / port-size for a given driver:

Printing Tips

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.

Stuff your speaker with polyfill (from the fabric store) to improve sound quality.

Design Tips

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).

License: Creative Commons – Attribution

Tags: audio, customizer, enclosure, loudspeaker, scifi, space, speaker