Introduction: WiFi HDD LED

This is a tiny and cool WiFi LED indicator for your HDD (or your SSD). You can create this indicator and place it on your desk or your nearby bookshelf.

The hardware is based on an inexpensive ESP8266 based module. Even the tiny ESP-01 can be used for this application. On the software side the “Activity Indicator” utility is needed. This utility is open source and you can download it for free from sourceforge servers.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: How It Works

Activity Indicator is able to detect what happens to your HDD or SDD and act as a virtual LED for HDD activity. In the latest release, one additional function was added, which can help to create a physical indicator, to display the HDD activity in a similar manner with physical LED indicator on computer tower.

The program sends UDP packets to local network on each HDD activity in order to indicate the activity on a dedicated hardware which will be discussed here.

Step 2: Build the Hardware

Here is what you will need

For the hardware:

1 ESP8266 module (ESP-01 on this example) https://www.banggood.com/custlink/GDKDyVfFn1

1 LED https://ebay.to/2MLBeSn

1 LD1117-3.3 or similar https://www.banggood.com/custlink/KG3mdH1Vf3

1 Power supply adapter https://www.banggood.com/custlink/GDKvY5fH7w

1 Mini case to put everything inside https://www.banggood.com/custlink/KvDmd5uSm0

For programming:

A USB to Serial adapter https://www.banggood.com/custlink/m33Kd5wiDw

Step 3: Connections

Hardware connections are "dead simple". The provided image indicates the 6 connections should make and get the device working. You can literally solder components together without cables except the power in lines making a very tiny circuit which can be placed inside a very small case.

Step 4: Flashing & Programming


The ESP8266 module should be flashed with NodeMCU firmware. The seven pre-selected basic modules are enough (file, GPIO, net, node, timer, UART, WiFi).

Flashing the firmware to the module is not difficult. I recommend you to use the NodeMCU pyflasher. This tool will simplify the process. ESP-01, should be put in flash mode before, this can be done by shorting Pin3 (GPIO2) with the ground during power up. If you need more info on flashing visit this link.


Once the flashing is done the three lua files should be uploaded to the ESP8266 module.

Lua files to program your module can be found on github: https://github.com/limbo666/WiFi_HDD_LED

You should customize the WiFi settings on init.lua (by changing the line: wifi.sta.autoconnect(1) station_cfg={} station_cfg.ssid="YourSSID" station_cfg.pwd="YourPASS" station_cfg.save=true) and then upload the three files to your module.

Uploading the lua files can be done by using the attached "Selene beta" program or any other uploader program you like. (refer to https://nodemcu.readthedocs.io/en/

Step 5: Software Setup

Activity Indicator can be downloaded from its project page on Sourceforge https://sourceforge.net/projects/activityindicat/. Just extract the downloaded contents and run the executable.

Under "More" find the checkbox "Interact with WiFi HDD LED" and enable it. Then click on the hyperlink "WiFi HDD LED Options" (confirm any firewall prompt). A window called "WiFi HDD LED Options" will appear.

Now power on your WiFi LED and let it connect to your WiFi. When the device starting the LED will be steady ON until a connection to pre-defined WiFi LED is made. Once connected to the WiFi the LED turns OFF. At this stage the device will broadcast every 2 seconds a presence signal recognizable by Activity Indicator.

When a presence signal is detected the "Bind" button will be enabled, click on it and the "Target IP" filed will be filled with the detected IP. Default target port is 8266 and LED address is 4 these values are suitable for the provided lua files and shouldn't be changed unless changed made on lua files.

After a successful "Bind" you can use the "Test" button to send a signal to the WiFi LED.

Once binding and testing is complete, click OK and let the Activity Indicator do its "magic".

Step 6: Final Words

This Instructable is referring to a "lite" edition of WiFi HDD LED with just one LED. The lua code provided on github can be altered to support up to 6 LEDs. Using a Wemos D1 mini module you can create a device which can indicate activity from multiple computers at the same time. You can also use tricolor LEDs to indicate different activities with different colors.

The "espresso.lua" file is an additional file which can help for maintenance and future changes to the code over WiFi. It enables the device to communicate and programmed via ESPresso a handy tool by ŁUKASZ CIELECKI.

Be the First to Share


    • Magnets Challenge

      Magnets Challenge
    • Raspberry Pi Contest 2020

      Raspberry Pi Contest 2020
    • Wearables Contest

      Wearables Contest