___________________________________________________ _____ __________________________________________________// L.O.A.A //_____ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- List Of AVR Applications Date: 011005 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Contents _____________________________________________ 1.0 What is AVR? 1.1 What is L.O.A.A all about? 1.2 How can I contribute to this list? 1.3 Where could I find L.O.A.A? 1.4 More information about AVR. 1.5 Why are some links dud's? 1.6 List of contributions. 1.7 AVR resources on the net! 1.8 Copyright notice. 1.9 Credits and other things. _____________________________________________ 1.0 What is AVR? ---------------- This is being written for people who have no idea of what AVR is. Atmel's AVR serie is generic 8-bit RISC microcontroller with many nice features. The RISC core is running single cycle instructions and a well- defined I/O structure that limits the need for external components. The AVR family have lots of different devices to select from, all from tiny 8-pins MCU to bigger 64-pins MCU are available. With on-chip in-system programmable (ISP) Flash and EEPROM, the AVR is a suitable for many applications as well as a perfect MCU for electronic hobbyists! 1.1 What is L.O.A.A all about? ------------------------------ Based on the popularity of L.O.S.A (List Of Stamp Application) this list was started due to request. Hope you will enjoy reading all (or parts) of the described applications. The main purpose of this list is to get an idea of what other people are using their AVR MCU's for and maybe get some inspiration or hints for your own projects. Some of the projects described in the list also have links to source code and schematics for download. If you want to take a look at the above mentioned L.O.S.A point your browser to http://www.hth.com/losa/. It contains 225+ BASIC Stamp applications and growing. 1.2 How can I contribute to this list? -------------------------------------- Since the AVR MCU is a generic MCU and used in many commercial applications L.O.A.A is limited to non-commercial applications that is available on the Internet. If you have done something with any of the various AVR MCU's that you are willing to tell others please use the form given below and write a short description, nothing fancy is needed just a simple explanation. If you have source code to share that's even better but it's not necessary. To keep this document clean and easy to read _DO_NOT_ include source code in the text, instead link to the file on a FTP/WWW-site. Then e-mail the contribution form (see below) to: cj@hth.com With the following as the subject: L.O.A.A Contribution Or you could point your Web-browser to the following URL and fill in the L.O.A.A form on the Web-page... http://www.hth.com/loaa/ [--- cut ---] ===================================================================== - L.O.A.A Contribution Form - ===================================================================== New Contribution [ ] Update [ ] --------------------------------------------------------------------- Title : Author: Date: E-mail: (optional) --------------------------------------------------------------------- Target AVR MCU: AT90SXXXX/ATtinyXX/ATmegaXXX etc... Language : ASM/C/PASCAL/BASIC/Forth etc... Dev. Tool : AVRASM/BASCOM-AVR/EP/AVR-GCC/IAR C/JAVRBasic etc... Code available: YES/NO Filename : (optional) URL : (optional) --------------------------------------------------------------------- Description : (5-50 rows describing your application) ===================================================================== [--- cut ---] 1.3 Where could I find L.O.A.A? ------------------------------- The index to the latest version of L.O.A.A is posted to the following mailing lists and news groups. Updated approx. 6 times/year (depends on how many contributions received). Mailing lists: Atmel MCU Mailing List AVR Mailing List News groups: comp.arch.embedded comp.robotics.misc sci.electronics.misc The complete and latest L.O.A.A can be downloaded from the following URL. Feel free to link to this page... WWW: http://www.hth.com/loaa/ If you don't have access to Internet you could send an SASE to the address given below and I will return you a 3.5" DOS-disk with the latest version in ASCII-format. HTH Attn: L.O.A.A Asbogatan 29 C S-262 51 Angelholm SWEDEN 1.4 More information about AVR. ------------------------------- Visit Atmels web-site for detailed information about AVR. http://www.atmel.com Also make sure to take a look at the AVR resources listed at the end of this document. 1.5 Why are some links dud's? ----------------------------- Since people changes their e-mail and web addresses some links may be dud's. If you previously contributed with one (or more) of the applications please take a quick look and check your e-mail address and/or web-links. I'm only able to keep the list updated if I'm informed about changes, thanks in advance. 1.6 List of contributions ------------------------- > = Indicates a new or updated application since last time. # 001 Electric Fish EOD generator # 002 Final Projects: EE476, Cornell University # 003 Getting Started with AVR # 004 90 Day Timer # 005 MIDI to CV convertor, single channel # 006 Cricket call generator # 007 Digibox Interface # 008 SignArt - A project for Christmas # 009 The world according to IR bot # 010 ADC test routines # 011 Multi-coloured LED Christmas Tree # 012 SPI interface to Atmel SPI EEPROMs # 013 RS232 to Weigand interface converter # 014 Double feeding the UART # 015 AVR keyboard monitor # 016 Dark:Tag - laser tag game # 017 RF pad # 018 Video DVM # 019 Slot Car Video Chronograph # 020 Video BINGO # 021 AVR Integer SQUARE ROOT # 022 BDM pod # 023 BASCOM-AVR Program Examples # 024 Liquorice # 025 Driver & character set(s) for Nan Ya 122*32 display # 026 AVR example programs of the extra internal hardware # 027 Smart Card Interface # 028 AVR space test # 029 Keyboard Emulator # 030 TTL Hazard Generator # 031 Temperature Regulator # 032 Satellite Tracking # 033 Home Boiler Controller # 034 Control of PLL and frequency display (not HD44780) # 035 Monitor and Debugger # 036 Antenna Elevation Controller and Display # 037 DMX-512 for AVR # 038 Reaction Timer # 039 Electronic keylock # 040 AccelR8 # 041 Countermeasures # 042 Mini DDS Synthesizer # 043 Temperature Controller # 044 Digital Guitar Tuner # 045 Monster Memory # 046 yampp ># 047 32 bit Arithmetic Routines with Macrolibrary ># 048 Minimal Function Packet Radio UI-TNC ===================================================================== Title : Electric Fish EOD generator [# 001] ===================================================================== Date : 991020 Author: Bruce Land E-mail: BRL4@cornell.edu --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : ASM Dev. Tool : AVR assembler Code available: YES Filename : N/A URL : http://www.tc.cornell.edu/~bruce/PROJECTS/EOD/ --------------------------------------------------------------------- Description : The goal of this project was to build a field-portable Electric Organ Discharge generator. The EOD generator will be used to electrically "simulate" fish during field studies of their behavior. The generator produces a waveform of 256 points downloaded from a PC via a serial connection. Playback rate is variable up to about 100kHz sample rate. ===================================================================== Title : Final Projects: EE476, Cornell University [# 002] ===================================================================== Date : 991020 Author: Bruce Land E-mail: BRL4@cornell.edu --------------------------------------------------------------------- Target AVR MCU: AT90S8515, AT90S8535, AT90S4414, AT90S1200 Language : ASM Dev. Tool : AVR assembler Code available: YES Filename : N/A URL : See below... --------------------------------------------------------------------- Description : The projects described here were produced in the last three weeks of EE 476 at Cornell University. The students were given the responsibility of choosing their project, then designing and building it. For the 1999 school year, 26 projects are shown. http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/ ===================================================================== Title : Getting Started with AVR [# 003] ===================================================================== Date : 001114 Author: Dave VanHorn E-mail: dvanhorn@cedar.net --------------------------------------------------------------------- Target AVR MCU: AT90S8515, AT90S8535 Language : ASM Dev. Tool : AVR assembler Code available: YES Filename : STARTUP.ZIP URL : http://www.dontronics.com/8515.html --------------------------------------------------------------------- Description : As before, except updated with circular buffers, and a language interpreter for commands stored in EEPROM. This is something I put together to help people get started with the AVRs. You always hear the same requests basically, LCD driver, R/C servo, stepper motor, serial comms. It's all there in "getting started", plus a basic RTOS. This is the second major upgrade to "Getting Started", and there's another in the works. Basically, I add features and refine the routines as I have time. All the chip inits, with handlers for all interrupts, and the whole init sequence is documented and referenced back to the proper pages in the manual. (You can tell I'm not a believer in defaults :) You can't have ALL these features together, due to running out of I/O pins, but you can easily select which to use, and you can easily re-assign the output pins, since the code uses equates like LED_PIN. You simply change an equate in one place to change where it is LED and switch code, 19 bit PN Sequence generator, 8 channels of R/C servo drive, Step motor control, Full duplex serial comms, interrupt driven with buffers, ASCII text to morse code output, Futaba Flourescent display driver (2x16), LCD display driver (2xN), Watchdog handler. ===================================================================== Title : 90 Day Timer [# 004] ===================================================================== Date : 991025 Author: Brian Hammill E-mail: hammill@powerware.com --------------------------------------------------------------------- Target AVR MCU: AT90S2313 Language : ASM Dev. Tool : AVR assembler Code available: YES Filename : 90DAYS.ASM URL : http://www.ipass.net/~hammill/90days.asm --------------------------------------------------------------------- Description : Uses timer and EEPROM to count elapsed time. A single LED flashes about once per second at a low duty cycle to save power. After 30 days a single LED lights. At 60 days a second LED lights. After 90 days a third LED lights. EEPROM updated every hour so that only an hour maximum is lost if power fails. This is useful as a service reminder for machinery or for things like changing/servicing an air filter. You could use a ATtiny part for this application instead, 2313's are what I had. ===================================================================== Title : MIDI to CV convertor, single channel [# 005] ===================================================================== Date : 991025 Author: Paul Maddox and Fred Splittgerber E-mail: space_banana@hotmail.com --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : ASM Dev. Tool : AVR assembler Code available: YES Filename : MIDI2CVW.ASM URL : http://www.noxons.ision.co.uk/littlep.htm --------------------------------------------------------------------- Description : This is a program that will put Note/Velocity and gate data from a midi keyboard onto port A and port B of the 8515. It uses the internal UART, this routine was written by Fred Splittgerber and I have his permission to put this onto the web. ===================================================================== Title : Cricket call generator [# 006] ===================================================================== Date : 991121 Author: Bruce Land E-mail: BRL4@cornell.edu --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : ASM Dev. Tool : AVR assembler Code available: YES Filename : N/A URL : http://www.tc.cornell.edu/~bruce/PROJECTS/CRICKCALL/ --------------------------------------------------------------------- Description : The goal of this project was to build a field-portable cricket-call generator. The cricket-call generator will be used to attract crickets and for song discrimination tests. Specifications: - The generator has to be able to store dozens of songs. - Playback consists of bursts of sinewaves. - Low power. Current from a 6 volt battery should be a few milliamps. - Song selection is by pushbutton curently, but will be by thumbwheel switch. - Song duration 0-4 seconds. - Carrier frequency 950 to 16000 Hz. - Burst duration/spacing 0-4 seconds. ===================================================================== Title : Digibox Interface [# 007] ===================================================================== Date : 991220 Author: Derek Ellis E-mail: dezellis@lineone.net --------------------------------------------------------------------- Target AVR MCU: AT90S1200 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : N/A URL : http://website.lineone.net/~dezellis --------------------------------------------------------------------- Description : The Digibox Interface was created to interpret Satellite Control Infra Red codes from a VCR flying lead Infra Red transmitter and convert these to the format used by the Sky Digibox Digital Satellite Receiver. The Digibox Interface is small enough to be housed in a matchbox sized ABS plastic box. Not all VCR systems have a Satellite control facility, my VCR is a Mitsubishi HS-861V(B) and another popular brand that may incorporate this facility is Toshiba. The very latest VCR systems incorporating the Satellite control facility are compatible with the Sky Digibox but any slightly earlier models will not be compatible. The Satellite control facility of a VCR allows the VCR to switch the Satellite receiver from standby if necessary and/or to the channel required for the requested timed recording. ===================================================================== Title : SignArt - A project for Christmas [# 008] ===================================================================== Date : 000104 Author: Mike Bechtold E-mail: msbechtold@yahoo.com --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : C Dev. Tool : AVR-GCC and AVR Studio Code available: No Filename : N/A URL : See below... --------------------------------------------------------------------- Description : This project is basically a sixteen channel multifunction, typical usage is a Christmas light chaser. There are 16 AC Outputs capable of 1 to 5 Amps (depending the Configuration). This system can also be configured to have 16 DC outputs with a max of 20 mA. The inputs to the system are PC to UART, rotary BCD switch (to select 0-9), and push button (which is used to setup the system). The UART used to control each of the outputs and configure all the parameters need for the system. There are only two prototypes. URL: http://www.geocities.com/msbechtold/signart/signart.html ===================================================================== Title : The world according to IR bot [# 009] ===================================================================== Date : 000120 Author: M Verlinden E-mail: mverlinden@yahoo.com --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : LCD8515.ASM and 8515.ASM URL : http://www.fictoor.nl/irbot/irdownloads.html --------------------------------------------------------------------- Description : I am busy building a bot. Along the way I learn all kinds of stuff like LCD use, UART, RC 5, Neural Brain, Stepper motor, I2C. The applications that are downloadable are all good startingpoints for a good program. In the future there will come lots more, so keep in touch! ===================================================================== Title : ADC test routines [# 010] ===================================================================== Date : 000128 Author: Lars Wictorsson E-mail: lars@lawicel.com --------------------------------------------------------------------- Target AVR MCU: AT90S8535 Language : Assembler, C Dev. Tool : AVRASM, ICCAVR Code available: Yes Filename : 8535_adc.asm and adc8535.zip URL : http://www.lawicel.com/avr/source/ --------------------------------------------------------------------- Description : Assembler program: Program reads ADC channel 0 all the time (as fast as possible using interrupts), then convert the 10-bit data to 8-bit data and display the binary value on port B. C program: Program reads ADC channel 0 all the time (as fast as possible without using interrupts), then convert the 10-bit data to 8-bit data and display it on the UART at 9600 baud using a 4Mhz chrystal. ===================================================================== Title : Multi-coloured LED Christmas Tree [# 011] ===================================================================== Date : 000129 Author: Les Grant E-mail: LesGrant@grantronics.com.au --------------------------------------------------------------------- Target AVR MCU: AT90S2313 Language : C Dev. Tool : Dunfield Micro/C Code available: Yes Filename : N/A URL : http://www.grantronics.com.au/tree.html --------------------------------------------------------------------- Description : Looking for something different to build for Christmas? Try our Multi-Coloured Christmas Tree. It will look great at the top of your Christmas tree or in the front window. There are 32 bi-colour LEDs in the shape of a small Christmas Tree. With the aid of some multiplexing, each LED can display 16 colours. Source code and schematic available for download. Have fun! ===================================================================== Title : SPI interface to Atmel SPI EEPROMs [# 012] ===================================================================== Date : 000225 Author: J.A. Koehler E-mail: koehler@casagrande.com --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : C Dev. Tool : Codevision C Code available: Yes Filename : N/A URL : N/A --------------------------------------------------------------------- Description : This is the basic code for communicating to/from an Atmel AT25256 SPI EEPROM using the 90S8515 SPI port. There are four functions: void SPI_init(void); void SPI_Write_a_Byte(unsigned char ch); // used in following two functions void WriteToSPIEeprom(unsigned cahrch, int address); unsigned char ReadFromSPIEeprom(int address); One would normally not use the Write_a_Byte() function in the body of your progam - it is used in the last two functions. ===================================================================== Title : RS232 to Weigand interface converter [# 013] ===================================================================== Date : 000228 Author: Andrei Krainev E-mail: moscorep@mail.ru --------------------------------------------------------------------- Target AVR MCU: AT90S1200 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : N/A URL : N/A --------------------------------------------------------------------- Description : Converter realized on AT90S1200 with some external components makes possible to connect Bar-code Reader with RS-232 output to Access Control System with Weigand interface input. ===================================================================== Title : Double feeding the UART [# 014] ===================================================================== Date : 000308 Author: Dana Scott E-mail: danas@egosys.com --------------------------------------------------------------------- Target AVR MCU: any AT with UART Language : Any Dev. Tool : Any Code available: No Filename : N/A URL : N/A --------------------------------------------------------------------- Description : The UART has 2 interrupts for transmitting a data register empty and a transmit complete. The most simple way of writing code for interrupt driven UART is to only use the Transmit complete interrupt. In the usual case, the ISR loads an pointer to an array or circular buffer and then by way of that pointer feeds the UDR (UART Data Register). At this point the data goes immediately into the transmit shift register and the UDR is again empty. Because the data pointers are already in the registers, it is a simple matter to output another character to the UDR before returning from the interrupt. This cuts the number of transmit interrupts in half with less than double the amount of processing per interrupt. ===================================================================== Title : AVR keyboard monitor [# 015] ===================================================================== Date : 000312 Author: Bruce Land E-mail: BRL4@cornell.edu --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : N/A URL : See below... --------------------------------------------------------------------- Description : The monitor uses the RS-232 serial port on the AVR MCU's to communicate with a PC (and hyperterm. It can be included in any program running on an AVR mcu with a hardware UART, and of course, uses two i/o port pins. There are keyboard commands to read out: registers, I/O registers, data memory, the SREG, the program counter and the 16-bit Z register and the memory it points to. There is a command to single-step the program under test. The monitor may be entered either by a keyboard command, or by a break macro inserted into the program under test. http://instruct1.cit.cornell.edu/courses/ee476/keymon/ ===================================================================== Title : Dark:Tag - laser tag game [# 016] ===================================================================== Date : 000321 Author: Matthew Rowe E-mail: matthew.rowe@net.ntl.com --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : N/A URL : http://www.darktag.fsnet.co.uk --------------------------------------------------------------------- Description : The code available is a driver suite to base your own game on. It provides facilites for Infra-red communications using circular memory buffers, the built-in UART and a well-defined protocol, playing audio samples with the hardware PWM and driving a serial led display. You should find the code well commented and easy to use for an introduction to the 8515 AVR. The full game is available as shareware. ===================================================================== Title : RF pad [# 017] ===================================================================== Date : 000624 Author: Alberto Ricci Bitti E-mail: a.riccibitti@iname.com --------------------------------------------------------------------- Target AVR MCU: AT90S2313 Language : C Dev. Tool : AVR-GCC Code available: Yes Filename : N/A URL : http://www.riccibitti.com --------------------------------------------------------------------- Description : RF pad is a combination controlled remote control. It emulates the codes sent by popular remote control ICs, like the MM53200, UM3750, UM86409. Source code is supplied to change codes, combinations key layout. Battery powered, up to 16 keys, key-bleep for comfortable use, output is 433 MHz but can be varied replacing the RF module. ===================================================================== Title : Video DVM [# 018] ===================================================================== Date : 000624 Author: Alberto Ricci Bitti E-mail: a.riccibitti@iname.com --------------------------------------------------------------------- Target AVR MCU: AT90S1200 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : N/A URL : http://www.riccibitti.com --------------------------------------------------------------------- Description : Video DVM is a digital voltmeter with TV screen output. The voltmeter reading are read as gigant digits on your TV set (European tv sets only). Despite of its remarkable features, it is buitl from only 3 ICs: the AT90S1200, the MAX189 AD converter, the MC34064 reset generator. Can read up to 4,096 volts with 1mV resolution, and has displays automatically MAX and MIN readings too. An analog bar readout is also provided. Readings can be recorded with a PC thanks to its serial out (ASCII). ===================================================================== Title : Slot Car Video Chronograph [# 019] ===================================================================== Date : 000624 Author: Alberto Ricci Bitti E-mail: a.riccibitti@iname.com --------------------------------------------------------------------- Target AVR MCU: AT90S1200 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : N/A URL : http://www.riccibitti.com --------------------------------------------------------------------- Description : A triple chronograph suited for slot car races. Provides impartial random START sequence (red semaphores on screen), three timing channels with 1/100 of a second resolutions (times up to 99.99 seconds), jump start detector. Times and flags (checkerboard flag at finish, red and green semaphores, jump start flags) are displayed on a standard TV set (European models only). Sound effects and a serial output (ASCII) complete the project. The real surprise is that all this is done with a SINGLE AT90S1200 processor. ===================================================================== Title : Video BINGO [# 020] ===================================================================== Date : 000624 Author: Alberto Ricci Bitti E-mail: a.riccibitti@iname.com --------------------------------------------------------------------- Target AVR MCU: AT90S1200 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : N/A URL : http://www.riccibitti.com --------------------------------------------------------------------- Description : The BINGO game with automatic giant display on your TV. Displays all the numbers 1...90 in green, drawn numbers appear white. The last number drawn is also shown magnified on the lower right corner of the screen. Pictures on the web site. Numbers drawn are retained in eeprom memory. Random, impartial drawing. Uses a single AT90S1200. Say goodbye to the old tokens. ===================================================================== Title : AVR Integer SQUARE ROOT [# 021] ===================================================================== Date : 000628 Author: Jack Tidwell E-mail: jackt@igalaxy.net --------------------------------------------------------------------- Target AVR MCU: ALL Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : SQRT.ASM URL : http://www3.igalaxy.net/~jackt --------------------------------------------------------------------- Description : While not the fastest sqrt algo, it certainly may be one of the smallest for AVR devices. Uses only 10 instructions, including Reg initialization, and return. Ideal for Assembly only, and/or easy to interface to BASIC, 'C', Pascal compilers. Enter with 16bit value, and returns the 8/16bit sqrt value. ===================================================================== Title : BDM pod [# 022] ===================================================================== Date : 000807 Author: Dean Hall E-mail: dean.hall@computer.org --------------------------------------------------------------------- Target AVR MCU: AT90S1200 Language : Assembler Dev. Tool : AVRASM Code available: No Filename : N/A URL : N/A --------------------------------------------------------------------- Description : A program to make the AT90S1200 act as a BDM pod. It accepts HC12 object code from a PC's serial port via a software-uart and wiggles some other pins according to the Motorola HC12 BDM protocol. ===================================================================== Title : BASCOM-AVR Program Examples [# 023] ===================================================================== Date : 000812 Author: Claus Kuehnel E-mail: ckuehnel@ieee.org --------------------------------------------------------------------- Target AVR MCU: Standard AVR Language : BASIC Dev. Tool : BASCOM-AVR Code available: Yes Filename : BASCOM-AVR_FILES.ZIP URL : http://www.ckuehnel.ch/bascom_buch.htm --------------------------------------------------------------------- Description : All files (english comments) from the new book (German language) "Programmieren der AVR RISC Mikrocontroller mit BASCOM-AVR). ===================================================================== Title : Liquorice [# 024] ===================================================================== Date : 000813 Author: Dave Hudson E-mail: dave@humbug.demon.co.uk --------------------------------------------------------------------- Target AVR MCU: ATmega103 Language : C Dev. Tool : AVR-GCC Code available: Yes Filename : Various (please see file releases page) URL : http://liquorice.sourceforge.net/ --------------------------------------------------------------------- Description : Liquorice is an operating system designed for supporting high performance muli-threaded applications. It is particularly suited to applications that do lots of networking and comes with a fairly complete IP protocol stack. Liquorice currently supports: IP, UDP, TCP, ICMP, ARP, SLIP and Ethernet The software is released under LGPL. Please see the website for more information, mailing lists and the latest software snapshots. Also check out Ethernut! It's a free ATmega hardware project by Harald Kipp (harald.kipp@egnite.de) designed to run with the freely available Liquorice TCP/IP stack mentioned above. Schematics and Eagle board layout are available URL: http://www.egnite.de/ethernut/ ===================================================================== Title : Driver & character set(s) for Nan Ya 122*32 display [# 025] ===================================================================== Date : 000822 Author: Willem Ouwerkerk E-mail: w.ouwerkerk@kader.hobby.nl --------------------------------------------------------------------- Target AVR MCU: AT90S4414 Language : Forth Dev. Tool : AVR ByteForth ver 1.00 Code available: Yes Filename : GLCD.ZIP URL : N/A --------------------------------------------------------------------- Description : Driver & character set for an 122*32 NLC-122B032 graphic display with a 20-pin industrie standard connector. The code goes from the lowest level of control to two character sets & good position control. It uses a total of 13 I/O lines of which one is a complete 8-bit I/O port. The code will run with minor changes on all AVR's with the listed I/O lines free. The package contains: GLCD.FRT & LETTERS.FRT ===================================================================== Title : AVR example programs of the extra internal hardware [# 026] ===================================================================== Date : 000822 Author: Willem Ouwerkerk E-mail: w.ouwerkerk@kader.hobby.nl --------------------------------------------------------------------- Target AVR MCU: AT90S2313 (all standard AVR's) Language : Forth Dev. Tool : AVR ByteForth ver 1.00 Code available: Yes Filename : EXAMPLES.ZIP URL : N/A --------------------------------------------------------------------- Description : Examples of the use of the ADC, EEPROM, Power-down function, Watchdog timer, Puls Width Modulation, RS232, Comparator & Bitbanging I2C for LM75. ===================================================================== Title : Smart Card Interface [# 027] ===================================================================== Date : 001004 Author: Jack Baptise E-mail: jack_baptise@yahoo.com --------------------------------------------------------------------- Target AVR MCU: ATmega103 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : SMPH.ASM URL : N/A --------------------------------------------------------------------- Description : Interfacing SmartCard with AVR. Used for Smart Phone, P.O.S, Banking System, On Line Tax System. ===================================================================== Title : AVR space test [# 028] ===================================================================== Date : 001008 Author: Jim White E-mail: jim@coloradosatellite.com --------------------------------------------------------------------- Target AVR MCU: AT90S2333 Language : C Dev. Tool : CodeVision AVR C Code available: Yes Filename : N/A URL : See beloww... --------------------------------------------------------------------- Description : A self test experiment to qualify the AFR family for possible future use in small satellites. URL: http://www.coloradosatellite.com/SuadiSat/AtmelSatTest.html ===================================================================== Title : Keyboard Emulator [# 029] ===================================================================== Date : 001110 Author: Norman Lange E-mail: nlange@home.com --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : C Dev. Tool : AVR-GCC Code available: Yes Filename : KEYB_EMUL_2000_11.zip URL : http://members.home.net/nlange/welcome.htm --------------------------------------------------------------------- Description : This code makes the AVR look like a PC's keyboard (PS2) to a computer. It's currently configured to accept input via the serial port, does a lookup of the right PS2 scan code, and send it to the computer. High ASCII codes (0xC0+) are used for shift/alt/function/... keys. ===================================================================== Title : TTL Hazard Generator [# 030] ===================================================================== Date : 001110 Author: Ferdinando Negrin E-mail: ingnegrin@libero.it --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : N/A URL : N/A --------------------------------------------------------------------- Description : This device, based on AT90S8515, is able to generate glitches (digital hazards with amplitude of 20 nsec ) and pulses (with presettable time amplitude) on one of eight digital lines (selectable) after a match with presettable digital word (pattern). AVR drives the hardware section, the keyboard and the LCD display. The device was presented on italian magazine "Elettronica Flash" (www.elflash.com). Complete documentation (for study and no profit purpose) is available. ===================================================================== Title : Temperature Regulator [# 031] ===================================================================== Date : 001217 Author: Igor Godi E-mail: igor.godi@freesbee.fr --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : Regul V1.x URL : http://www.multimania.com/godielectron/ --------------------------------------------------------------------- Description : This application régulate the température of your house. Use: DS1620 (Dallas) and a LCD 2x16 car. ===================================================================== Title : Satellite Tracking [# 032] ===================================================================== Date : 001223 Author: David H Lamont E-mail: lamontd@paradise.net.nz --------------------------------------------------------------------- Target AVR MCU: AT90S8535 Language : Assembler Dev. Tool : AVRASM Code available: No Filename : N/A URL : N/A --------------------------------------------------------------------- Description : The AT90S8535 processes azimuth, elevation, antenna dead band, doppler corrected up and downlink frequencies, and other data received via the printer port of a host computer. The AT90S8535 also returns the angular position of the antennas back to the host computer The processed data is fed to the antenna pod and radios. ===================================================================== Title : Home Boiler Controller [# 033] ===================================================================== Date : 001226 Author: Stelios Theodoridis E-mail: stheod@hol.gr --------------------------------------------------------------------- Target AVR MCU: AT90S2313 Language : BASIC Dev. Tool : BASCOM-AVR Code available: No Filename : N/A URL : N/A --------------------------------------------------------------------- Description : Monitors temperature of a Utility Hot Water Exchanger with an I2C LM92 sensor, calculates the rate of cooling of the hot water and activates the central heating installation according to DT/t or if water cools down to 48°C. Temperature of Water and Status of Heater is continuously reported via RS232 port. ===================================================================== Title : Control of PLL and frequency display (not HD44780) [# 034] ===================================================================== Date : 010208 Author: Thilo Lauer E-mail: thilo.lauer@compaq.com --------------------------------------------------------------------- Target AVR MCU: AT90S2333 Language : C Dev. Tool : AVR-GCC Code available: No Filename : N/A URL : N/A --------------------------------------------------------------------- Description : Using a SW receiver kit (published in Elektor), i expanded it with a PLL circuit and a numeric LCD display from a broken phone. Two buttons (up/down) are used for tuning, the PLL (SAA1057) controls the actual tuning, and the LCD display (not HD44780-based), guess what: right, it displays the tuned frequency. Both PLL and LCD use the same protocol, a predecessor to I2C, i think it's called CBUS protocol. The beast is working, but subject to extensions like pre- defined channels and/or control of the charging of the accu cells. Code isn't available on-line, but can be sent per mail on request. ===================================================================== Title : Monitor and Debugger [# 035] ===================================================================== Date : 010213 Author: RT-soft E-mail: rt-soft@seznam.cz --------------------------------------------------------------------- Target AVR MCU: N/A Language : C Dev. Tool : AVR-GCC Code available: No Filename : N/A URL : http://sweb.cz/rt-soft --------------------------------------------------------------------- Description : Monitor and Debugger for AVR family. Monitor and Debugger are toolkit designed to help to debugging application written for gcc-avr compiler. Monitor is a part of code writen in C, added to application. Monitor lets: scan memory, stop execution, set up to 4 breakpoints, reset (SW), modify data memory and I/O area UserBreak and InterruptBreak macro, step and stepping. Monitor is distributed under the terms of the GNU General Public License. Debugger is a source-level remote debugger running in Win95 and NT. The are a list of basic functions: 1. Setting up to 4 breakpoints. 2. Step and stepping control. 3. Watch registers, SRAM, I/O area and EEprom memory. 4. Watch any global and local variables. ===================================================================== Title : Antenna Elevation Controller and Display [# 036] ===================================================================== Date : 010406 Author: Jim White E-mail: jim@coloradosatellite.com --------------------------------------------------------------------- Target AVR MCU: AT90S8535 Language : C Dev. Tool : CVAVR Code available: Yes Filename : ele3.c URL : See below... --------------------------------------------------------------------- Description : This application provides an elevation readout for an antenna using a typical telivision dish linear actuator (LA). Combined with the hardware described in the accompanying paper it controls a LA by switching the voltage polarity on the motor, and counts the pulses from the reed switch in the LA to produce an elevation readout in both counts and degrees. Includes a calibration routine using the UART. See the accompanying article and schematic for full information on the project. URL: http://www.coloradosatellite.com/Papers/ElevationController/ ===================================================================== Title : DMX-512 for AVR [# 037] ===================================================================== Date : 010407 Author: Kari Viitala E-mail: viikari@ee.tut.fi --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : C Dev. Tool : ICCAVR Code available: Yes Filename : N/A URL : http://ele.tut.fi/~viikari/ --------------------------------------------------------------------- Description : AVRDMX is adapter which connects to PC parallel port. This allows PC to control showlighting using standardized DMX-512 protocoll and also to read DMX-512 data into PC. Device is very easy to build. ===================================================================== Title : Reaction Timer [# 038] ===================================================================== Date : 010407 Author: Jason Markosky E-mail: jmarkosk@home.com --------------------------------------------------------------------- Target AVR MCU: AT90S2313 Language : C Dev. Tool : IAR C Code available: N/A Filename : N/A URL : N/A --------------------------------------------------------------------- Description : The purpose of this project was to develop a device that would calculate and display on a LCD the reaction time a person will have under various test conditions and give witty little messages depending on the results. The way the device works is the test subject would hold a Jeopardy like controller in one hand while the tester holds another controller in his/her hand. The device has two different stimuli (Sound and Light) that the test subject would have to react to. The test conditions can range from a lack of sleep to being totally drunk or somewhere in between. (It's up to you!) The tester would then pick which stimuli to test the subject on by a pushbutton on the front of the device, which will bring up the two options on the LCD screen. Then he/she would start the test(timer) by pressing his/her Jeopardy button. The subject has to react and stop the timer. Thats it!! OH ya...The two controllers have a long length of wire between them so the subject can not get any type of indication when the test is about to begin from the tester. If you have any questions/comments send me a email or ICQ(30066070) ===================================================================== Title : Electronic keylock [# 039] ===================================================================== Date : 010425 Author: Janez Bitenc E-mail: peg@siol.net --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : Electronic keylock URL : http://www.peg.si --------------------------------------------------------------------- Description : Everything explained how to make electronic keylock;- from sch & pcb to source code writen in asembler (in english). Page is not yet translated. ===================================================================== Title : AccelR8 [# 040] ===================================================================== Date : 010428 Author: Jesper Hansen E-mail: jesperh@telia.com --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : C Dev. Tool : AVR-GCC Code available: Yes Filename : N/A URL : http://www.myplace.nu/avr/accelr8/index.htm --------------------------------------------------------------------- Description : An AD202XL based G-meter. Put it in your car and measure horsepower and 0-60 mph times. ===================================================================== Title : Countermeasures [# 041] ===================================================================== Date : 010428 Author: Jesper Hansen E-mail: jesperh@telia.com --------------------------------------------------------------------- Target AVR MCU: AT90S2313 Language : C Dev. Tool : AVR-GCC Code available: Yes Filename : N/A URL : http://www.myplace.nu/avr/countermeasures/index.htm --------------------------------------------------------------------- Description : A 40+ MHz 5-digit frequency counter with an AVR 2313 and 3 TTL chips. ===================================================================== Title : Mini DDS Synthesizer [# 042] ===================================================================== Date : 010428 Author: Jesper Hansen E-mail: jesperh@telia.com --------------------------------------------------------------------- Target AVR MCU: AT90S2313 Language : Assembler Dev. Tool : AVR-GCC Code available: Yes Filename : N/A URL : http://www.myplace.nu/avr/minidds/index.htm --------------------------------------------------------------------- Description : A "poor-mans" DDS (Direct Digital Synthesis) circuit. This one uses an AVR 2313 and a simple R2R resistor ladder network to generate frequencies from about 0.07 Hz to 200-300 kHz in 0.07 Hz steps. ===================================================================== Title : Temperature Controller [# 043] ===================================================================== Date : 010428 Author: Jesper Hansen E-mail: jesperh@telia.com --------------------------------------------------------------------- Target AVR MCU: AT90S2313 Language : C Dev. Tool : AVR-GCC Code available: Yes Filename : N/A URL : http://www.myplace.nu/avr/thermo/index.htm --------------------------------------------------------------------- Description : A temperature monitor/controller based on an AVR 2313 and a Dallas DS 1621. ===================================================================== Title : Digital Guitar Tuner [# 044] ===================================================================== Date : 010428 Author: Jesper Hansen E-mail: jesperh@telia.com --------------------------------------------------------------------- Target AVR MCU: AT90S2323 Language : C Dev. Tool : AVR-GCC Code available: Yes Filename : N/A URL : http://www.myplace.nu/avr/gtuner/index.htm --------------------------------------------------------------------- Description : A very small, but very accurate Digital Guitar Tuner with a low component count. ===================================================================== Title : Monster Memory [# 045] ===================================================================== Date : 010428 Author: Jesper Hansen E-mail: jesperh@telia.com --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : C Dev. Tool : AVR-GCC Code available: Yes Filename : N/A URL : http://www.myplace.nu/avr/dram/index.htm --------------------------------------------------------------------- Description : An example of how to interface a DRAM to a 8515 (without any extra hardware) and get a 512kB (or more) linear address space. ===================================================================== Title : yampp [# 046] ===================================================================== Date : 010428 Author: Jesper Hansen E-mail: jesperh@telia.com --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : C Dev. Tool : AVR-GCC Code available: Yes Filename : N/A URL : http://www.yampp.com --------------------------------------------------------------------- Description : A low chip-count MP3 player with a standard IDE harddisk interface. LCD, IR and serial interfaces for controlling the player. Uses a rather unique way of manipulating the EXTRAM interface, to be able to handle the 16-bit IDE interface without extra hardware. Uses the new VS1001 MP3 decoder chip from VLSI. ===================================================================== Title : 32 bit Arithmetic Routines with Macrolibrary [# 047] ===================================================================== Date : 010615 Author: Andre Birua E-mail: birua@hotmail.com --------------------------------------------------------------------- Target AVR MCU: AT90S8515 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : math32.asm URL : http://www.i.com.ua/~birua/math32.html --------------------------------------------------------------------- Description : This package of assembler subprograms is developed for integer arithmetic with tracing of sign bit in 32 bits calculations and data reloads. It is based on microcontroller register file to the maximum. In real users projects available abundant digit capacity allows to avoid overflow and reduces inaccuracy of rounding errors in chain calculations. Included macro definitions will increase readability of assembler source at bit by bit and multibyte data operations inside AVR software model ===================================================================== Title : Minimal Function Packet Radio UI-TNC [# 048] ===================================================================== Date : 010917 Author: Henry Carl Ott [N2RVQ] E-mail: carlott@rcn.com --------------------------------------------------------------------- Target AVR MCU: AT90S2313 Language : Assembler Dev. Tool : AVRASM Code available: Yes Filename : avr_ui_tnc_1_7.zip URL : http://users.rcn.com/carlott/avr_projects.html --------------------------------------------------------------------- Description : Basic project using MXCOM MX614 modem chip and an 90s2313 to send and recieve AX.25 UI packets. Useful for experimenting with amateur radio APRS networks. ===================================================================== 1.7 AVR resources on the net! ----------------------------- Below are some usefull AVR resources (in no particular order) on the net. If you know about a site that is not mentioned in the list feel free to forward the URL to me. 1. Dontronics ------------- http://www.dontronics.com/atmel.html 2. Programming AVR's on the MacIntosh ------------------------------------- http://wollongong.apana.org.au/~ben/macavrpa/ 1.8 Copyright notice. --------------------- This text is Copyright 1999-2001 by Christer Johansson, HTH. All rights reserved. You are granted the following rights: I. To make copies of this work in original form, so long as (a) the copies are exact and complete (b) the copies include the copyright notice and these paragraphs in their entirety II. To distribute this work, or copies made under the provisions above, so long as (a) this is the original work and not a derivative form (b) you do not charge a fee for copying or for distribution (c) you ensure that the distributed form includes the copyright notice, this paragraph, the disclaimer of warranty in their entirety and credit to the author (d) the distributed form is not in an electronic magazine or within computer software (prior explicit permission may be obtained from the author) (e) the distributed form is the LATEST version of L.O.A.A to the best of the knowledge of the distributor (f) the distributed form is electronic You may not distribute this work by any non-electronic media, including but not limited to books, newsletters, magazines, manuals, catalogs without prior explicit permission. These rights are temporary and revocable upon written, oral, or other notice by the author. This copyright notice shall be governed by the laws of Sweden. If you would like additional rights beyond those granted above, contact the author at "cj@hth.com". 1.9 Credits and other things ---------------------------- Credits should go to all of you who makes this list possible I hope it suffices to say "Thank you to all who have contributed to L.O.A.A - we all appreciate it." If there is anything you think I've missed (or spelled wrong) I would like to hear from you so I can correct it in a future update and make this list even better. You could reach me at the following e-mail address: cj@hth.com Stay tuned, /Christer _____________________________________________________________________ Copyright (c) 1999-2001 HTH. All rights reserved. AVR is a trademark of Atmel Corporation. Other brand and product names are trademarks or registered trademarks of their respective holders. _____________________________________________________________________ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- >> L.O.A.A is compiled by Christer Johansson, HTH << -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-