One of the most basic yet useful instruments in a electronics desk is a function generator.
From the basics, a function generator is an instrument that generates waveforms with a well known pattern to serve as input to test and debug analog circuit blocks.

The usual signals are Square, Triangular and Sine waveforms.

Digital systems have a hard time generating high frequency analog signals, meaning anything different from zeros and ones (square wave). Therefore to generate a triangular ramp signal and sine waveform, the digital systems (like a Intel Edison) will need a DAC (Digital to Analog Converter) attached to one of its port.

The simplest and cheapest form of DAC is a simple R2R Ladder. Made only with resistors.

The purpose of this article is to make a board with a R2R Ladder network to convert the signal in a byte (8 bits) format into a analog signal (with varying voltages between zero volts (GND) and supply voltage (VDD)).

First you´ll need to download the PCB files and make a printed circuit board shield (use your own method) and the plug this shield into Intel Edison arduino compatible breakout board.

On Intel Edison, run the code FunctionGenerator.c ...

I wrote this code in vim, directly on Edison and compiled with gcc using libmraa.

Type the following command:

gcc FunctionGenerator.c -o FunctionGenerator -lmraa

Then run the executable program in the shell:


And look at the output waveforms using an oscilloscope.


<p>Pacman - The Master!</p>
<p>His work is great and inspiring.<br><br>Vc &eacute; o Cara! :P</p>

About This Instructable




More by pacman_pereira:Signal Synthesis with Intel Edison 
Add instructable to: