STEP 1 / 6ESP + IOT

ESP8266 ADC – Read Analog Values with Arduino IDE, MicroPython and Lua

MicroPython and Lua Both the ESP8266-12E and the ESP8266-07 have an easy-to-reach ADC pin. This means that the analogue signals can be read by these ESP8266 boards. In this tutorial, we'l…

ESP8266 ADC – Read Analog Values with Arduino IDE, MicroPython and Lua - source illustration from page 1032
PROJECT#428
TRACKIoT
PARTS05
STAGES06
STEP 1 / 6 · Overview

Know the mission before touching a wire.

Understand what you are making, prepare the right tools, and make the workbench safe.

01

Project details

ESP8266 ADC – Read Analog Values with Arduino IDE, MicroPython and Lua is a iot project. MicroPython and Lua Both the ESP8266-12E and the ESP8266-07 have an easy-to-reach ADC pin. This means that the analogue signals can be read by these ESP8266 boards. In this tutorial, we'l…

Source pages
1031-1034
Named parts
5
Build goal
Working, tested prototype
02

Tools you need

  • Digital multimeter
  • Wire stripper and side cutters
  • Soldering iron with a fine tip
  • Current-limited bench supply
  • Computer with a data-capable USB cable

Use eye protection, good lighting, and a clean insulated surface throughout the build.

03

Safety precautions

  • Disconnect every power source before changing a connection.
  • Check component polarity, pinout, and supply voltage twice.
  • Use a current limit for the first power-up.
  • Keep liquids, loose metal, and uninsulated wires away from the bench.
Ready to continue?
STEP 2 / 6 · Parts library

Gather, identify, and understand every part.

Use the standardized inventory, then open What's this? to learn each part's role, advantages, limitations, handling, and specifications.

NAMED PROJECT INVENTORY5 PART LINES
PARTTYPEQTYREADY
MESP8266-12E NodeMCU Kit is suggested (read ESP8266MODULE1
What's this?Image, role, pros, cons, handling & specifications
NodeMCU ESP8266 development boardMODULE LEARNING VIEW

ESP8266-12E NodeMCU Kit is suggested (read ESP8266

A programmable controller that reads inputs, makes decisions, and drives the project's outputs.

What it does here

It is the control centre and must use the documented board, pin map, supply, and logic level.

Buy / compare this part

Advantages

  • Reprogrammable and reusable
  • Large learning ecosystem
  • Complex behaviour remains changeable

Limitations

  • GPIO voltage and current are limited
  • Some pins affect boot or communication
  • Loads normally need a driver

Handling

  • Disconnect power before rewiring
  • Avoid static discharge
  • Never power motors, relays, or pumps directly from GPIO

Specifications to verify

  • Use the exact model, value, package, and rating listed for ESP8266-12E NodeMCU Kit is suggested (read ESP8266; similar-looking parts are not always interchangeable.
  • Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
Pdevelopment boards comparison)PART1
What's this?Image, role, pros, cons, handling & specifications
ESP8266 ADC – Read Analog Values with Arduino IDE, MicroPython and Lua - source illustration from page 1032PART LEARNING VIEW

development boards comparison)

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for development boards comparison); similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
Mx ESP8266-07 chip or 1x ESP8266-12E chip plus an FTDIMODULE1
What's this?Image, role, pros, cons, handling & specifications
ESP8266 ADC – Read Analog Values with Arduino IDE, MicroPython and Lua - source illustration from page 1032MODULE LEARNING VIEW

x ESP8266-07 chip or 1x ESP8266-12E chip plus an FTDI

A programmable controller that reads inputs, makes decisions, and drives the project's outputs.

What it does here

It is the control centre and must use the documented board, pin map, supply, and logic level.

Buy / compare this part

Advantages

  • Reprogrammable and reusable
  • Large learning ecosystem
  • Complex behaviour remains changeable

Limitations

  • GPIO voltage and current are limited
  • Some pins affect boot or communication
  • Loads normally need a driver

Handling

  • Disconnect power before rewiring
  • Avoid static discharge
  • Never power motors, relays, or pumps directly from GPIO

Specifications to verify

  • Use the exact model, value, package, and rating listed for x ESP8266-07 chip or 1x ESP8266-12E chip plus an FTDI; similar-looking parts are not always interchangeable.
  • Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
PPotentiometerPART1
What's this?Image, role, pros, cons, handling & specifications
ESP8266 ADC – Read Analog Values with Arduino IDE, MicroPython and Lua - source illustration from page 1032PART LEARNING VIEW

Potentiometer

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for Potentiometer; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
BBreadboard, SwitchersBUILD1
What's this?Image, role, pros, cons, handling & specifications
ESP8266 ADC – Read Analog Values with Arduino IDE, MicroPython and Lua - source illustration from page 1032BUILD LEARNING VIEW

Breadboard, Switchers

A named project component whose exact role is defined by the source circuit and build guide.

What it does here

It performs a documented electrical, control, interface, or construction function in this project.

Buy / compare this part

Advantages

  • Selected for this project
  • Can be checked independently
  • Supports modular troubleshooting

Limitations

  • Substitutes may differ
  • Generic names can hide variants
  • Pinouts and ratings vary

Handling

  • Compare the received part with the source
  • Keep it labelled
  • Do not force connectors or adjusters

Specifications to verify

  • Use the exact model, value, package, and rating listed for Breadboard, Switchers; similar-looking parts are not always interchangeable.
  • Confirm dimensions, ratings, connection method, polarity, and environmental limits.
Ready to continue?
STEP 4 / 6 · Source code

Confirm the hardware-only control path.

This project does not include firmware in the source. The circuit itself provides the required behaviour.

01

How to connect

  1. Match every controller label to the circuit view and source pin map.
  2. Join grounds before signal wires when separate low-voltage supplies are used.
  3. Keep motors, relays, pumps, and other loads on a suitable driver and external supply.

Common mistakes

Reversed VCC/GND, board-label versus GPIO-number confusion, missing common ground, and charge-only USB cables.

Troubleshoot

Disconnect loads, continuity-test one path at a time, then test with a current limit.

02

Software preparation

No IDE, board package, library, or firmware upload is required for this project.

If you add a programmable controller as an extension, document its pin map separately.

03

How to upload code

The original design is implemented entirely in hardware, so proceed after verifying the circuit and supply.

Ready to continue?
STEP 5 / 6 · Build

Assemble, deploy, test, and troubleshoot.

Use the complete source notes in build order, then pass the final checks before calling the project finished.

ASSEMBLY

Build in functional stages

  • Power and regulation
  • Controller or processing stage
  • Inputs and sensors
  • Outputs and loads
  • Enclosure and strain relief
TEST

Power up safely

  • Inspect unpowered continuity first
  • Apply the lowest safe current limit
  • Measure supply rails before signals
  • Add one load at a time
  • Record expected and actual results
TROUBLESHOOT

Work from simple to complex

  • Confirm power, ground, polarity, and orientation
  • Compare each pin with the source
  • Test inputs separately from outputs
  • Replace only one variable at a time
  • Power off before every correction
PROJECT-SPECIFIC BUILD NOTES

Follow the documented instructions.

These notes come from this project's source and remain in their original order.

01

Project overview

Project build note

MicroPython and Lua

Both the ESP8266-12E and the ESP8266-07 have an easy-to-reach ADC pin. This means that the analogue signals can be read by these ESP8266 boards. In this tutorial, we'll show you how to use Arduino IDE, MicroPython, or Lua firmware to read analogue data from an ESP8266.

02

This project is divided in three sections

Project build note

1. ESP8266 Analog Read with Arduino IDE 2. ESP8266 Analog Read with MicroPython 3. ESP8266 Analog Read with Lua/NodeMCU ESP8266 ADC Specifications When talking about the ESP8266 ADC pin, these terms are often used

03

interchangeably

Project build note

ADC (Analog-to-digital Converter) TOUT Pin6 A0

Analog Pin 0 All these terms refer to the same pin in the ESP8266. ESP8266 ADC Resolution The 10-bit resolution of the ADC pin means that you can get values between 0 and 1023. ESP8266 Input Voltage Range If you are using the bare chip, you can put 0V to 1V on the ADC pins. But most ESP8266 development boards have a voltage divider built in, so the

04

input range is from 0V to 3.3V. So, in conclusion

Project build note

ESP8266 Analog Pin With the ESP8266 12-E NodeMCU kit and other ESP8266 development boards, it's easy to get to the A0. Just connect a jumper wire to the pin.

05

Part Required

Project build note

ESP8266-12E NodeMCU Kit is suggested (read ESP8266 development boards comparison) 1x ESP8266-07 chip or 1x ESP8266-12E chip plus an FTDI programmer is another option. If you are using a bare chip, you will need a 100 Ohm resistor. If you're using a bare chip, you'll need a 220 Ohm resistor. 1k Ohm Potentiometer Breadboard, Switchers

06

Schematic Diagram

Project build note

If you are using an ESP8266 chip with an input voltage range of 0V to 1V, the input voltage on the A0 pin can't be more than 1V. So, you need a voltage divider circuit. Wrapping Up In this guide, we showed you how to use the ESP8266 analogue pin to read analogue values (A0). One important thing to remember is that the ESP8266 analogue input range is either 0-1V or 0-3.3V, depending on whether you're using a bare chip or a development board. No matter what, you should never go over the maximum voltage that is recommended. When you need a wider range of input voltage, you might want to add a voltage divider circuit.

Ready to continue?
PROJECT ACHIEVED

You built ESP8266 ADC – Read Analog Values with Arduino IDE, MicroPython and Lua.

You followed the full workflow from understanding the mission to testing the finished project. That is a real engineering achievement - well done.

Hack a PIR Motion Sensor with an ESP8266 project thumbnail featuring Putting the wires together, Putting the ESP8266 code on paper and uploading it, ESP8266
NEXT IOT ADVENTURE

Hack a PIR Motion Sensor with an ESP8266

Ready to reuse what you learned in another project from the same track?

Start this project
Browse all 500 projects