The examples in this guide are no longer supported and may not work. We are only supporting CircuitPython on our boards. For more information about using analog I/O with CircuitPython, check out the CircuitPython Essentials: https://learn.adafruit.com/circuitpython-essentials/circuitpython-analog-in and https://learn.adafruit.com/circuitpython-essentials/circuitpython-analog-out
Note this guide was written for MicroPython.org firmware and not Adafruit CircuitPython firmware.

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:

This guide was first published on Sep 06, 2016. It was last updated on Mar 08, 2024.

This page (Overview) was last updated on Mar 08, 2024.

Text editor powered by tinymce.