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.
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.
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 I2C link.
- ATtiny4313
- 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
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.
- Datasheets for some of the LCDs available from our parts supply
- Crystalfontz CFAH2004AC-TMI-EW - 20x4 character LCD, I2C interface, white-on-blue,
Notes on using the CFAH2004AC-TMI-EW
- Crystalfontz CFAH2004A-TMI-JT - 20x4 character LCD, parallel interface, white-on-blue
- Newhaven Display NHD-0420D3Z-NSW-BBW-V3 - 20x4 character LCD, RS-232 (0-5V) interface, white-on-blue,
Notes on using the NHD-0420D3Z-NSW-BBW-V3
- Newhaven Display NHD-0420DZ-FSW-FBW-ND - 20x4 character LCD, parallel interface, white-on-blue
- Adafruit 499 - 20x4 character LCD, parallel interface, RGB backlight
- Matrix Orbital LK162-12 - 2x16 character LCD, serial interface
GPS
- GPS NMEA Reference Manual - This document
describes the format of the serial data that comes from the GPS module with latitude and longitude data.
- GPS Interface - Wiring diagram
for interfacing to the Garmin GPS modules.
Simulators for testing projects
Images
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
- MAX639 5.0V buck (DC-DC) voltage converter, 225ma, DIP 8
- LM3940 3.3V low dropout voltage regulator, 1A, TO-220
- LE33CZ 3.3V low dropout voltage regulator, 100mA, TO-92
- TPS7150 5V low dropout voltage regulator
- LM7805 5V voltage regulator, 1A, TO-220
- UA78L05 5V voltage regulator, 100mA, TO-92
- LM317L variable voltage regulator, 100mA, TO-92
Transistors, diodes, triacs
- 2N2222 NPN transistor
- 2N2907 PNP transistor
- 2N3904 NPN transistor
- 2N3906 PNP transistor
- 2N7000 n-channel MOSFET
- IRF540 n-channel power MOSFET
- IRL540 n-channel power MOSFET
- 1N4148 diode, 75V, 300mA (similar to 1N914)
- 1N4003 diode, 200V, 1A
- 1N5403 diode, 300V, 3A
- 1N5817 Schottky diode, 20V, 1A
- 1N4732 4.7V Zener diode
- 2N6071 triac, TO-225, 200V, 4A
- L201E5 triac, TO-92, 200V, 1A
- L2004L3 triac, TO-220, 200V, 4A
Keyboards and buttons
Miscellaneous pin-out diagrams
Relays
Stepper motors and associated components
Video ICs
PALs
Digital Logic ICs
Older digial logic IC, still usable
The following sections describe items we no longer use in EE459 projects but may
be of interest to someone.
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
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.
- Digi-Key - This is our primary
supplier of electronic components. They have a large inventory, the prices are
reasonable, and we usually get the order pretty quickly. However the size of
their inventory sometimes makes it hard to find things.
- Jameco Electronics - This is another
supplier we use for supplies. Their inventory is smaller than Digi-Key and
it's sometimes a bit easier to find things. They used to have a nice printed
catalog but not any more.
- Adafruit, SparkFun
- These companies sell a lot of interesting items for the
hobbyist/experimenter. Both companies sell a lot of "breakout boards" where
they have mounted small IC's that are difficult to work with on PCBs what make
connections to the IC easier.
- Phoenix Enterprises - They stock
a good selection of connectors and parts for wire-wrapping. Very helpful
staff.
- Parallax, DFRobot
- These are similar to Adafruit and SparkFun in that most of the stuff is for
the hobbyist.
- Newark and
Mouser Electronics - These two are major suppliers to the electronics industry
with very large inventories. Not sure if they have minimum order amounts that may
make it hard for the hobbyist but they are worth a look.
- Apex Surplus, This is a large
electronics surplus store in an industrial area of the San Fernando Valley
(8909 San Fernando Road, Sun Valley). If they have something you need, you can
probably get it at a good price, but it's sometimes hard to find things. It's
definitely worth at least one trip there just to see the place, and its storage
area outside in the back.