Microprocessor Applications Laboratory
EEL4744L — Microprocessor Applications Laboratory
← Course Modules
Course Description
Microprocessor Applications Laboratory covers the practical applications of microprocessor-based systems, software and hardware interface. UWF notes that a grade of "C" or better is required in the prerequisites and that a material and supply fee will be assessed.
Within the SCNS taxonomy, EEL is the Electrical Engineering prefix. The University of West Florida publishes this at 1 semester hour through the Department of Electrical and Computer Engineering, College of Science and Engineering.
⚠⚠ This laboratory is not required by its own lecture, which makes it unusually easy to skip — and skipping it would be a mistake. EEL4744 lists a programming course and EEL3701 as prerequisites but does not list this laboratory, while this laboratory lists EEL4744 with the concurrent asterisk. The binding runs one way only, unlike the reciprocal pairs elsewhere in the prefix. For a subject whose entire value is hands-on interfacing, the laboratory is where the course actually happens.
Embedded work is the area where the gap between knowing and being able to do is widest. A student can describe SPI accurately and still be unable to make a sensor respond, because the failure is in a clock polarity bit, a missing pull-up, or a chip-select held low a microsecond too long. This laboratory is where that gap closes, and it closes only through the specific experience of a system that does not work and then does.
⚠ The contact-hour figure is derived — the University of West Florida publishes none
UWF's catalog publishes a credit value in semester hours, the college and department, prerequisites, and a description. It does not publish contact hours, a lecture and laboratory split, or terms of offering for any course. It does publish a material and supply fee notice on the minority of courses that carry one — and maintains a separate Material & Supply and Equipment Fees section of the catalog — so the absence of a fee notice on this entry is meaningful, while the fee amount is not published here. Every contact-hour value in a UWF guide in this repository is therefore derived. The figure here applies the convention established for engineering and science laboratories at UWF — 45 contact hours for 1 semester hour, matching the live EVR2001L and OCE1001L rather than the 30 used for allied-health laboratories. A 1-credit engineering laboratory meeting three hours a week for a fifteen-week term reaches 45, which is the usual shape. Confirm the meeting schedule with the department.
Learning Outcomes
Required Outcomes
- Set up and use an embedded development toolchain and debugger.
- Build, load, and run firmware on a target board.
- Use breakpoints, single stepping, and register inspection to debug firmware.
- Write and verify assembly language programs on hardware.
- Interface C and assembly in a working program.
- Configure and verify general purpose input and output.
- Apply pull-up and pull-down resistors correctly and justify the values.
- Implement and verify switch debouncing.
- Configure and verify interrupt-driven input.
- Measure interrupt latency and service routine duration.
- Configure timers for periodic interrupts and verify the period.
- Generate and measure pulse width modulation output.
- Configure analog-to-digital conversion and evaluate its accuracy.
- Implement and debug UART serial communication.
- Implement and debug SPI communication with a peripheral device.
- Implement and debug I2C communication with a peripheral device.
- Interface a sensor and convert its output to engineering units.
- Interface an actuator using appropriate drive circuitry.
- Use a logic analyser to diagnose a serial protocol failure.
- Verify timing against real-time requirements.
- Document firmware and hardware interfaces adequately.
Optional Outcomes
- Implement a small real-time scheduler or state machine framework.
- Measure and reduce power consumption using low-power modes.
- Implement direct memory access transfers.
- Integrate a display or wireless module.
- Implement a watchdog and demonstrate recovery.
- Complete an independent embedded design project.
Major Topics
Required Topics
- Toolchain, programmer, and debugger setup
- Firmware build and load workflow
- Hardware debugging: breakpoints and register inspection
- Assembly programming on hardware
- Mixing C and assembly
- GPIO configuration and verification
- Pull-ups, drive limits, and electrical interfacing
- Switch debouncing
- Interrupt-driven input
- Interrupt latency measurement
- Timers and periodic interrupts
- Pulse width modulation
- Analog-to-digital conversion
- UART communication
- SPI communication
- I2C communication
- Sensor interfacing and unit conversion
- Actuator drive circuitry
- Logic analyser use for protocol debugging
- Real-time timing verification
Optional Topics
- Simple schedulers and state machine frameworks
- Low-power modes and current measurement
- Direct memory access
- Displays and wireless modules
- Watchdog and recovery
- Independent design project
Resources & Tools
- The target processor's reference manual and datasheet — free from the vendor, and the document you will spend most of your time in.
- The vendor development environment — MPLAB X, STM32CubeIDE, or Code Composer Studio; free editions.
- The department's boards, programmers, and parts — covered by the material and supply fee.
- ⚠⚠ A logic analyser — inexpensive USB units with free software (sigrok/PulseView is free and open source). This is the single most valuable tool in the course: SPI and I2C failures are almost always visible on the wire and nearly invisible from inside the code.
- An oscilloscope — for the electrical side, where a logic analyser shows a clean digital abstraction of a signal that is actually marginal.
- A multimeter — for the unglamorous checks that solve most problems: is the supply right, is ground connected, is the pin actually at the level you think.
- A personal development board and parts kit — inexpensive, and the scheduling constraint on laboratory access is the main limit on how much practice a student gets.
- Ganssle's articles on debouncing and interrupt design — free and practical.
- Version control — git; being able to return to the last firmware image that worked is worth the setup time many times over.
Career Pathways
- Embedded systems and firmware engineering — SOC 17-2061 and 17-2071; this laboratory is the most directly job-relevant credit in the electrical engineering curriculum.
- Hardware and product validation — SOC 17-3023.
- Internet-of-things product development.
- Defence and aerospace embedded systems — L3Harris, Lockheed Martin, Northrop Grumman, and Eglin Air Force Base and NSA Panama City in UWF's region.
- Automotive and electric vehicle electronics.
- Medical device firmware — regulated and well compensated.
- Industrial control and instrumentation.
- Robotics and autonomous systems.
- ⚠ Embedded interviews are practical. Expect to be asked what
volatile does, how you would debounce a switch, and what you would check first when an I2C device does not respond — all three are answered by having done this laboratory.
Special Information
⚠⚠ The asterisk in a UWF prerequisite means the course may be taken at the same time
- UWF's catalog marks a concurrent course with an asterisk, defined on the catalog's Course Information page as: "This course may be taken prior to or during the same term."
- ⚠ This is the single most useful piece of notation in the UWF engineering catalog, and it is easy to miss. A prerequisite written without an asterisk must be completed first; one written with an asterisk may be taken in the same term.
- The practical effect is on time to degree. Reading an asterisked prerequisite as a hard prerequisite adds a term to the sequence for no reason, and in a tightly chained major like electrical engineering that error compounds down the whole plan.
- Confirm with an advisor before relying on it, and note that the registration system, not the catalog text, is what actually enforces the rule.
⚠⚠ The binding to EEL4744 runs one way — take them together anyway
- UWF publishes: (EEL4834 OR COP3014) AND (EEL3701L) AND (EEL4744*), with a grade of C or better required.
- EEL4744 is asterisked, so the lecture may be taken prior to or during the same term.
- ⚠⚠ But EEL4744 does not list this laboratory in return. Elsewhere in the prefix — EEL3111, EEL3701, EEL4712 — the lecture and laboratory each require the other, which effectively forces the pair. Here the requirement is one-directional, so a student can take the lecture alone without noticing they have skipped the laboratory.
- ⚠ For this subject specifically, that would be the wrong choice. Microprocessor work is a practical skill, employers screen for demonstrable hands-on experience, and the lecture alone produces someone who can describe SPI and not make it work.
- Note that EEL3701L, not EEL3701, is the listed prerequisite — the laboratory chain requires the earlier laboratory, which is consistent and easy to overlook when planning.
⚠⚠ UWF splits lecture from laboratory where many Florida institutions use one integrated C course
- UWF runs this material as a separate lecture and a separate laboratory, each with its own SCNS number and its own credit. Many other Florida institutions carry the same content in a single integrated C-suffix course.
- ⚠ The two are different SCNS numbers and SCNS equivalency does not cross numbers. A student transferring an integrated C course into UWF, or a UWF lecture-plus-lab pair out to an institution that runs the C variant, should expect the evaluation to be done by hand rather than automatically.
- Take the pair together where the department intends it. The asterisk notation described above usually permits exactly that.
- ⚠ Carry a syllabus when transferring either half. Half of an integrated course is the hardest case for a receiving evaluator to resolve from a transcript line alone.
⚠ A material and supply fee is assessed for this course
- UWF publishes a fee notice on this entry but not the amount. The amount is in the catalog's separate Material & Supply and Equipment Fees section, and it is charged in addition to tuition.
- ⚠ Budget for it. Laboratory fees are billed with tuition and are not always visible when a student estimates the cost of a term from credit hours alone.
- Check whether the fee covers consumables you would otherwise buy — components, boards, and kits are frequently included, which changes the real cost comparison.
⚠⚠ Debugging method, because this is where the hours go
- Check the physical layer first, every time. Power, ground, and continuity. A large share of embedded failures are a wire in the wrong hole, and ruling it out costs thirty seconds.
- ⚠ Get a blinking LED working before anything else on a new board. It proves the toolchain, the programmer, the clock configuration and the power are all correct — debugging a complex program on an unproven board is debugging two problems at once.
- ⚠⚠ When a serial peripheral does not respond, put the logic analyser on it. The bus shows whether the clock is running, whether the device acknowledged, and whether the polarity and phase are right. Guessing at register settings without looking at the wire is the slowest possible approach, and it is what most students do first.
- I2C needs pull-up resistors on both lines, and the bus is open-drain — without them nothing works, and the symptom is silence rather than an error.
- SPI has four mode combinations of clock polarity and phase. The wrong one produces data that is shifted or garbage, and the datasheet states which the device expects.
- ⚠ Change one thing at a time. Changing three settings and retesting means not knowing which mattered, and it is how a fixable problem becomes an unfixable one.
- Print or toggle a pin to trace execution when a debugger would disturb timing — a pin toggled at the start and end of an ISR shows its duration on a scope directly.
⚠ Hardware you can destroy, and how not to
- Check pin voltage and current limits before connecting anything. A microcontroller pin cannot drive a motor, a relay, or a solenoid directly — use a transistor or driver, and add a flyback diode across any inductive load.
- ⚠⚠ Mixing voltage domains destroys parts. Connecting a 5 V output to a 3.3 V input without level shifting is a common and expensive mistake, and the damage may be partial rather than obvious.
- ⚠ Never hot-plug connections to a powered board if it can be avoided; power down, rewire, verify, power up.
- Observe electrostatic discharge precautions. Partial ESD damage produces a device that works intermittently, which is far more costly to diagnose than one that is plainly dead.
- Verify polarity on external supplies before connecting. Reverse polarity is usually terminal.
Course format and position in the curriculum
- Scheduled laboratory sessions with pre-laboratory preparation, exercises, and reports, frequently ending in a design project.
- Taken alongside EEL4744, normally in the fourth year.
- ⚠ The 45-hour figure assumes a three-hour weekly session across fifteen weeks. UWF publishes no hours; confirm with the department.
- ⚠⚠ The real time commitment substantially exceeds the scheduled hours — embedded debugging is not bounded by the session, and this is among the most demanding 1-credit courses in the curriculum.
- A material and supply fee is assessed, with the amount published separately.
- Keep everything you build. A documented embedded project with code and photographs is a stronger job application than a transcript line.
FE exam relevance
The Fundamentals of Engineering (FE) exam is the first step toward Professional Engineer licensure, and in Florida it is administered under the Florida Board of Professional Engineers. Most students take the FE Electrical and Computer exam in their final year. Licensure matters less in electrical engineering than in civil — the industrial exemption means most electrical engineers in manufacturing and product work never need a PE — but it is required for consulting practice, for sealing designs, and for power and building-systems work, which is exactly where Florida's utility and infrastructure employment sits.
How Florida course levels affect transfer
The first digit of an SCNS number denotes the year of offering, not transferability. Courses at the 1000 and 2000 levels transfer transparently between Florida public institutions, and 3000 to 4000 is unproblematic since both are upper division. The boundary that actually matters is 2000 to 3000, where lower-division credit generally cannot satisfy an upper-division requirement. ⚠ For engineering specifically, ABET-accredited programmes commonly require that upper-division engineering coursework be taken in residence, so transferability of the credit and applicability to the degree are separate questions.
EEL4744L is 1 semester hour at the University of West Florida, taken with the 3-semester-hour EEL4744. Institutions carrying the integrated EEL4744C combine both in one course.