October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PCOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

Wi‑Fi Microphone with ESP‑12 (ESP8266): Arduino Source Code, Wiring and Limits

A practical guide to WiCardTech’s ESP8266 Wi‑Fi microphone source code, including documented sensor and LM386 circuits, ESP‑12 power and ADC limits, setup steps, calibration, browser streaming behavior and realistic audio quality.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

WiCardTech’s ESP8266 Wi‑Fi Microphone project turns an amplified analog microphone signal on A0 into a browser-playable stream over a local Wi‑Fi network. The repository contains the main ESP8266WiFiMicrophoneFree.ino sketch, configuration files (AC.h and AC.ino), and the browser application/audio decoder in MicPage.ino. It is a practical low-fidelity monitor, not a high-quality audio recorder.

What this ESP‑12 microphone project does

After you upload the firmware to an ESP8266 board or ESP‑12 module, the device samples an amplified microphone waveform through A0, connects to a configured router (or uses its documented hotspot/configuration pages), and serves an audio page. Open that page at the module’s local address to hear the stream in a browser.

The project documentation specifies an 8,000 Hz sample rate, 10-bit resolution, and selectable stream settings of 60, 70, or 80 Kbps. WiCardTech describes the resulting sound as low quality; the higher settings also require a stronger Wi‑Fi signal. These are the project author’s implementation specifications, not independent benchmark results.

Source files and Arduino setup

  1. Obtain the WiCardTech project files, keeping ESP8266WiFiMicrophoneFree.ino, AC.h, AC.ino, and MicPage.ino together in the sketch folder.
  2. Install the ESP8266 board support package in the Arduino IDE and select the exact ESP8266 board or module you are using.
  3. Enter the project’s Wi‑Fi and access settings in its configuration pages/files, then compile and upload over the board’s available programming interface.
  4. Use the device’s router-assigned local address (or the address shown by its configuration workflow) to open the audio page in a browser.

The repository also documents a calibration page. Complete calibration after the microphone amplifier and board are powered and connected, rather than assuming that a midpoint or gain value is correct for every microphone circuit.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Hosyond 3Pcs ESP8266 ESP-12E CP2102 NodeMCU Lua Wireless Module Development Board for Arduino IDE/Micropython
  • Not only it is easy to program for this controller by using the CP2102-USB interface,but also unnecessary to press the flash and reset buttons before each flash operation.
  • NodeMcu is an open source Lua based firmware for the ESP8266, ultra low cost wireless modules, development boards for rapid prototyping, integrated with ESP8266 chips.
  • The ESP8266 has powerful on-board processing and storage capabilities, and can be integrated with sensors and other application-specific devices through its GPIOs.
  • It is compatible with Arduino IDE,works great with the latest Mongoose IoT/Micropython.
  • Modern Internet development tools can use the built-in API to instantly put your idea on the fast track.

Choose a documented microphone circuit

Hardware path Build effort What to verify Gain/noise control
WaveShare sound-sensor module + NodeMCU Lowest; the sensor provides a conditioned output Confirm the module’s output range is safe for your board’s A0 implementation Usually adjusted on the sensor module; exact control depends on its design
Electret/capacitive microphone + LM386 + NodeMCU Moderate; requires microphone, amplifier, wiring and suitable supply Check the NodeMCU schematic for A0 input scaling and keep the chip ADC within its limit LM386 input potentiometer trades sensitivity against noise
Electret/capacitive microphone + LM386 + ESP8266MOD/ESP‑12 Highest; you must provide module power, programming connections and the analog front end Provide the correct A0 conditioning and ESP‑12 boot/programming circuitry Lower gain reduces noise but can lose quiet sounds; higher gain captures quieter sounds with more noise

The sources do not identify a single tested microphone capsule or provide a controlled comparison between these circuits. Select the simplest option whose output conditioning and power arrangement you can verify.

A0 voltage safety: do not assume every ESP8266 board is the same

The ESP8266 Arduino Core 2.2.0 reference specifies a 0–1.0 V range at the bare chip’s external ADC input. Development boards may add an input divider or other scaling, so a NodeMCU A0 connector is not automatically equivalent to the ADC pin on an ESP‑12 module.

Rank #2
Hosyond 5Pcs D1 Mini NodeMcu ESP8266 ESP-12F WiFi Module Development Board Compatible with Arduino/WeMos D1 Mini
  • It is a mini NodeMcu Lua Wireless development board based on ESP-8266.
  • Compatible with Arduino IDE and WeMos D1 Mini.
  • 4M bytes, 5V 1A switching power supply onboard,1MB flash memory; 500mA resettable fuse.
  • 11 digital input/output pins, all pins with interrupt/PWM/I2C/1-wire support (except D0); 1 analog input (3.2V max input). Micro USB connection.
  • D1 mini development board compatible with Arduino WeMos and can be programmed in the compatible for Arduino IDE.
  • Find the schematic for the exact board revision or module carrier you will use.
  • Determine whether its A0 input has a divider and what voltage appears at the ESP8266 ADC pin.
  • Keep the actual chip input within the documented limit; never connect an unknown amplifier output directly.
  • Audio is bipolar, while the ADC cannot read negative voltage. Use the circuit’s documented biasing/conditioning so the silent signal is centered in the safe range, then calibrate.

An LM386 or sensor output that is acceptable on one development board can overdrive the bare ESP‑12 ADC on another. This electrical check is more important than matching the part names in the example diagrams.

Power arrangement for an ESP‑12 build

WiCardTech’s illustrated regulated circuit calls for a 5–12 V supply feeding an LF33 regulator, while explicitly requiring the ESP8266 module itself to receive 3.3 V. That recommendation applies to the complete regulator-based circuit; it is not a universal ESP8266 input-voltage rule.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
HiLetgo 3pcs ESP8266 ESP-01 Serial WiFi Wireless Transceiver Wireless Module Development Board LWIP AP+STA Compatible with Arduino
  • ESP8266 has powerful on-board processing and storage capabilities
  • Support 3 modes: AP, STA, AP + STA
  • Feed the regulator only within the range specified for the illustrated circuit.
  • Measure the regulated rail before connecting an ESP‑12.
  • Do not apply 5–12 V directly to the module’s 3.3 V supply pin.
  • Provide a stable common ground between the microphone amplifier, ADC reference/ground, regulator and ESP8266.

NodeMCU boards often include their own regulation and USB power arrangement, but you still need to verify the board documentation before applying an external supply.

Audio quality, buffering and delay

What the documented settings mean

At 8 kHz and 10 bits, the project is suited to speech or environmental monitoring rather than music. The selectable 60, 70 and 80 Kbps modes affect the stream setting; WiCardTech warns that the higher modes need better Wi‑Fi conditions.

Rank #4
DIYmall ESP8266 ESP-01S WiFi Serial Transceiver Module with 4MB Flash
  • 4MB Flash Memory
  • Latest version esp-01s, with stronger signal
  • Document: https://nurdspace(dot)nl/ESP8266
  • About program: Please choose "Generic ESP8266 Module" board in Arduino-IDE to program
  • What You Get: 1 X ESP8266-01S Module

Browser behavior

The web application initially loads its decoder, receives audio while playing, and stores audio in the browser cache. Closing the page aborts the recording/stream session. The README says one page can be handled at a time, so do not expect several simultaneous listeners from the same module.

Latency

M. Mahdi K. Kanan’s 2021 Hackster presentation reports approximately three seconds of output delay. That is the project author’s stated behavior, not a controlled measurement or a guarantee for every board, browser, network or stream setting.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
6pcs ESP8266 NodeMCU LUA CH340 ESP-12E WiFi Internet Development Board 4M Flash Serial Wireless Module for Arduino IDE/Micropython New Version
  • ESP8266 has powerful on-board processing and storage capabilities that allow it to be integrated with the sensors and other application specific devices through its GPIOs with minimal development up-front and minimal loading during runtime. Its high degree of on-chip integration allows for minimal external circuitry, and the entire solution, including front-end module, is designed to occupy minimal PCB area.
  • ESP8266 is a highly integrated chip designed for the needs of a new connected world.It offers a complete and self-contained Wi-Fi networking solution, allowing it to either host the application or to offload all Wi-Fi networking functions from another application processor.
  • The NodeMCU LUA board is supported by a large online community, offering extensive resources for developers. This open-source approach allows for customizing and expanding its capabilities as needed.
  • This ESP8266 NodeMcu development board can be use for small temperature and humidity monitor in home automation project and works very well Compatible with Arduino development platform.
  • ESP8266 CH340 chip, power your development in the fastest way combinating with NodeMcu Firmware; It's a IOT unit with all available resources on board, support smart link and smart networking.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

First-run procedure

  1. Assemble the chosen sensor or microphone-plus-LM386 circuit and verify its output conditioning with the board schematic in hand.
  2. Power the amplifier and ESP8266 from the arrangement intended for that circuit; confirm the module rail is 3.3 V.
  3. Install the ESP8266 board definition, select the target board, and upload the project sketch and companion files.
  4. Open the configuration workflow, enter the local Wi‑Fi credentials, and let the module join the router or use its documented hotspot mode.
  5. Run the calibration page with the microphone in the intended quiet condition.
  6. Open the audio page at the module’s local address and begin with the lower stream setting.
  7. Increase amplifier gain only as far as needed. If the background rises sharply or the waveform clips, reduce gain and recalibrate.

Troubleshooting by symptom

No audio or a flat waveform

  • Confirm the amplifier output is actually connected to A0 and shares ground with the ESP8266.
  • Check that the microphone circuit is powered and that its silent output is biased into the ADC’s safe range.
  • Repeat the project’s calibration step.

Constant distortion or excessive noise

  • Reduce the LM386 or sensor gain; the documented trade-off is less noise but weaker quiet sounds.
  • Check the exact board’s A0 divider and ensure the chip input is not being overdriven.
  • Use a stable regulated 3.3 V rail and short, sensible analog wiring.

Stream drops or will not load

  • Start with 60 Kbps and improve the Wi‑Fi signal before trying 70 or 80 Kbps.
  • Use one browser page only, since the README documents single-page handling.
  • Reconnect to the module’s current router-assigned address if its DHCP address changed.

When an I2S microphone is a better direction

The ESP8266 Arduino Core includes an I2S input example for digital microphone workflows. That is a different design from WiCardTech’s analog A0 circuit: it requires an I2S-capable microphone and different firmware/data handling. Treat it as an alternative architecture, not a drop-in replacement for the analog wiring or source code described here.

Bottom line

This project is a workable ESP‑12/ESP8266 Arduino starting point for a local, browser-based speech monitor when you follow the documented analog circuits and verify the ADC and power limits for your exact board. Expect low-fidelity audio, browser buffering, single-listener operation and author-reported latency of about three seconds—not studio-quality recording or a cloud streaming service.

Quick Recap

Bestseller No. 1
Hosyond 3Pcs ESP8266 ESP-12E CP2102 NodeMCU Lua Wireless Module Development Board for Arduino IDE/Micropython
Hosyond 3Pcs ESP8266 ESP-12E CP2102 NodeMCU Lua Wireless Module Development Board for Arduino IDE/Micropython
It is compatible with Arduino IDE,works great with the latest Mongoose IoT/Micropython.
$13.99
Bestseller No. 2
Hosyond 5Pcs D1 Mini NodeMcu ESP8266 ESP-12F WiFi Module Development Board Compatible with Arduino/WeMos D1 Mini
Hosyond 5Pcs D1 Mini NodeMcu ESP8266 ESP-12F WiFi Module Development Board Compatible with Arduino/WeMos D1 Mini
It is a mini NodeMcu Lua Wireless development board based on ESP-8266.; Compatible with Arduino IDE and WeMos D1 Mini.
$14.99
Bestseller No. 3
HiLetgo 3pcs ESP8266 ESP-01 Serial WiFi Wireless Transceiver Wireless Module Development Board LWIP AP+STA Compatible with Arduino
HiLetgo 3pcs ESP8266 ESP-01 Serial WiFi Wireless Transceiver Wireless Module Development Board LWIP AP+STA Compatible with Arduino
ESP8266 has powerful on-board processing and storage capabilities; Support 3 modes: AP, STA, AP + STA
$8.99
Bestseller No. 4
DIYmall ESP8266 ESP-01S WiFi Serial Transceiver Module with 4MB Flash
DIYmall ESP8266 ESP-01S WiFi Serial Transceiver Module with 4MB Flash
4MB Flash Memory; Latest version esp-01s, with stronger signal; Document: https://nurdspace(dot)nl/ESP8266
$6.59

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. Shenzhen desk3 min
    HONOR Expands Beyond Smartphones With Humanoid Robot RevealHONOR said it unveiled its first humanoid robot at MWC 2026 and named shopping assistance, workplace inspections, and supportive companionship as intended uses. Later Robotics D1 claims and a reported…
  2. Cupertino desk5 min
    Apple Unveils AirPods Max 2: The Upgrade That Should Have Happened Years AgoAirPods Max 2 adds H2-powered audio features and Apple claims up to 1.5× more effective ANC, but its design, Smart Case, and 20-hour battery rating are unchanged. Wired lossless audio…
  3. Cupertino desk4 min
    Apple’s OLED Touch MacBooks Are Coming—but the Dynamic Island Is the Real GambleApple has not announced an OLED touchscreen MacBook, but reports point to high-end models arriving in late 2026 or early 2027. The reported Mac Dynamic Island could be useful, but…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.