EE445L Embedded Systems Design Lab Spring 2022 (5/3/2022 version)
Grading
Office hours
Lectures and lecture schedule
Lab assignments
Lab schedule
Course Catalog Description Design
of microcontroller-based embedded systems; interfacing from both a
hardware and software perspective; and applications, including audio,
data acquisition, and communication systems.
Course Specific Objectives of EE445L: The primary objective of EE445L is for the students to develop the ability to
design microcomputer-based embedded systems. This class allows students to learn microcomputer
interfacing from both a hardware and software perspective.
Professor's Personal Objective for the Course: My objectives for this course is for the software centric students to
become proficient with hardware and the hardware centric students become proficient with software
such that when you are in industry you make more money than those students who elect to be isolated in their comfort zone be it SW or HW.
Outcomes: After the successful conclusion of EE445L, students should be able to design
embedded systems including hardware/software interfaces for devices like LCD displays, motors, keyboards, analog sensors and speakers.
Furthermore, students will be able to deploy these systems into the IoT environment.
Attendance: Students are expected to attend all lectures.
The book covers more information than the class and we will use lectures to map our way through the book.
If you miss class you may find it difficult to catch up. DO NOT assume that you can watch old videos of the lectures from 2015 and not come to class.
Prerequisites: EE312 and EE319K with a grade of at least C- in each; EE411 and EE313, or BME311 and BME343,
with a grade of at least C- in each; and credit with a grade of at least C- or registration for BME333T, or EE333T.
Instructor: Jonathan W. Valvano, EER 5.820
Equipment
to buy:
1)
Board. Every
student will be required to have a Texas
Instruments TM4C123 LaunchPad by Wednesday 1/26. Since
we
will be using the TM4C123 kit in EE319K and EE445L for a few years, you
will have the
option of selling it at the end of the semester. If
you can find an EK-LM4F120XL board, it could also be used. We require each student purchase a board and a breadboard.
Buying options for the board can be found by searching www.octopart.com
https://octopart.com/search?q=EK-TM4C123GXL
However, one option is to purchase it directly from www.ti.com .
We
have been using the TM4C123 board in EE319K since Fall 2013, so you
might be able to find one used. If you do purchase a used
microcontroller board, ask a TA or me to run the board tester to make
sure all the pins work. If it still works at the end of the semester,
you will be able to sell this board to students in the next semester.
2) LCD. Each student will need to a LCD graphics display. We will be
using Sitronix
ST7735R 18-bit color 1.8" TFT LCD display for $20 plus shipping, http://www.adafruit.com/products/358
If you want a lower cost version you could order it from
China
(search ST7735R on Amazon or ebay). EE445L
has a design competition where students build embedded system. Using
the same LCD for labs and for the project will save you time. Just like
the microcontroller board, you will have the option of selling the
Sitronix LCD to students next semester.
2b) Optional LCD. You cannot find an ST7735R, you may consider a smaller display. Take this option only if you really can not find a ST7735R. There are software project
for the SSD1306 called SSD1306_4C123 in the regular EE445L project download. To purchase a SSD1306, search "SSD1306 OLED" on Amazon. The driver operates with a single color, 128 by 64 pixels, interfaced with I2C.
3) Breadboard. You
will need a solderless breadboard. We strongly recommend you do not buy
used or borrow a breadboard, because as the breadboards get old they
fail in mysterious and extremely annoying ways (shorts and
opens). The Twin Industries TW-E40-1020 is a breadboard that
is easy to find. You can find it for sale on the internet by searching www.octopart.com
: https://octopart.com/search?q=TW-E40-1020
Any breadboard, any size will be OK. Another approach is to
search "solderless breadboard" on amazon.com aliexpress.com or ebay.com
4) Wirestrippers and
voltmeter. You will need own
your own pair of wire-strippers and a digital multimeter. You will be
stripping a lot of 22 or 24 gauge wire as you build the interface
circuits. Your meter must be able to measure voltage and resistance, so
a meter costing around $20 will suffice.
5) Soldering station For the hardware lab option you will need access to lab equipment including a high-quality soldering iron, lead-free solder, solder wick, solder paste, fine-tipped pliers, wire cutter, and wire stripper.
Lab sections:
Unique: 17510, TTh, 11:00 - 12:30, Kyubum (Kevin) Shim
Unique: 17515, MW, 12:00 - 13:30, Matthew Yu
Unique: 17520, MW, 15:30 - 17:00, Matthew Yu
Unique: 17525, MW, 17:00 - 18:30, Mohit Gupta
Unique: 17530, TTh, 17:00 - 18:30, Jared McArthur
Great TAs:
email all TAs professors and staff s22_ee445l@utlists.utexas.edu
Matthew Yu
Kyubum (Kevin) Shim
Jared McArthur
Mohit Gupta
Other references: For programming in C see the EE312 materials or the second half of the EE306 text.
Specific EE319K topics needed for EE445L: LED interface, switch interface, busy-wait synchronization, serial communication concepts (start bit, data bits, stop bit, baud rate, bandwidth), UART programming, analog to digital conversion (range, resolution, precision, accuracy), ADC programming, digital to analog conversion (range, resolution, precision, accuracy), interrupt concepts (arm, enable, acknowledge, vector), periodic timer interrupt programming
Bridge
circuits, op amps, low pass filters, instrumentation amplifiers, DAC,
ADC,
audio amplifiers
Stepper
motors, DC motors, pulse-width modulation, integral control
Lab introduction and grading policy
Lab 1. LCD Graphics, done individually
Lab 2. Debugging, oscilloscope fundamentals, logic analyzer, dump profile, group of 2
Lab 3. Alarm clock, LCD, edge-triggered input interrupts, and SysTick periodic interrupts, group of 2
Lab 4. IEE802.11Wi-Fi communication, TCP, client-server, IoT, group of 2
Lab 5. 12-bit DAC, SPI, Music player, audio amp, group of 2
Lab 6. Introduction to PCB Layout, Eagle, done individually, (paper design only)
Lab 7. Design and Layout of an Embedded System, group of 4
Lab 8. Software Drivers for an Embedded System, group of 4
Lab 9. Audio signal processing, ADC, LCD, group of 4
Lab 10. DC motor control, timer interrupts, PWM output, input capture, integral control, group of 4
Lab 11. Final Design and Evaluation of Embedded System, group of 4
Week
1st Lab Session
2nd Lab Session
Friday
LAB Comments
1/17
No lab activities this week, buy your TM4C123 board, Labs starts Week of 1/24
1/24
Meet the TA
Lab 1 Prep
Partners selected
Keil uVision demonstration, Eagle (SCH) demonstration (on Zoom)
1/31
1 Demo
2 Prep
1 Report
Oscilloscope demo, Logic analyzer demo
2/7
2 Demo
3 Prep
2 Report
2/14
3 Demo
4 Prep
3 Report
2/21
4 Demo
5 Prep
4 Report
Spectrum analyzer demo
2/28
5 Demo
6 Prep
5 Report
Quiz 1 is 3/3, Eagle (PCB) demo
3/7
6 Demo
7 Pre-Prep
6 Report
Project teams formed before Spring break 3/21
7 Prep
7 Demo1 Valvano Review
There are three design reviews: Demo1, Valvano, Demo2
3/28
7 Demo2
8 Prep
7 Report
Final SCH/PCB files due on Canvas at 10am Thursday 3/31
4/4
8 Demo
9 Prep
8 Report
NOTE: Lab 8 report is just the software
4/11
9 Demo
10 Prep
9 Report
4/18
10 Demo
Quiz 2 is 4/21 4/25 11 Prep, 10 Report 5/2
11 Demo
11 Report
Turn in checked out equipment by Friday 5/6
At each stage, we expect updated: requirements document, .sch, .pcb, and BOM
Lab 7 production schedule
- Parts = all parts you plan to purchase should arrive before 3/
- Pre-Prep = Requirements document
- Prep = SCH complete, PCB parts not moved or routed
- Demo1 = SCH complete, PCB parts are placed but not routed
- Valvano review = you demonstrate first part of a two-week lab to the TA
- Demo2 = SCH complete, PCB complete, passes design rule check
- Final = SCH complete, PCB complete, passes design rule check
PCB files due Thursday 3/39 @ 10am on Canvas (if you miss this deadline you will have to pay for your own
board)
- Report = Lab 7 deliverables
- TA downloads files from Canvas and creates an XLS sheet
- PCB ordered on Friday 4/1 by 12 noon
- Boards received about Tuesday 4/12
- Lab 11 prep 4/25 or 4/26 all parts soldered and microcontroller can be programmed.
Each week there are two 90 minute lab sessions, which are scheduled Monday/Wednesday or Tuesday/Thursday. You will show the preparation to your TA at the beginning of the second session. During the first session demonstrations will be made. The TA will sign your software listing when you demonstrate your system. The report (hardware/software/data plots) is due Friday uploaded to Canvas according to the directions posted on Canvas. Any EE445L TA is authorized to checkout your lab. Please consult with your TA for specific due dates for your lab section.
During
the week of 1/24,
please go to your
scheduled EE445L lab sessions in
on zoom to get a demonstration of the
lab
equipment. If you do not already own a TM4C123
board, you must purchase
one. Each student should have their own
board. The lab
preparations (hardware diagrams and syntax-free software source code
printouts) must be uploaded to Canvas prior to the beginning of your
lab period. PLEASE SEE YOUR TA ON EXACT REQUIREMENTS FOR TURNING IN LAB
ASSIGNMENTS. In other words, please type your
software into the PC before lab. Attendance in lab is required. All
software
for lab,
and tests must include comments. All hardware
must include R&C values specifying tolerance and type (e.g., 5%
carbon),
and chip numbers (be very specific e.g., OPA2350PA). Pin numbers are
required
only for lab, not for the exams.
Contact your TA about how lab will be managed. All
reports
must be given to the TA by Friday May 6, 5pm.
Week | Chapter | Lecture | Topic YouTube Playlist |
1/18 | 1,2 | aLec01_EE445L aLec02_IntroES |
Introduction to EE445L, Embedded Systems |
1/25 | 2,3 | aLec03_FixedPoint aLec04_Graphics aLec05_Architecture aLec06_Synchronization aLec07_Interrupts |
Fixed-point, Graphics, Lab1 project, call graphs Arm Cortex M architecture, features of the TM4C123, data flow graphs, Introduction to interfacing, hardware software synchronization Interrupts, Lab2 project |
2/1 | 2,3,4,5 | aLec08_CriticalSections aLec09_Debugging aLec10_EdgeTriggeredInterrupts aLec11_BJT |
Critical sections, Debugging debugging techniques, and programming style, dumps, monitor Edge-triggered interrupts BJT transistor interface |
2/8 | 3 11 11.4 |
aLec12_Specifications aLec13_Client_Server aLec14_IoT_Smart_Object aLec15_CC3100WeatherServer |
Specifications
and software style Introduction to communication systems Wifi, Wireless communication, client server, IoT (Lab 4 material) Demonstration of ESP8266 wifi, TCP, and Lab 4 |
2/15 | 11.4 8.4 7.5 |
aLec16_ESP8266WeatherServer aLec17_DAC aLec18_SPI aLec19_SoundGeneration |
Demonstration
of ESP8266 DAC fundamentals, Nyquist Theorem (Lab 5 material) SPI and DAC interface, timing analysis Sound and Music Generation |
2/22 | 9.2.2 8.4 9 |
aLec20_AudioAmp aLec21_DACPerformance aLec22_Systems aLec23_PCBLayout |
TPA731 audio
amplifiers, see Example 10.4 DAC performance measures PCB Layout, Lab 6 material System level design, clock, power, packaging |
3/1 | 9 | aLec24_Lab6_demo aLec25_QuizReview |
Lab 6 demo Quiz 1 review Quiz 1 (3/3) |
3/8 | 9 10.6 |
aLec26_GettingStarted aLec27_Power |
Low power design, regulators, PCB layout Power supplies, batteries, regulators |
3/22 | 8.1 9 Vol 3 6.1 |
aLec28_Enclosure aLec29_Components aLec30_SDC aLec31_FileSystem aLec32_InputCapture |
Enclosures, connectors Resistors, capacitors SDC File system using FAT16 Input capture, period measurement |
3/29 | 10.2 8.2 8.2.3 10.6 |
aLec33_Sensors aLec34_OperationalAmplifiers aLec35_ThresholdDetection aLec36_InstrumentationAmp |
Sensors Op amps Threshold detection Resistance bridge, instrumentation amplifier |
4/5 | 8.3 10.4 10.5 10.6 |
aLec37_AnalogFilters aLec38_IntroductionToSampling aLec39_NyquistTheorem aLec40_Temperature_DAS |
Analog
filters:
HPF, LPF, 2-pole Butterworth LPF Introduction to Sampling Nyquist Theorem, Aliasing, DFT Data Acquisition Systems |
4/12 | 8.5.2 6.5 6.1 6.5 |
aLec41_ADCconversionTechnique aLec42_DC_Motors aLec43_BLDC_Servo_Stepper aLec44_Tachometer aLec45_ControlSystems aLec46_ControlSystemsExample |
ADC
Conversion
Techniques DC Motors, PWM, interface electronics (TIP120, snubber diodes) BLDC, Servos, Stepper Motors Input capture, tachometer interface Control Systems, Lab 10 demonstration |
4/19 | 6,8,10 3.5 10.6 |
Quiz 2 review Quiz 2, 4/21 |
|
4/26 | 11 |
aLec47_StepperMotors aLec48_OperatingSystems aLec49_Communications aLec49c_FFT.pptx aLec52_Bluetooth |
Finite State Machines, Stepper Motors Lab 11 programming demo Real-time operating systems Communication Theory FFT Theory and Implementation Bluetooth |
5/2 | 1.6 4.10 |
aLec50_Ethics aLec51_ScannedKeyboardLED Final_Review |
Ethics Keyboard Interfacing, Scanned LED Display Open house, final class competition, outside Lab |
Legal Stuff: The 12th class day is Feb 2. The drop policy is extremely complicated. See your academic advisor or the Dean of Students for more information. Course evaluation is conducted on the last class day in accordance with the Measurement and Evaluation Center form. The final exam is at the time and place stated in the course schedule. The University of Texas at Austin provides upon request appropriate academic adjustments for qualified students with disabilities. For more information, contact the Office of the Dean of Students with Disabilities at 471-6259, 471-4241 TDD.
Scholastic
dishonesty: "Faculty in the ECE
Department are committed
to detecting and responding to all instances of scholastic dishonesty
and will
pursue cases of scholastic dishonesty in accordance with university
policy.
Scholastic dishonesty, in all its forms, is a
blight
on our entire academic community. All parties in our community --
faculty,
staff, and students -- are responsible for creating an environment that
educates outstanding engineers, and this goal entails excellence in
technical
skills, self-giving citizenry, an
ethical integrity.
Industry wants engineers who are competent and fully trustworthy, and
both
qualities must be developed day by day throughout an entire lifetime.
Scholastic dishonesty includes, but is not limited to, cheating,
plagiarism,
collusion, falsifying academic records, or any act designed to give an
unfair
academic advantage to the student. The fact that you are in this class
as an
engineering student is testament to your abilities. Penalties for
scholastic
dishonesty are severe and can include, but are not limited to, a
written reprimand,
a zero on the assignment/exam, re-taking the exam in question, an F in
the
course, or expulsion from the University. Don't jeopardize your career
by an
act of scholastic dishonesty. Details about academic integrity and what
constitutes scholastic dishonesty can be found at the website for the
UT Dean
of Students Office and the General Information Catalog, Section
11-802."
You are encouraged to study together and to discuss information and
concepts
with other students. You can give "consulting" help to or receive
"consulting" help from such students in oral form. However, this
permissible cooperation should never involve one student having
possession of a
copy of all or part of work done by someone else, in the form of an
email, an
email attachment file, a portable storage device, or a hard copy.
Copying of
any part of a program is cheating without explicit reference to its
source. We
do enter lab assignments turned in by EE445L students through a
plagiarism
checker, comparing them to assignments of this and previous semesters.
If we
find two programs that are copied, there will be a substantial penalty
to both
students, e.g., failure in the course. Students who cheat on tests or
in lab
will fail. Prosecution of cases is very traumatic to both the student
and
instructor. It is appropriate to use software out of the book, class
website as
long as all copy-pasted software is explicitly referenced. Copy-pasting
software from current or past students is scholastic dishonesty.
Policies
concerning the use of other people's software in this class:
· I strongly
encourage you to study existing software.
· All applications
and libraries must be legally
obtained. E.g.,
You
may use libraries that came when you bought a compiler.
You
may use software obtained
from the web.
You
may copy and paste from the
existing source code.
· You may use any
existing source code that is clearly
referenced and categorized:
original:
completely written by
you,
derived:
fundamental approach
is copied but it is your implementation,
modified:
source code
significantly edited to serve your purpose,
copied:
source code includes
minor modifications.
The Digilent
Analog Discovery 2
is a low-cost but wonderful tool for this
class. It is not required, but very handy, especially if you need to
work at home this semester. This is a very low cost logic analyzer, especially useful for students doing hardware option.
https://www.amazon.com/Comidox-Analyzer-Device-Channel-Arduino/dp/B07KW445DJ/
Software applications
To complete EE445L labs it will take time outside of the 3 scheduled lab hours. It will be necessary for you to configure a development system on your laptop (Keil version 5.x, PuTTy, and Eagle). This way you will be mobile and flexible about where and when you work on lab. For Keil 5.33 installation see https://www.keil.com/demo/eval/arm.htm . For PuTTY see http://www.putty.org/ . To install Eagle, follow the Pre-assignment 1) at EE319K Spring 2022 PCB camp.
Request
samples (DIP or PDIP
package) You
will need to register with an
official University email address (e.g., YourName@mail.utexas.edu)
rather than
a junk email address (e.g., aol.com or gmail.com). For general
information on
getting free samples, see http://www.ladyada.net/library/procure/samples.html.
http://www.ti.com
Texas Instruments (we have ordered these for you) http://www.samtec.com/
SamTec connectors Search
engine for parts
http://octopart.com/ ABET Relationship of the Course
to Student Outcomes: All these apply to EE445L
http://www.analog.com/en/index.html Analog Devices
Analog Devices Sample request
AD8032ANZ rail-to-rail op amp
MAX5353ACPA+ or MAX5353BCPA+ single 3.3V-powered, 12-bit SPI interface DAC (ACPA or BCPA)
MAX552BCPA 12-bit multiplying DAC
MAX1246ACPE+ 3.3V-powered, 12-bit ADC, such as the (A or B, with or without +)
MAX5155ACPE dual 12-bit SPI interface DAC (ACPE or BCPE)
1) OPA2350PA rail-to-rail dual op amp for Lab 9.
2) LM4041CILPR adjustable shunt reference for Lab 5.
3) TLV5618ACP dual 12-bit DAC for Lab 5.
4) TPA731D audio amplifier for Lab 5.
10-pin LCD connector, BCS-110-L-S-TE (need 1 for the ST7735
LCD to connect to PCB)
Game
engine
http://www.3dgamestudio.com/
Hobby
parts http://www.sparkfun.com/
Surplus
http://www.allelectronics.com/
Full
line http://www.digikey.com/
http://www.mouser.com/
http://www.newark.com/
Put your embedded system in a
box (not free, but a good source for choices)
http://www.okw.co.uk/
OKW Enclosures Ltd
http://www.tekoenclosures.com/ Teko
Enclosures Solutions
http://www.pactecenclosures.com/
PacTec Enclosures
Curious about my research? See
http://users.ece.utexas.edu/~valvano/research
1) An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science and mathematics
2) An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
3) An ability to communicate effectively with a range of audiences
4) An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgements, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
5) An ability to function effectively on a team whose members tighter provide leadership, create a collaborative and inclusive environment, establish goas, plan tasks, and meet objectives
6) An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
7) An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
For more information see http://www.ece.utexas.edu/about/mission
Please review http://users.ece.utexas.edu/~valvano/emergency_terms.pdf
Every member of the university community
must take
appropriate and deliberate action when an emergency
strikes a building, a portion of the campus, or entire campus
community. Emergency preparedness means we
are all ready to act for our own safety and the safety of others during
a crisis. It takes an effort by all of us to
create and sustain an effective emergency preparedness system. Your
support is important to achieving the
best possible outcomes during a crisis event.
As a University faculty member, you are
responsible
for pointing out your classrooms' building emergency
evacuation routes and for reviewing emergency procedures with students
at the beginning of each semester.
This review should include a mention of the monthly emergency
communications test (every first Wednesday
at 11:50 a.m.) and the list of communications channels the university
uses during emergencies. It should also
include a review of the attached document outlining emergency terms
(e.g., the difference between “shelter-inplace”
and “lockdown”) and instructions for faculty and
students
to follow during emergencies. As a matter of
convenience, we recommend including this information in your syllabus
along with the phone number for the
Behavior Concerns Advice Line (BCAL: 512-232-5050). This is the number
to call if you have concerns
regarding the attitude or actions of students, staff, or other faculty.
Finally, at the end of your emergency
preparedness
review, request that students requiring assistance in
evacuation inform you in writing of their needs during the first week
of class. This information must then be
provided to the Fire Prevention Services office by fax (512-232-2759),
with "Attn. Mr. Roosevelt Easley" written
in the subject line.
Thank you in advance for taking the time
to ensure
the safety of your classroom. I assure you this small effort
can yield much greater rewards should the unthinkable happen. If you
would like more information regarding
emergency preparedness, visit http://www.utexas.edu/safety/preparedness/.
Emergency
Communications
Emergencies may range from
inclement weather, to building
evacuations, to campus closures, and the
university has a variety of tools to communicate with the public in the
event of these and other possible
emergencies. Depending on the type of emergency, we may use some or all
of the following tools to
communicate with faculty, staff and students:
Siren System
This system is tested around
noon on the first Wednesday of every
month, and delivers a siren warning
and public address in the event of certain outdoor emergencies. Read
more about the siren system.
Emergency Web Site
You may want to bookmark the
emergency Web site because it is
updated with information during
actual emergencies or campus closures.
Local Press and Social Media
University Communications staff
send emergency information to the
press and update social media with
public safety messages. Because of the transient nature of our
population, the university depends a great
deal on the press and social media to keep students, faculty, and staff
informed during campus
emergencies.
Pager System
Our campus first responders,
resident advisors, and some building
managers are part of the AWACS
paging system. The pagers send text messages about emergencies on
campus and alert city responders
(APD, AFD, EMS, Office of Emergency Management, etc.) to campus crisis
situations.
Fire Panel Systems
Residence halls are equipped
with fire panel systems that have a
public address capability. Resident
advisors are trained to use these systems in emergencies in order to
make announcements to the entire
building regarding evacuation, shelter in place, etc.
Text Alerts
The university collects cell
phone numbers from members of the
campus community for emergency text
messages. Sign up for campus text alerts online.
University Group E-mail
During emergencies, UT Safety
Alert sends an “urgent”
group e-mail to every student, faculty and staff
member. The e-mail directs individuals to the emergency Web site for
additional information and
instruction.
Voicemail to Office Telephones
This tool leaves a voice message
on every faculty and staff
member’s office phone on campus.
Cable TV
Residence halls and several of
our public gathering places have
cable televisions where emergency
announcements get posted.
Public Safety Patrol Car
Announcements
UTPD patrol cars are equipped
with PA systems, which officers can
use to provide instructions to
pedestrians during emergencies.
University Emergency
Information Line — 512-232-9999
Students, faculty, and staff can
call this main number for
information about campus closures.
The implementation of each tool described above is assigned to an
individual who has at least two backups who can also
carry out the communications task. Individuals with electronic
communication tools assigned to them have remote access
(from their homes, etc.) to those tools. The police department and the
associate vice president for Campus Safety and
Security are typically the ones who deliver emergency information to
university administration. Upon considering this
information, administration develops the messages and activates
campus-wide communications. The only exceptions to
this are the sirens and pager system, which are activated directly by
UTPD in extremely urgent situations where
immediate action is required.