SmartAVR and SmartDDS -project
The SmartAVR-project has its main purpose to give the participant the opportunity to gain knowledge and inspiration in the world of microprocessors.
The focus is to use these processors in conjunction with ham radio projects. 


History
Starting somewhat the "wrong way around" with developing the SmartDDS - A very flexible VFO and control head for a Ham-radio-transceiver. The main contribution to project comes from SM5DEH Nils Söderman in Uppsala Sweden. SM5DEH has a very long going experience in developing and programming embedded systems. When coming across the home brewer short-wave transceiver "QROlle" by SM6DJH Olof Holmstrand SM5DEH started to work on the SmartDDS as a contribution to the home brewer arena.
In the same way as with main idea of the QROlle.project, the SmartDDS is to be presented as not just a piece of hardware. The intention is to present the "inner being" for all to understand what is going on "under the hood". 

SmartAVR-objectives
As already stated the SmartDDS is a "mouth-full" to present with the intention to understand and be prepared to work from with further software-development. Therefore SM5DEH and SM0JZT Tilman has started to work on a very simple development SmartAVR to present as a learning platform. 
The intention is to get familiar with:
1. The AVR family of processors by ATMEL. The great thing with the AVR-family of processors is - if you understand one of them you understand them all and do not have to relearn. 
2. Get used to working with interfacing a AVR to the outside world - Depending on what AVR used you have a very flexible opportunity to control, measure, gather and display information to and from the outside world.


Here you can see two different incarnations of the board. By SM0JZT breadboard (left) and the SM5DEH lab-board (right)

3. Software development using the very popular high level programming language C with roots back to the 1970:es and the development of the UNIX operating system. Software and documentation to use for developing and programming the AVR:s can be obtained for free from various sources in the Internet.

Hardware for SmartAVR (schematics)
The hardware used for the SmartAVR is based around the cheap yet very powerful AVR named ATiny26. The chip and additional components can easily be obtained from numerous sources near you. In Sweden and Scandinavia we recommend you buying the components to use from ELFA  www.elfa.se. See the schematics for components needed.

The X-tal, C102 and C103 can be omitted using the internal clocking function (this is the way SM0JZT has done it on his breadboard) The relay used is of the electronic type for its low current drawn and ability to control a 220AC /abt 1 A source.

The beeper if of a piezo-electric type drawing very low current but making a terrible noise....

The simple learning platform surely does not need a PCBoard. Have a look in your junk-box and refer to you previous knowledge on "lab-boarding" to find the best solution to fit yourself. See the both examples of setups given in this dokument. Both give a very flexible and cheap way of getting a solution underway quickly. In the schematics given you also see the cabel needed to program the processor. The connection is done to the paralell port. The LED in the connector can of course be omitted. The interface (connector) used between cable and board is optional.

Software installation
Before starting to work with softwaredevelopment you need to gather the software needed and install it onto your PC. The main software-package is the WinAVR. You can download it directly from: http://winavr.sourceforge.net We suggest to install the WinAVR-software in under: C:\Program Files\AVR-programming\WinAVR (where C:\ is the designator of your PC:s harddrive ).

Following on this we suggest that you place the additional drivers (userport.exe and TwinAVR) together with the sourcode as per the following structure (se graphic). "useport.exe" by Tomas Franzon and TwinAVR by Roland Walter can be downloaded from here. SM5DEH has developed a small source-package that you can download here and place in your "Source"-directory (Källkod in Swedish).

userport.exe is loaded as a background driver to build the interface to the PC:s parallel port used. 

The driver is loaded doing the following:
1. Highlight the adress range to use (200-37F) to interface to the paralell port.
2. Hit "Update" to activate the range choosen
3. Hit "Start" to load the driver into memory
4. Hit "Exit" to close the window  

TwinAVR is the programming interface used to control the set up and download the compiled binary to the AVR-chip used.

Note: When using internal clocking you have to set the "CKSEL2" to get a 8Mhz clocking (see graphic above).

 

Please note when installating WinAVR:  
Make sure you get the right path for installation of your software. Do not take teh default setting given by the installation script. You can choose the installer language for better understanding during installation. Also make sure the you deselect the installation options that you do not need.

Software editing and compiling
The software sourcecode is edited and compiled using the WinAVR package. When the WinAVR software is installed, a number of icons related to the various packages are made available in the start menu and/or desktop.
The main user interface is the "Programmers Notepad".

Existing projects are loaded into the working area by looking out for and choosing it.


Make clear to "clear" structure


Make all to compile the source as per the makefile settings given.

To be continued...............

Interesting project for you ??- Then why not drop us a mail -------  

Tilman  Nils Olle

Copyright (c) 2005 SM0JZT Tilman D. Thulesius, SM5DEH Nils Söderman