The hardware is pretty straight forward: A Feather M0 or M4 Express, an OLED FeatherWing, a speaker, and a rotary encoder. In the wiring diagram above we've put the Feather and wing on a feather doubler protoboard to show both, but you can use stacking headers to put the wing on top of the Feather. The Feather M4 is shown above, but the wiring is the same in either case.
Pushing the encoder will cycle through the different waveforms, while turning it will adjust the frequency. We'll use the A, B, and C buttons on the OLED wing to scale the frequency adjustment: A will change it by 1000 at a time, B by 100, and C by 10. Simply turning the encoder will adjust by 1 at a time.
A0, the true analog output pin on the Feather, will be used as the signal output.
You can power over USB or using a LiPo battery for a portable waveform generator!