GPIO Inputs and Outputs - an intermediate guide for Arduino and ESP projects
This is the first in a series of intermediate electronics tutorials for Arduino and ESP8266/ESP32 projects. In this video, I'll be covering General Purpose Input and Outputs (GPIO) - which are the essential component through which your microprocessor interacts with the outside world. Topics covered include digital/analog inputs and outputs, logic levels, floating inputs, pullup/pulldown resistors, PWM, ADC, high current applications, and port expanders. I'll be illustrating two practical examples of components that typically use a lot of GPIOs - an LCD display output, and a matrix keypad input, and how you can use a port expander such as a PCF8574 or MCP23017 to connect both these devices (and many more!) using only two GPIO pins on your microprocessor, via an I2C interface. 00:00:00 - 00:02:57 Introduction 00:02:58 - 00:03:29 GPIO pins 00:03:30 - 00:05:35 Digital I/O with HIGH and LOW logic 00:05:36 - 00:09:02 Floating Inputs, PULL-UP and PULL-DOWN resistors 00:09:03 - 00:12:36 Digital Outputs and 3.3V/5V logic levels 00:12:37 - 00:14:30 Controlling High Current Output using transistors 00:14:31 - 00:16:27 Analog Output using PWM 00:16:28 - 00:17:41 Analog Inputs using ADC 00:17:42 - 00:19:39 GPIO pin availability and port expanders 00:19:40 - 00:21:29 GPIO hungry components: LCDs and Keypads 00:21:30 - 00:29:10 PCF8574 Port Expander Demo 00:29:11 - 00:40:08 Arduino Code 00:40:09 - 00:43:08 Alternative Port Expanders: MCP23017 (I2C) / MCPS17 (SPI) 00:43:09 - 00:43:59 Wrapup For further details about this, or any of my other #escaperoom tutorial videos, please see / playfultech

Audio modules for electronics project

GPIO for any PC or Laptop: Adafruit FT232H

MCP23017 Port Expander and ESPHome: Add More I/O Pins to Your Project

How to use USB HID Devices as Arduino Inputs - Keyboards, Mice, Magstripe/Barcode readers, and more!

Building a MP3 and WAV player from a vintage rotary dial telephone

LoRa - Long-Range Radio for IoT | Arduino, ESP32, RPI Pico

Stop Buying Arduino Boards! Build Them for $3 Instead

I made REMOTE CONTROL clock hands using an ESP8266 over Wi-Fi!

Practical Guide to PCF8574: Adding Extra Pins for Arduino

ESP32 Guide 2026

I tried finding Hidden Gems on AliExpress AGAIN! (Part 19)

Port Register Control | Increase speed of Read/Write - Arduino101

Make HEAVY DUTY analog inputs for Arduino / ESP32 / RaspPi projects using.... plumbing valves?!

I Tried Every Major Linux Distro So You Don't Have To (Here's What I Found)

PCF8574 I2C GPIO Expander Tutorial

Don't Pick the Wrong OLED! I²C and SPI Explained for Arduino & ESP32

Whaaat?? How To Extract HEX Code from Arduino

Ultimate Guide to Programming LED Strips with Arduino | Wiring, Powering & Code with FastLED

Arduino To ESP32: How to Get Started!

