Summary of Arduino Waveform Generator Shield
This Arduino Waveform Generator Shield outputs sine, triangle, pulse, and saw waveforms from 1Hz to 50kHz for testing electronic circuits. It features three potentiometers to adjust frequency, pulse width, and amplitude, with four LEDs indicating the waveform type. The kit assembly involves soldering header pins, tact switches, and an 8-pin socket on a custom PCB. Additional power options include a 9V battery or external supply. The design is ideal for debugging and characterizing audio and sensor circuits.
Parts used in the Arduino Waveform Generator Shield:
- Momentary push buttons (x4) Jameco 119011
- Linear taper 10kOhm potentiometers (x3) Jameco 286273
- 0.25" knobs (x3) Jameco 136241
- White LEDs (x4) Jameco 334502
- 220Ohm 1/4Watt resistors (x4) Jameco 2157183
- Female header sockets (x1) Jameco 70755
- Male header pins (x4) Jameco 103393
- LM386 op amp (x1) Jameco 24133
- 8 pin socket (x1) Jameco 51626
- 10kOhm 1/4Watt resistors (x11) Jameco 2157167
- 20kOhm 1/4Watt resistors (x10) Jameco 691171
- 220uF capacitors (x2) Jameco 606820
- 2.2kOhm 1/4Watt resistor (x1) Jameco 2160981
- Arduino Uno or Duemilanove with ATMEL328P (x1) Jameco 2151486
- Shield PCB (custom designed for this project)
- Battery snap Jameco 109154
- 9V battery Jameco 198731
Waveform generators (also called function generators) are useful for testing and debugging circuits. They can be used to test the frequency response of electronic components like op amps and sensors or to characterize and troubleshoot audio effects boxes and pedals. This waveform generator shield is powered by an Arduino. It outputs four waveforms: sine, triangle, pulse, and saw, each waveform ranges in frequency from 1Hz-50 kHz. The frequency, pulse width, and overall amplitude (gain) of the waveforms is controlled by three potentiometers. Four indicator LEDs let you know which type of wave is currently being sent to the output. This Instructable describes how to put together the Arduino Waveform Generator Shield Kit I designed, if you’re interested you can also check out my original post about the Arduino Waveform Generator.
Additional Materials:
battery snap Jameco 109154
9V battery Jameco 198731
9V battery and battery snap or other power supply
This Instructable will show you how to put the Waveform Generator Shield together, if you want a more detailed description of the circuit check out my Arduino Waveform Generator Instructable.

Step 1: Header Pins
Solder two groups of 8 and two groups of 6 header pins to the PCB. Make sure to solder the header pins to the bottom of the board (the side that does not have any words). Here are some tips to keep the pins straight while soldering them down. The shield should fit nicely on an Arduino.
Step 2: Tact Switches
Press fit four tact buttons onto the side of the PCB, solder all four leads to the pads of the PCB.
Step 3: 8 Pin Socket
Solder one 8 pin socket to the part of the PCB labelled U2. Here are some tips for soldering the socket on straight.
(x4) momentary push buttons Jameco 119011
(x3) linear taper 10kOhm potentiometer Jameco 286273
(x3) 0.25″ knobs Jameco 136241
(x4) white LED Jameco 334502
(x4) 220Ohm 1/4Watt resistors Jameco 2157183
(x1) female header sockets Jameco 70755
(x4) male header pins Jameco 103393
(x1) LM386 op amp Jameco 24133
(x1) 8 pin socket Jameco 51626
(x11) 10kOhm 1/4Watt resistor Jameco 2157167
(x10) 20kOhm 1/4Watt resistor Jameco 691171
(x2) 220uF capcitor Jameco 606820
(x1) 2.2kOhm 1/4Watt resistor Jameco 2160981
(1x) Arduino Uno (Duemilanove is fine, but make sure it is ATMEL328P) Jameco 2151486
(1x) Shield PCB (Buy the shield and all the components here)
For more detail: Arduino Waveform Generator Shield