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 RP2040 MCU from the Raspberry Pi Pico W as well as a Atmega328P;
- learning how to design your hardware schematics using KiCad and how to create the bill of materials (BOM) for it;
- 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;
- learning how to develop the software that controls hardware in C;
- presenting the hardware device at the PM Fair show.
Team
Daniel Rosner
Course Professor | Irina Niță
Lab Professor | Irina Bradu
Lab Professor |
Gabriel Păvăloiu
Lab Professor | Andrei Zamfir
Lab Professor | Teodor Dicu
Lab Professor |
Alexandru Ungureanu
Lab Professor |
Timetable
Activity | Group | Day | Hour | Room | Professor |
---|---|---|---|---|---|
Lecture | all students | Wednesday | 08 - 10 | EC105 | Daniel Rosner |
Lecture | all students | Monday | 18 - 20 | PR001 | Daniel Rosner |
Lab | 331CC A | Tuesday | 12 - 14 | ED218 | Teodor Dicu |
Lab | 331CC B | Tuesday | 12 - 14 | ED217 | Irina Bradu |
Lab | 332CC A | Tuesday | 14 - 16 | ED218 | Irina Niță |
Lab | 332CC B | Tuesday | 14 - 16 | ED217 | Irina Bradu |
Lab | 333CC A | Wednesday | 16 - 18 | ED218 | Teodor Dicu |
Lab | 333CC B | Wednesday | 16 - 18 | ED217 | Alexandru Ungureanu |
Lab | 334CC A | Wednesday | 18 - 20 | ED218 | Andrei Zamfir |
Lab | 334CC B | Wednesday | 18 - 20 | ED217 | Alexandru Ungureanu |
Lab | 335CC A | Thursday | 18 - 20 | ED218 | Andrei Zamfir |
Lab | 335CC B | Thursday | 18 - 20 | ED217 | Gabriel Păvăloiu |
Grading
Part | Description | Points |
---|---|---|
Lecture tests | You will have a test every few classes with subjects from the previous class (will pe anounced). | 2p |
Lab | Your work at every lab will be graded. | 1p |
Lab | Final Lab Assigment (Final Lab Test) | 1p |
Project | You will have to design and implement a hardware device. Grading will be done for the documentation, hardware design and software development. | 3p |
Exam | You will have to take an exam during the session. This will be in written format. | 3p |
Total | You will need at least 5 points to pass the subject. | 10p |
Rules
- You can be absent without motivation at a maximum of 2 labs.
- Labs CANNOT BE RECOVERED OUTSIDE THE CURRENT WEEK
- You can justify your absence from the lab (medical reasons) within a maximum of 2 weeks from the date of your absence
- Each student must come with their group to the lab, if there are problems you must announce in advance.
- You can be late for lab up to 10 minutes
- Students who are catching up on the subject can participate at labs only if there are free places
- You will need a github account with your full name and a real profile photo
Bibliography
Hardware
- Joseph Yiu, The Definitive Guide to ARM® Cortex®-M0 and Cortex-M0+ Processors, 2nd Edition
- Joseph Yiu, The Definitive Guide to ARM® Cortex®-M23 and Cortex-M33 Processors
- Charles Platt, Encyclopedia of Electronic Components, Volumes 1, 2, 3
- Paul Scherz, Simon Monk, Practical Electronics for Inventors, 2nd edition
- Raspberry Pi Ltd, RP2040 Datasheet
Software
- Steve Klabnik, Carol Nichols, The Rust Programming Language
- Rust Team, Rust Embedded, The Discovery book
- Raspberry Pi Ltd, Getting started with Raspberry Pi Pico-series
- embassy_rp crate documentation
- embassy_rp examples
- Raspberry Pi Pico Python SDK
- Connecting to the Internet with Raspberry Pi Pico W