TM1638 Display and Button Module | STM32 Tutorial #96
456 views on YouTube
In this video we will develop and describe a library for the TM1638 display&button module. We will also explain how to interface a 5V module with a 3.3V STM32 and how Open Drain GPIO is actually functioning.
TM1638 page on STM32world wiki: https://stm32world.com/wiki/TM1638
Github repository: https://github.com/lbthomsen/stm32-tm16xx
#STM32 #GettingStarted #Tutorial #STM32CubeMX #STM32CubeIDE #TM1638 #OpenDrain #STM32World #Streamline #Bitbang
00:00 Intro
00:51 welcome
01:23 Why I made this video now (and NOT earlier)
03:00 Wasted time because of a stupid wire
03:36 Module introduction and description
04:51 The module on AliExpress – down to $1 each
06:26 The TM1638 driver IC on JLCPCB – about $0.30 each
07:12 Going through the TM1638 Module datasheet
09:10 The important part – the built-in pull up resistors (!!!)
10:12 The TM1638 datasheet
12:40 The timing diagram (important!!!)
16:28 The STM32 GPIO architecture – the protection diodes (which makes it 5V tolerant)
18:03 GPIO input circuitry
19:15 GPIO output circuitry
19:51 GPIO in push-pull mode
20:28 Open Drain mode explained (pay attention!)
21:10 Simulating an open drain GPIO in CircuitJS
26:43 The broken jumper cable
30:30 Forgot a bit about Open Drain GPIO – they can be both output AND input
32:20 The STM32CubeIDE project (first time using cmake)
33:11 The tm1638.h header file – handler and function prototypes
35:06 Disclaimer – I don’t know where I nicked the code – if yours let me know
36:20 The micro-second delay using Data Watchpoint and Trace (DWT) unit
37:30 The low level functions
41:45 Writing and reading without changing direction of GPIO
43:21 The STM32CubeMX setup – the GPIO configuration
44:57 Using the tm1638 library in main
46:29 Running the code!
47:29 Final thoughts and outtro
Corrections:
18:34 Input low is below 0.98V high is above 1.7V
20:24 I meant shoot through CURRENT
30:17 I meant to say “breadboard” but I use them so rarely I forgot the name