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

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).