ESP8266 Multi-tool

An ESP8266-based, inexpensive, diagnostic and debugging tool

Similar projects worth following
My objective here is to fill a niche that I often find myself needing, working in a laboratory/R&D environment. I need an inexpensive device to perform lightweight datalogging and automation type tasks. The ESP8266 is a fantastic candidate for this, with the onboard wifi and blazing fast microcontroller.

I envision a "swiss army knife" of sorts, that is good enough for the task, and cheap enough to be almost disposable.

Using an ESP8266 Multi-tool, one could connect to test points in their circuit, and record and interact with the circuit through a web-based interface.
Log voltages, digital pin and bus states, and serial communications, all from a web page with ease. Conceptually, think a hardware version of "PEEK and POKE" from the days of BASIC.

Must meet requirements

  • At least one analog input channel,  ±12V-ish
  • At least one digital input for triggering, configurable via software
  • At least one digital output, configurable via software
  • Low power usage
  • Wide input supply range (3.3V-12V?)
  • Reliable time source for data acquisition (low jitter, high accuracy)
  • Web-based user interface for configuration of settings such as:
    • ADC Gain
    • ADC Sample rate (continuous, triggered on input, etc.)
    • Digital I/O (logging/output/triggering)

Stretch Goals

  • At least one analog output channel
  • Onboard storage for datalogging
  • Serial port with web interface (RS232 TTL)
  • "Bus sniffer" for SPI/I2C
  • Battery power option

Potential issues

  • How do we make it as small/cheap as possible?
    • Pre-soldered ESP modules must be weighed against raw chips as an option
    • Power the multi-tool from the device under test
    • Small pitch connector for test probes
  • Is input protection critically essential?
    • If the device is cheap enough, can we skimp on input protection?
    • What are the safety ramifications?
    • The multi-tool is not designed with high voltage measurements in mind

Typical usage case

  • I need to measure and record the input and output voltage of a circuit I've built, but a typical datalogging setup isn't suitable.  Maybe I'm in the back of the shop, rather than at my bench.  Maybe I'm not near my datalogging computer?  I can connect an ESP8266 multi-tool, and do my datalogging wherever it suits me best.
  • I need to measure and record a few choice signals on a piece of equipment that a customer is having intermittent issues with.  I can install an ESP8266 multi-tool, configure it to record, and come back tomorrow to download and analyze my data.
  • I need to record a voltage, while simulating an input signal, and I want them to be synchronized.  An ESP8266 multi-tool allows me to do just that, with its analog input recording and digital output pins.


Conceptual design, the multitool connects directly to a device under test, measures and records the selected signals, and displays them on your phone or computer.

JPEG Image - 2.60 MB - 04/23/2018 at 05:39



Conceptual design, the multitool connects directly to a device under test, measures and records the selected signals, and displays them on your phone or computer.

JPEG Image - 2.13 MB - 04/23/2018 at 05:39



The ESP-8266-12F is wired up to a breadboard adapter, since it has a smaller pitch than the standard 0.1" solderless breadboard.

JPEG Image - 3.51 MB - 04/23/2018 at 05:38


JPEG Image - 4.15 MB - 04/23/2018 at 05:38



The ESP-8266-12F Module

JPEG Image - 316.73 kB - 04/23/2018 at 05:38


  • 1 × ESP8266-12F WiFi microcontroller module
  • 1 × ADS1118 2/4 channel SPI ADC, 860Hz, 16-bit, with temperature sensor

  • Let's Get Started!

    netbeard04/23/2018 at 05:36 0 comments

    I've begun wiring up some parts on a breadboard, to evaluate the ADS1118 as a possible ADC candidate.

    I do have prior experience with this ADC, and it seems like a good candidate, with the 4-channel input and built-in temperature sensor.

    The ADS1118 is on the little adapter board.

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates