These designs are laser-cut from wood. I find that 1/4″ (6 mm) thick wood works well.

bullroarer OpenSCAD screenshot

The code below generates a random bullroarer shape each time it is run. The end of the bullroarer where the string attaches stays constant. To make the remaining outline of the shape, two circular “features” are created, each with a unique position, protrusion and roundness. The circles are mirrored on the other side of the object so that it remains symmetrical. A helpful serialHull() module then does the heavy lifting of drawing an outline around all the circles that define the shape.

Use the “Design>Render” command (F6) to create a unique shape profile. When you’ve found one you like, use “File>Export>Export as SVG” to create an SVG file appropriate for laser cutting.


Along with the profile variations, I experimented with changes to the overall size and adding circular cut-outs to the shape. Variations in size result in the most obvious changes in the sound with larger-sized bull roarers producing lower and slightly louder sounds than smaller instruments. I expected that adding holes to the design would create more whistling and whooshing sounds, but it didn’t seem to make much difference. Too many holes instead prevented the bullroarer from rotating and resulted in very poor performance.