Skip to content

PRO TIP Block youtube.com at the DNS level — Pi-hole, NextDNS or your hosts file — but allow youtube-nocookie.com and i.ytimg.com. These tutorials keep playing; the rabbit hole does not.

Learning without distractions

Raspberry Pi Pico Lecture 6 (2025): Interfacing with a keypad

2K views on YouTube

0:00 – Administrivia
1:30 – Plan for today’s lecture
2:35 – Internal schematic of the keypad
3:40 – How does the microcontroller scan the keypad?
11:20 – Why do we require resistors on our output pins?
12:50 – Table of all valid key codes
13:55 – Encoding these key codes in an array
15:50 – Keypad scan code
23:40 – Why must we debounce the keypad?
25:25 – Software implementation of a debouncing state machine
30:45 – Relative rates of keypad scanning vs. keypad bouncing
31:50 – Where, in the debouncing state machine, do we generate a sound?
37:00 – Modifying the “beep beep” code such that it produces sound upon a keypress
44:45 – Birdsong synthesis via DDS
48:45 – Optimization by way of fundamental theorem of calculus

Spring, 2025 lectures from ECE 4760 (Digital Systems Design Using Microcontroller) at Cornell University.

Course site: https://ece4760.github.io
Hunter’s site: https://vanhunteradams.com