AVR DDS signal generator V2.0

Finally, a second and improved AVR DDS signal generator is here. First AVR DDS V1.0 generator was only an attempt of running the DDS algorithm without any amplitude control. This time I still wanted to keep things simple like minimum count of widely accessible components circuit, single-sided PCB that comes together with useful functionality. AVR DDS specification AVR DDS signal generator V2.0 is a firmware-based DDS signal generator which uses slightly modified Jesper’s DDS algorithm adapted to AVR-GCC C program as in-line ASM. The signal generator has two outputs – one for DDS signal and another for high speed [1..8MHz] square signal – which may be used for reliving microcontrollers with wrong fuse settings or for other purposes as well. High speed (HS) signal is directly output from the Atmega16 OC1A(PD5) pin. DDS output is used for all other signals that are generated via R2R resistor network and is adjusted…

Continue reading

DIY AVR Graphical LCD test board

Once I’ve got several HQM1286404 graphical LCDs around so I decided to build a prototyping board where I could easily plug LCD to it, read data via ADC and display graphs, plug keypad if needed for some menu functions. Earlier I was testing graphical LCD on prototype breadboard, but dealing with multiple wires (GLCD needs 20 of them) resulted in many failures. It is OK to do simple tasks, but more complex applications require a more stable platform. So here it is: This type of GLCD is standard 128×64 pixel matrix controlled by KS0108 LCD controller. Ones I have comes with smaller non-common pin-header where pins have 2mm step, so I had to draw it for Eagle library which you will find in project files. I decided to make a simple circuit so it could fit in 100x50mm single sided PCB. As base MCU I used Atmega16 which can be…

Continue reading