Table of Contents
Lectures
1. Introduction
2. Python basics
3. Raspbery Pi Pico
4. Serial communication buses
5. Internal and external peripheries
6. Low level access to registers
7. Multiprocessing, threads
8. Concurent programming
9. Programmable Input/Output
Lectures
1. Introduction
Topics: Computer organization, representation of numbers
Slides:
pdf
(to be updated)
2. Python basics
Link:
Python basics
3. Raspbery Pi Pico
Topics: Raspbery Pi Pico, RP2040, MicroPython
Slides:
pdf
Recording:
video
4. Serial communication buses
Topics: UART, SPI, I2C.
Slides:
pdf
,
older slides (informative)
Recording:
video
Simulations:
SPI
,
I2C
5. Internal and external peripheries
Topics: timers, keypad, display
Slides:
pdf
Simulations:
PWM
,
keypad
,
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
6. Low level access to registers
Simulations:
snake (bit operations)
,
7 segment display using 74hc595
(
website with explanation
)
Recording:
video
Task 2
Use shift registers 74hc595 to control more that one 7-segment display.
Ideas:
1
,
2
7. Multiprocessing, threads
Slides:
pdf
Lab:
Lab 07
8. Concurent programming
Simulation:
uasyncio
Recording:
video
Lab:
Lab 08
9. Programmable Input/Output
Recording:
video
Lab:
Lab 09