Skip to main content
Version: FILS English

Welcome

Welcome to the Microprocessor Architecture class.

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

You takeaways from the course are:

  • learn how computer hardware works;
  • learning how a microprocessor (MCU) works, using as an example the STM32U5 MCU from the STM32 Nucleo-U545RE-Q and RP2 MCUs from the Raspberry Pi Pico W and Raspberry Pi Pico 2 W;
  • 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

Alexandru Radovici Alexandru Radovici

Course Professor
GitHub: alexandruradovici
alexandru.radovici@upb.ro

Gabriel Păvăloiu Gabriel Păvăloiu

Lab Professor
GitHub: GabrielPavaloiu
gabriel.pavaloiu@upb.ro

Teodor Dicu Teodor Dicu

Lab Professor
Responsible for hardware
GitHub: DTeodor-Alexaandru
teodor.dicu@wyliodrin.com

Dănuț Aldea Danut Aldea

Lab Professor
Responsible for software
GitHub: danutaldea
danut.aldea@oxidos.io

Andrei Zamfir Andrei Zamfir

Lab Professor
Responsible for hardware
GitHub: ZamfirAndreiPaul
andrei.zamfir@wyliodrin.com

Ioana Culic Ioana Culic

Lab Professor
GitHub: ioanaculic
ioana_maria.culic@upb.ro

Alexandru Ungureanu Alexandru Ungureanu

Lab Professor
GitHub: AlexU01
alexagungureanu@gmail.com

Layla El-Ghoul Layla El-Ghoul

Lab Professor
GitHub: ScarletWtc
layla.el@stud.fils.upb.ro

Cristiana Precup Cristiana Precup

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

Andrei Batasev Andrei Batasev

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

Genan Omer Genan Omer

Responsible for Lab Materials
GitHub: genan2003
genan.omer@stud.fils.upb.ro

Timetable

ActivityGroupDayHourRoomProfessor
Lectureall studentsTuesday10 - 12EC002Alexandru Radovici
Lab1241ECFriday (weeks 2-8)10 - 12EG 306Alexandru Radovici

Grading

PartDescriptionPoints
Lecture testsYou will have a test at every class with subjects from the previous class.1p
Final Lecture testYou will have a test at one of the lectures in January.4p
LabYour work at every lab will be graded.1p
ProjectYou will have to design and implement a hardware device. Grading will be done for the documentation, hardware design and software development.3p
Final TestYou will have to take an exam during the last lecture.2p
TotalYou will need at least 4.5 points to pass the subject.11p

Rules

  1. You can be absent without motivation at a maximum of 2 labs.
  2. Labs CANNOT BE RECOVERED
  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
  8. You need at least 4.5 points to pass the exam

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. Raspberry Pi Ltd, RP2350 Datasheet
  3. Raspberry Pi Ltd, RP2040 Datasheet
  4. Charles Platt, Encyclopedia of Electronic Components, Volumes 1, 2, 3
  5. 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_rp crate documentation
  2. embassy_rp examples rp2040
  3. embassy_rp examples rp235xa
  4. embassy_stm32 crate documentation
  5. embassy_stm32 examples stm32u5
  6. embassy_stm32 examples stm32f4