This is collection of documents from a variety of sources for use by the students in EE 459Lx. Some of the documents may not be relevant to the current semester's project but are left here for reference purposes.

Some of the following documents are in PDF format. You will need a PDF reader like Acrobat Reader to view and print the documents.

Questions, corrections and comments about the content of this page should be sent to Allan Weber

( ).

Course topics

EE 459Lx Lab Notes - A collection of topics related to constructing the class projects (soldering, wire wrapping, debugging, etc.). All students should read this before starting construction of your project in the lab.

Parts in stock - This is a list of most of the parts that the EE459 class has in stock for project construction.

These sample schematics for devices unrelated to the class projects are similar to the types of schematics that should be produced for your project. Scanner Interface ADC Test Board



Interested in acquiring your own tools and equipment for working with embedded systems? Here's some of the stuff we use and recommend.

Atmel Microcontrollers

For information on the Freescale microcontrollers that were used in EE459 up until about 2012, and sample code for them, click here.

ATmega328P

Note: Through the Spring 2013 semester we were using the Atmel ATmega168A microcontroller, but have since switched to the ATmega328P whose main difference is the amount of RAM and ROM. The notes below mostly apply to both microcontrollers even if the description of the document only mentions one of them. ATmega328P Datasheet - Atmel's full datasheet on the ATmega328P microcontroller (22MB) To go to Atmels's web page for the ATmega328P microcontroller, click here ATmega328P Notes - Notes on using the Atmel ATmega328P microcontroller AVR-gcc - Notes on using the AVR-gcc toolset to program the Atmel microcontrollers. This document discusses programming the ATmega328P but much of the information also applies to other ATmega or ATtiny microcontrollers used in the class. Sample Atmel ATmega328P C and assembly language programs. These were originally written for the ATmega168A and should run unchanged on that processor. Programs are for the avr-gcc toolset and will compile on Mac OSX, Linux and probably Windows. To use with the ATmega328p this Makefile can be used but the parameters at the top (OBJECTS, CLOCK, PROGRAMMER, etc.) will probably have to be changed to reflect your environment. at328-0.c and at328-0s.S - Toggles an I/O port bit on and off rapidly. Output can be confirmed with an oscilloscope. at328-1.c and at328-1s.S - Controls an LED with a switch. at328-2.c and at328-2s.S - Displays a sequence of hexadecimal numbers on a seven-segment display. at328-3.c and at328-3s.S - Displays a sequence of hexadecimal numbers on a seven-segment display using an internal timer and interrupts for delays. at328-4.c - Prints a short message on a parallel interface two line LCD display in 8-bit mode. at328-5.c - Prints a short message on a parallel interface two line LCD display in 4-bit mode and shows how to store strings in ROM. at328-6.c - Controls a serial interface LCD display over an RS-232 link. at328-7.c - Transfers data to and from a serial EEPROM over an I 2 C link.

Through the Spring 2013 semester we were using the Atmel ATmega168A microcontroller, but have since switched to the ATmega328P whose main difference is the amount of RAM and ROM. The notes below mostly apply to both microcontrollers even if the description of the document only mentions one of them. ATtiny4313 ATtiny4313 Datasheet - Atmels's full datasheet on the ATtiny4313 microcontroller (6MB)

ATtiny85 ATtiny85 Datasheet - Atmels's full datasheet on the ATtiny85 microcontroller (4MB) Sample Atmel ATtiny85 C programs. Programs are for the avr-gcc toolset and will compile on Linux or Mac OSX. Similar to the samples above for the ATmega328P but for the ATtiny85 that comes in an 8-pin package. For all of these this Makefile can be used but the parameters at the top (OBJECTS, CLOCK, PROGRAMMER, etc.) will probably have to be changed to reflect your environment. at85-0.c - Toggles an I/O port bit on and off rapidly. Output can be confirmed with an oscilloscope.



Other Atmel microcontroller documents and links

PLDs

PALCE22V10 Notes - Using the PALCE22V10 for programmable logic.

CUPL Manual - This is a rough translation into PDF format of the online documentation on the CUPL language that comes with the Atmel WinCUPL program. Many figures didn't survive the translation too well or are missing entirely. These will be fixed someday, maybe.

Sample PAL programs: These are CUPL programs that show some of the concepts in using PAL. Most are designed to test PALs on a demo board in the lab. PALSamp1.pld - A sample CUPL file for implementing a 3-bit counter and a 3-input AND gate in a PALCE22V10. PALSamp1.si - Simulator input file for testing the PAL defined in PALSamp1.pld. PALSamp2.pld - CUPL file for demonstrating and testing 22V10 PALs on the lab demo board. Implements a 3-bit up-down binary counter with binary outputs and seven-segment display outputs. PALSamp2.si - Simulator input file for testing the PAL defined in PALSamp2.pld. PALSamp3.pld - CUPL file for demonstrating and testing 16V8 PALs on the lab demo board. Implements a modulo 5 up-down counter with binary outputs and decoded 1-of-5 outputs. PALSamp4.pld - CUPL file for demonstrating and testing 22V10 PALs on the lab demo board. Implements a 3-bit up-down Gray code counter with binary outputs and the seven-segment display outputs the message "EE 459L".

PLD Programmer - Notes on how to use the GALEP-4 PLD programmer in the lab.

Video

Images

Converting binary images to program data

bmp2hex.c - C program for converting 1-bit/pixel Windows BMP images to hexadecimal data for use in programs.

LCD panels

Reprints of articles from "Everyday Practical Electronics" on using LCD panels: Part 1 and Part 2.

Datasheet for the Hitachi HD44780 controller chip used in most LCD panels.

Manuals for some of the LCDs available from our parts supply Matrix Orbital LK162-12 - 2x16 character LCD, serial interface



GPS

GPS Interface - Wiring diagram for interfacing to the Garmin GPS modules.

Simulators for testing projects

Light bulbs - Four 12V AC light bulbs

Sprinklers - Two 28V AC sprinkler solenoid values

Pan-and-Tilt - Two stepper motors driving a pan-and-tilt platform

Test equipment

HP 166X - Brief instructions on using the HP logic analyzers

Datasheets

The datasheets listed below have been obtained from various places on the Internet. They are all copyrighted by someone but we're not going to worry about that. Datasheets for the newer parts were mostly obtained from the manufacturers or from Jameco and Digi-Key where we order most of our parts. Others were snagged from web sites wherever we could find them.

For older 74LS TTL parts, most came from vendors like T.I., Motorola and Fairchild that used to sell these things. If you are looking for TTL datasheets, try the links below.

On Semiconductor - I think they are mainly a distributer of ICs, not a manufacturer. They may have absorbed Motorola's TTL product line, or at least their tech library, and Fairchild Semiconductor is redirecting to their site also. Either way, they have a large collection of datasheets online and they are good quality.

Texas Instruments - TI has a large collection of datasheets online, both for current chips and for many obsolete ones. Many of their files are scans of pages from their printed databooks and the images come out looking pretty bad. If you can't find a non-scanned copy somewhere else, get it from here. However they do have a PDF of a pocket version of their logic data book.

None of these sites are particulary easy to use if you don't know what part you are looking for. If looking for 74 series TTL chips, do a search for "74LSxxxN" where xxx the rest of the part number. The "74LS" will find it in one of the more common logic family, and the "N" says to find a standard plastic package.

Sensors

Wireless modules

Real-time clocks

Miscellaneous digital ICs

Memory

A/D and D/A converters

Analog and interface ICs

Optoelectronics

Voltage regulators

Transistors, diodes, triacs

Keyboards and buttons

Miscellaneous pin-out diagrams

Relays

Stepper motors and associated components

Video ICs

PALs

Digital Logic ICs

Older TTL ICs. These parts are not normally used in current EE459Lx projects. Some are non-74LS parts that are logically compatible with 74LSxx parts, but may have problems electrically due to different fan-in and fan-out. Other parts have have power and ground at non-standard positions or are listed as obsolete by the manufacturers and are no longer being produced. However they are still present in the our stock of parts so if you want to use them you can.

Where to find stuff

If you are interested in purchasing electronic components for building projects, here are some links to places we buy parts from.