Generator ten na trzy wyjścia, na których wytwarza przebieg sinusoidalny, prostokątny i piłozębny. W zasadzie całość generatora mieści się na płytce Arduino. Pożądane przebiegi tworzone są programowo. Dodatkowymi elementami są: wyświetlacz LCD, dwa potencjometry 10 kΩ (VR1 i VR2) i kilka drobnych pasywnych elementów. LCD1 to wyświetlacz znakowy 2×16 znaków alfanumerycznych na którym mikroprocesor na Arduino wyświetli częstotliwość generowanego sygnału.
Potencjometr VR1 podłączono do 3-go pinu wyświetlacza. Tu napięciem stałym można ustawić kontrast treści wyświetlanej na LCD1. Potencjometrem VR2 można ustawić napięcie z zakresu 0 V do +5 V i powinien to być potencjometr o charakterystyce liniowej. Napięcie to podane jest na wejście analogowe A0 mikrokontrolera. Program czyta tu wartość analogową, a odpowiedzią jest regulacja częstotliwości generowanych przebiegów.
Sygnały wyjściowe tworzone są na wyjściach 3, 9 i 10 Arduino. Na pinie 3 mamy przebieg prostokątny, na pinie 9 sinusoidalny, a na 10 uzyskano przebieg piłokształtny. Przebiegi na wyprowadzeniach 9 i 10 są w istocie przebiegami PWM i w modulacji szerokości impulsu zawarta jest chwilowa wartość analogowa przebiegu piłozębnego i sinusoidalnego. Przebieg wyjściowy odzyskany jest za pomocą prostego filtru dolnoprzepustowego RC. Przebieg z pinu 3 nie podlega filtracji i tu jest czysty prostokąt z wyjścia cyfrowego mikrokontrolera na Arduino. Do generacji przebiegów wykorzystano dwa timery obecne w mikrokontrolerze ATmega 328. Na timerze 1 wykonano generator 10 kHz który służy do regulacji szerokości przebiegów PWM. Timer 0 odlicza żądaną ilość impulsów dla uzyskania pożądanej częstotliwości przebiegów. W procesie generacji przebiegów program wykorzystuje technikę przerwań i komparatora cyfrowego, w które wyposażony jest hardware mikrokontrolera. Realizacja generatora jest w pełni programowa i program ten można ściągnąć pod nazwą freq_gen.ino. Program ten wykorzystuje rejestry mikrokontrolera zgodnie z tym jak przewiduje karta katalogowa ATmega 328. Software napisano w języku Arduino i skompilowano bezpłatnym oprogramowaniem Arduino IDE.