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 RP2040 MCU from the Raspberry Pi Pico 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

Timetable

ActivityGroupDayHourRoomProfessor
Lectureall studentsFriday10 - 12AN024Alexandru Radovici
Lab1221Aa - first halfThursday8 - 10ED 218Andrei Zamfir
Lab1221Ab - second halfThursday12 - 14ED 217Ioana Culic
Lab1221Ba - first halfThursday10 - 12ED 218Cristiana Precup
Layla El-Ghoul
Lab1221Bb - second halfThursday14 - 16ED 217Alexandru Ungureanu
Lab1221Ca - first halfFriday14 - 16ED 218Teodor Dicu
Lab1221Cb - second halfThursday8 - 10ED 217Alexandru Ungureanu
Lab1221DThursday10 - 12ED 217Andrei Batasev
Lab1222EEAThursday14 - 16ED 218Dănuț Aldea
Lab1222EEBThursday12 - 14ED 218Teodor Dicu

Grading

PartDescriptionPoints
Lecture testsYou will have a test at every class with subjects from the previous class.2p
LabYour work at every lab will be graded.2p
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.4p
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

Hardware

  1. Joseph Yiu, The Definitive Guide to ARM® Cortex®-M0 and Cortex-M0+ Processors, 2nd Edition
  2. Joseph Yiu, The Definitive Guide to ARM® Cortex®-M23 and Cortex-M33 Processors
  3. Charles Platt, Encyclopedia of Electronic Components, Volumes 1, 2, 3
  4. Paul Scherz, Simon Monk, Practical Electronics for Inventors, 2nd edition
  5. Raspberry Pi Ltd, RP2040 Datasheet

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
  4. embassy_rp crate documentation
  5. embassy_rp examples
  6. Raspberry Pi Pico Python SDK
  7. Connecting to the Internet with Raspberry Pi Pico W