This guide explores analog input and output (I/O) with MicroPython. Previously you saw with digital I/O how values can be 'on' or 'off' depending on their high or low voltage value. You might wonder though can you deal with values somewhere in-between on and off or high and low? With analog signals you absolutely can go beyond simple digital on/off or high/low. In fact an analog signal can be any one of infinite values between on and off!
In this guide you'll see how to use an analog to digital converter (ADC) to read an analog voltage value. You'll also learn about a digital to analog converters (DAC) and pulse-width modulation (PWM) that let you go the other way and effectively output voltages of a certain value. Using analog I/O you can read sensors or potentiometers, and control the intensity of signals like when driving a speaker or just dimming a LED. MicroPython makes it just as quick and easy to perform analog I/O as it does digital I/O.
Before you get started you'll want to be familiar with the basics of using MicroPython by reading these guides: