ESP8266 WiFi Temperature Logger
This is a very simple demo that shows how the ESP8266 and Arduino can be used with a digital temperature sensor to update a remote server ( https://thingspeak.com/ ). The Internet of Thin…

Know the mission before touching a wire.
Understand what you are making, prepare the right tools, and make the workbench safe.
Project details
ESP8266 WiFi Temperature Logger is a iot project. This is a very simple demo that shows how the ESP8266 and Arduino can be used with a digital temperature sensor to update a remote server ( https://thingspeak.com/ ). The Internet of Thin…
- Source pages
- 932-936
- Named parts
- 6
- Build goal
- Working, tested prototype
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.
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.
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.
What's this?Image, role, pros, cons, handling & specifications

x ESP8266
A programmable controller that reads inputs, makes decisions, and drives the project's outputs.
What it does hereIt 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; similar-looking parts are not always interchangeable.
- Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
What's this?Image, role, pros, cons, handling & specifications

x Arduino Pro Mini 328 - 3.3V/8MHz
A programmable controller that reads inputs, makes decisions, and drives the project's outputs.
What it does hereIt 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 Arduino Pro Mini 328 - 3.3V/8MHz; similar-looking parts are not always interchangeable.
- Confirm operating voltage, logic level, pinout, memory, USB interface, and maximum GPIO current.
What's this?Image, role, pros, cons, handling & specifications

x DS18B20 Digital Temperature Sensor
A sensor converts a physical condition into an electrical signal the circuit can measure.
What it does hereIt provides project input as an analogue, digital, resistive, frequency, or calibrated signal.
Buy / compare this part ↗Advantages
- Adds real-world awareness
- Can usually be tested independently
- Often supports calibration
Limitations
- Readings can drift
- Placement affects results
- Some sensors need warm-up or calibration
Handling
- Protect the sensing surface
- Observe supply voltage and polarity
- Keep signal leads away from noisy power wiring
Specifications to verify
- Use the exact model, value, package, and rating listed for x DS18B20 Digital Temperature Sensor; similar-looking parts are not always interchangeable.
- Confirm supply range, output type, measurement range, accuracy, response time, and pin order.
What's this?Image, role, pros, cons, handling & specifications
PASSIVE LEARNING VIEWx 4.7k resistor
A passive component sets current, voltage, timing, filtering, or signal behaviour without adding gain.
What it does hereIts exact value and tolerance determine how the surrounding stage behaves.
Buy / compare this part ↗Advantages
- Simple and dependable
- Low cost
- Easy to measure before installation
Limitations
- A wrong value can stop or damage the circuit
- Ratings must not be exceeded
- Polarized parts require correct orientation
Handling
- Measure unclear values
- Observe capacitor polarity
- Avoid overheating leads while soldering
Specifications to verify
- Use the exact model, value, package, and rating listed for x 4.7k resistor; similar-looking parts are not always interchangeable.
- Confirm value, tolerance, power or voltage rating, polarity, and package size.
What's this?Image, role, pros, cons, handling & specifications

power source (3.3V up to 12V, I used a 9v)
A named project component whose exact role is defined by the source circuit and build guide.
What it does hereIt 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 power source (3.3V up to 12V, I used a 9v); similar-looking parts are not always interchangeable.
- Confirm dimensions, ratings, connection method, polarity, and environmental limits.
What's this?Image, role, pros, cons, handling & specifications

http://www.electrodragon.com/w/Wi07c#Firmware uploading tool Using a
A named project component whose exact role is defined by the source circuit and build guide.
What it does hereIt 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 http://www.electrodragon.com/w/Wi07c#Firmware uploading tool Using a; similar-looking parts are not always interchangeable.
- Confirm dimensions, ratings, connection method, polarity, and environmental limits.
Connect one verified path at a time.
Explore the named components and standardized signal flow, then use Source Check to verify exact physical pins, values, and topology before applying power.
Trace this circuit.
ESP8266 WiFi Temperature Logger: interactive parts, standardized terminals, responsive anchored wires, student explanations, and the original circuit reference in one shared system.
Trace before wiring
Follow power, ground, inputs, processing, and outputs in that order. Never guess a pin from package shape alone.
Connect with power off
Make short, labelled connections and share a common ground only where the schematic requires it.
Inspect every joint
Check continuity, polarity, adjacent shorts, and loose connections before the first power-up.
Open all source diagrams and build views 3 visuals



Confirm the hardware-only control path.
This project does not include firmware in the source. The circuit itself provides the required behaviour.
How to connect
- Match every controller label to the circuit view and source pin map.
- Join grounds before signal wires when separate low-voltage supplies are used.
- 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.
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.
How to upload code
The original design is implemented entirely in hardware, so proceed after verifying the circuit and supply.
Assemble, deploy, test, and troubleshoot.
Use the complete source notes in build order, then pass the final checks before calling the project finished.
Build in functional stages
- Power and regulation
- Controller or processing stage
- Inputs and sensors
- Outputs and loads
- Enclosure and strain relief
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
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
Follow the documented instructions.
These notes come from this project's source and remain in their original order.
Project overview
Project build noteThis is a very simple demo that shows how the ESP8266 and Arduino can be used with a digital temperature sensor to update a remote server ( https://thingspeak.com/ ). The Internet of Things (r)evolution is going through some very exciting times. Prices are going down, and people in the Maker community are excited to make the next generation of connected devices. The next set-up could be done for less than $20. This uses "expensive" components you can buy off the shelf, like Arduino, but you could programme your own MCU with UART support and make it cheaper.
Components Required
Project build note1 x ESP8266 1 x Arduino Pro Mini 328 - 3.3V/8MHz 1 x DS18B20 Digital Temperature Sensor 1 x 4.7k resistor 1 power source (3.3V up to 12V, I used a 9v) This is when things started to get hard. I spent a lot of time trying out different ways of setting things up. Note that the ESP8266 comes in two different forms. The first one has the LEDs right next to the pins on the board. The LEDs are by the antenna on the newer second one. The second one is mine. When I loaded V0.922, which let me change the baud rate to 9600, I got the best results. To load this firmware, do these things.
http://www.electrodragon.com/w/Wi07c#Firmware uploading tool Using a USB-to-TTL cable and a terminal like CoolTerm is the best way to test a
connection. To change the baud rate, use this command
Project build noteAT+CIOBAUD=9600 These are the pin connections I used to connect ESP8266 to USB-to-TTL. I powered the ESP8266 with the Arduino's 3.3v vcc, which is regulated. I know that the maximum output of Arduino vcc 3.3v is 150 mA and that the maximum output of ESP8266 is 240 mA. But at the time, I didn't have any other 3.3v that was stable. The ESP8266 is usually used at 70 mA. When you are uploading new firmware, don't forget to connect GPIO0 to GND. After that, take it out to get back to normal.
————————————————- UTXD --> RX (USB-to-TTL)
CH PD <—> VCC
Project build noteRST VCC --> VCC (power source) ————————————————-
GND --> GND (power source) GPIO2 GPIO0 URXD to TX (USB-to-TTL) ————————————————- *Note that USB-to-TTL GND to Arduino GND also had to be done. ESP8266 to Arduino ————————————————- UTXD --> RX Arduino
CH PD <—> VCC
Project build noteRST VCC --> VCC Arduino ————————————————- GND --> GND Arduino GPIO2 GPIO0 URXD --> TX Arduino ————————————————- Digital Temperature Sensor to Arduino ————————————————- Arduino GND — > DS18B20 GND(1) — > DS18B20 VDD (3) DS18B20 DQ(2) — > 4.7K R —> VCC Arduino 3.3v
ThinkSpeak is really cool. To start your own feed, just do these simple
things
Project build note1. Sign up at https://thingspeak.com/ for a FREE account. 2. Click on Channels -> Set up a new channel (you can leave all defaults) 3. Go to API Keys and get your KEY 4. Test by typing http://api.thingspeak.com/update?key= into your browser. [THINGSPEAK KEY]&field1=0 5. Check your results at http://api.thingspeak.com/channels/ [CHANNEL ID]/feed.json?key= [THINGSPEAK KEY] You are now ready to begin sending data.
You built ESP8266 WiFi Temperature Logger.
You followed the full workflow from understanding the mission to testing the finished project. That is a real engineering achievement - well done.
Browse all 500 projects