Skip to main content
Version: ACS CC

Welcome

Welcome to the Microprocessor Programming (PM) class.

During the class you will learn how to design and implement a hardware device.

You takeaways from the course are:

  • learning how a microprocessor (MCU) works, using as an example the STM32U5 MCU from the STM32 Nucleo-U545RE-Q
  • building the hardware device either using a breadboard, a prototyping board or a printed circuit board (PCB);
  • learning how to develop the software that controls hardware in Rust;
  • presenting the hardware device at the PM Fair show.

Team

Daniel Rosner Daniel Rosner

Course Professor
daniel.rosner@upb.ro

Teodor Dicu Teodor Dicu

Lab board developer
GitHub: Teodor Dicu
teodor.dicu@upb.ro

Andrei Zamfir Andrei Zamfir

Lab Professor
GitHub: ZamfirAndreiPaul
andrei.zamfir@wyliodrin.com

Andrei Batasev Andrei Batasev

Lab Professor
GitHub: Pfat8equalsD
andrei.batasev@stud.acs.upb.ro

Cristiana Precup Cristiana Precup

Lab Professor
GitHub: cristianaprecup
cristiana.precup@wyliodrin.com

Dănuț Aldea Danut Aldea

Lab Professor
GitHub: danutaldea
george_danut.aldea@stud.acs.upb.ro

Eva Cosma Eva Cosma

Lab Professor
GitHub: Eva Cosma
eva.cosma@wyliodrin.com

George Popa George Popa

Lab Professor
GitHub: George Popa
george_matei.popa@stud.acs.upb.ro

Irina Bradu Irina Bradu

Lab Professor
GitHub: Irina Bradu
irina.bradu@wyliodrin.com

Irina Niță Irina Nita

Lab Professor
GitHub: irina-nita
irina.nita@oxidos.io

Timetable

ActivityGroupDayHourRoomProfessor
Lectureall studentsMonday18 - 20PR001Daniel Rosner
Lectureall studentsWednesday08 - 10PROO1Daniel Rosner
Lab331CC ATuesday12 - 14ED218Andrei Batasev
Lab333CC BTuesday12 - 14ED217Irina Bradu
Lab332CC ATuesday14 - 16ED218Andrei Batasev
Lab332CC BTuesday14 - 16ED217Irina Bradu
Cristiana Precup
Lab331CC BWednesday12 - 14ED218George Popa
Lab333CC AWednesday16 - 18ED218George Popa
Lab335CC AWednesday16 - 18ED217Eva Cosma
Lab334CC AWednesday18 - 20ED218Irina Niță
Lab334CC BWednesday18 - 20ED217Andrei Zamfir

Grading

PartDescriptionPoints
Lecture QuizzesBased on 2 quizzes held during the lecture.1p
LabBased on attendance; scaled by the mark from the Colocviu.1p
Lab ExamColocviu Laborator - Practical testing of lab skills.1p
ProjectYou will have to design and implement a hardware device. Grading will be done for the documentation, hardware design and software development.3p
ExamYou will have to take an exam during the session. This will be in written format.4p
TotalYou will need at least 5 points to pass the subject.10p

Rules

  1. You can be absent without motivation at a maximum of 2 labs.
  2. Labs CANNOT BE RECOVERED OUTSIDE THE CURRENT WEEK
  3. You can justify your absence from the lab (medical reasons) within a maximum of 2 weeks from the date of your absence
  4. Each student must come with their group to the lab, if there are problems you must announce in advance.
  5. You can be late for lab up to 10 minutes
  6. Students who are catching up on the subject can participate at labs only if there are free places
  7. You will need a github account with your full name and a real profile photo

Bibliography

Theory

  1. Joseph Yiu, The Definitive Guide to ARM® Cortex®-M23 and Cortex-M33 Processors

Hardware

  1. STMicroelectronics, *STM32U5 ARM 32bit Series Reference Manual
  2. Charles Platt, Encyclopedia of Electronic Components, Volumes 1, 2, 3
  3. Paul Scherz, Simon Monk, Practical Electronics for Inventors, 2nd edition

Software

  1. Steve Klabnik, Carol Nichols, The Rust Programming Language
  2. Rust Team, Rust Embedded, The Discovery book
  3. Raspberry Pi Ltd, Getting started with Raspberry Pi Pico-series

Crates

  1. embassy_stm32 crate documentation
  2. embassy_stm32 examples stm32u5
  3. embassy_stm32 examples stm32f4