BBC Micros are great, but the volume level was clearly intended to compete with a classroom full of noisy children. When playing games at night, the sound output is far too loud.
It’s possible to wire in a volume control, but that would require breaking into the audio circuitry to intercept the signal before the output amplifier IC. I didn’t particularly want to do this, and didn’t see the need for continuously variable output anyway.
I also didn’t want to modify the case by drilling holes in it for potentiometers. Instead, I used the small square cutout by the expansion bay. This doesn’t lend itself well to mounting a switch though, so a small 3D print was needed to accommodate a miniature slide switch I had in my spare parts box. This switch can be used to add a resistor in series with the loudspeaker to reduce the volume.
I found by experimentation that a 100R resistor was enough to quieten the volume down significantly. The switch, when closed, bypasses the resistor and restores full volume.
The switch fits nicely in the cutout, as seen from the inside.
Outside, the switch is visible but unobtrusive. The line across the print is where I paused printing to insert the switch, rather than using the tiny mounting holes on the tabs at either end.
The internal wiring is nice and neat and easily removed if the volume control is no longer required. I had a spare two pin connector to fit onto the main board speaker connection, and used a two pin PCB header to connect to the speaker connector. The resistor is hidden in the heat shrink tube next to the speaker connector.