====== Lectures ====== ===== 1. Introduction, Raspbery Pi Pico ===== * Topics: [[courses:be2m37mam:labs:00|Python basics]], Raspbery Pi Pico, RP2040, MicroPython * Slides: {{ :courses:be2m37mam:lectures:mam-en-lec-03.pdf|pdf}} * Recording: [[https://drive.google.com/file/d/10OmfZZRuuv0mtuVntrgrqLwaBNvlpr8V/view?usp=drive_link|video]] * Older: {{ :courses:be2m37mam:lectures:mam-lec01.pdf|Computer organization, representation of numbers}} ===== 2. Internal and external peripheries ===== * Topics: timers, keypad, display * Slides: {{ :courses:be2m37mam:lectures:mam-en-lec-05.pdf |pdf}} * Simulations: [[https://wokwi.com/projects/381544990093713409|PWM]], [[https://wokwi.com/projects/381456134544490497|keypad]], [[https://wokwi.com/projects/381546275133217793|display]] * **Task 1** * combine the display and keypad so that the display shows the number pressed on the keypad. * advanced version: cooker clock - select number 1-9 on keypad, press ''#'' and display will count time in minutes down to 0 ===== 3. Serial communication buses ===== * Topics: UART, SPI, I2C. * Slides: {{ :courses:be2m37mam:lectures:mam-en-lec-04.pdf |pdf}}, {{ :courses:be2m37mam:lectures:mam8_enua.pdf |older slides (informative)}} * Recording: [[https://drive.google.com/file/d/1cw0wUfjzwh2MbgXw4x0g3TkXoFj96VRi/view?usp=drive_link|video]] * Simulations: [[https://wokwi.com/projects/380861562197134337|SPI]], [[https://wokwi.com/projects/380908961802689537|I2C]] ===== 4. Low level access to registers ===== * Topics: Memory mapped peripherals * Documents: {{ :courses:be2m37mam:lectures:rp2040-datasheet.pdf |}} * Simulations: [[https://wokwi.com/projects/382190457316202497|snake (bit operations)]] * Recording: [[https://drive.google.com/file/d/1hq2umx8T4mDyvCdMW4qtMwWHlFfnc_x6/view?usp=drive_link|video]] ===== 5. External circuits ===== * Topics: shift register 74HC595 * Documents: {{ :courses:be2m37mam:lectures:sn74hc595.pdf |}} * Simulations: [[https://wokwi.com/projects/382107961854193665|control LEDs using 74hc595]] ([[https://peppe8o.com/how-to-use-74hc595-shift-register-with-raspberry-pi-pico-and-micropython/|website with explanation]]) ===== 6. ARM assembler ===== * Slides: {{ :courses:be2m37mam:lectures:lec-2024-06-en.pdf |}} * Simulations: [[https://wokwi.com/projects/415795600532001793|LED blinking using ASM and Micropython]] * Lab: [[courses:be2m37mam:labs:06|Lab 06]] ===== 7. Multiprocessing, threads ===== * Slides: {{ :courses:be2m37mam:lectures:mam-en-lec-07.pdf |pdf}} * Lab: [[courses:be2m37mam:labs:07|Lab 07]] ===== 8. Concurent programming ===== * Simulation: [[https://wokwi.com/projects/384081414003419137|uasyncio]] * Recording: [[https://drive.google.com/file/d/1wId7_YWfD2K-zhqaUPAe4WVwxqw78IBl/view?usp=drive_link|video]] * Lab: [[courses:be2m37mam:labs:08|Lab 08]] ===== 9. Programmable Input/Output ===== * Recording: [[https://drive.google.com/file/d/1vf5YpDOFOIKvViWR28p7DzShtxSx6g6e/view?usp=drive_link|video]] * Lab: [[courses:be2m37mam:labs:09|Lab 09]]