Course detail
Practical Training in Embedded Systems Design
FSI-0ES Acad. year: 2026/2027 Winter semester
The course guides students from designing the schematic and printed circuit board in KiCAD to a finished microcontroller-based product. In the lab, they learn soldering and assembly, prepare an enclosure using 3D printing and laser cutting, and perform device bring-up. They then develop firmware in the Arduino IDE and a simple desktop application in Python for control and visualization of measurements. The course includes work with a multimeter, oscilloscope, and signal generator; the outcome is a functional prototype accompanied by basic documentation
Supervisor
Learning outcomes of the course unit
Prerequisites
- Ability to read technical documentation in English.
- Basic programming knowledge (conditions, loops, functions).
- Basic electrical engineering knowledge (Ohm’s law, simple schematics).
- Optional but helpful: basic familiarity with the Arduino IDE / Python.
Planned learning activities and teaching methods
Assesment methods and criteria linked to learning outcomes
Credit (Pass) Requirements
- Attendance at laboratory sessions is mandatory (two absences permitted).
- To pass, you must submit a functional prototype with documentation and a short demo (2–3 minutes).
Language of instruction
Czech
Aims
The course provides a comprehensive path from embedded design to a functional prototype.
Upon completion:
- The student designs a basic schematic and PCB in KiCAD and prepares manufacturing files,
- The student assembles and solders their own board and performs a safe hardware bring-up.
- The student programs the MCU in the Arduino IDE and uses I/O, ADC, and UART.
- The student designs a simple Python GUI for board communication and data visualization.
- The student measures and evaluates basic device parameters using a multimeter and an oscilloscope.
Specification of controlled education, way of implementation and compensation for absences
The study programmes with the given course
Programme N-MET-P: Mechatronics, Master's
branch ---: no specialisation, 3 credits, elective
Programme B-MET-P: Mechatronics, Bachelor's
branch ---: no specialisation, 3 credits, elective
Type of course unit
Laboratory exercise
26 hours, compulsory
Syllabus
Introduction: MCU selection (Arduino), device functions, project brief.
KiCAD I: libraries, schematic — power, MCU, programming header, I/O, ADC input.
KiCAD II: layout — placement, routing, DRC; manufacturing files (Gerber/Drill/BOM/PNP) ready for ordering.
Mechanics – enclosure: box design (FreeCAD/Fusion), dimensions, panels/openings; quick prototype (3D print/laser).
Soldering I: THT/SMD techniques, ESD, inspection; partial assembly (power section).
Soldering II: full assembly, visual inspection; preparation for bring-up.
Hardware bring-up: power measurements, quiescent currents; first “blinky” (Arduino IDE).
Firmware peripherals: GPIO, timer, ADC measurement (1 channel), simple UART protocol.
Measurements in practice: multimeter, oscilloscope, generator; ADC validation (level, noise, aliasing).
Python GUI I: serial communication, basic window, reading states, writing to I/O.
Python GUI II: analog measurement plot (stream/acquisition), data saving, building the .exe.
Enclosure integration: final workshop adjustments, assembly, cabling.
Finalization: testing, demo, photo documentation, submission (FW + GUI + submission files).