Main Content

Tiny Function Generator

This article describes a simple function generator based on an ATtiny85. It can generate triangle, sawtooth, square, and rectangular waves, a pulse train, and noise. The frequency can be adjusted using a rotary encoder between 1Hz and 5kHz in steps of 1Hz, and the selected waveform and frequency is displayed on an OLED display:

This project really puts the ATtiny85 through its paces; it’s generating 8-bit samples at a 16kHz sampling rate, decoding the rotary encoder, switching between waveforms, and updating the OLED display via I2C.

The project is based on my earlier article Waveform Generation using an ATtiny85, and was inspired by a suggestion of Roberto Pangallo.”

Link to article