Instagram Live Follower Counter Using ESP32
by Rau7han in Circuits > Gadgets
162 Views, 4 Favorites, 0 Comments
Instagram Live Follower Counter Using ESP32
I built this small desk display using an ESP32 and a 32x8 WS2812B LED matrix to show my Instagram follower count.
The ESP32 connects to Wi-Fi and checks the Instagram API every 30 seconds for the latest follower count. I wanted the number change to look a little more interesting, so I added a rolling animation that only moves the digits that actually change.
For the enclosure, I downloaded an STL model from MakerWorld that includes a grid and space for a diffuser. The grid keeps the light from spreading between pixels and makes the numbers easier to read.
Below I’ll go through the wiring, enclosure assembly, Instagram API setup, Arduino code, and final testing
Supplies
For this project I used:
Electronics
- ESP32 development board
- 32x8 WS2812B flexible LED matrix
- 5V 3A DC power supply
- 5.5mm x 2.1mm female DC barrel jack with screw terminal
- 22 AWG or 24 AWG hookup wire
- Heat shrink tubing
- Small screws for the front frame
3D printed parts
- Main enclosure
- 32x8 LED partition grid
- Front frame
I’ve also attached the Arduino sketch I used for the project
How the Follower Counter Works!
he ESP32 connects to Wi-Fi and checks Instagram every 30 seconds for the current follower count. It then shows that number on the 32x8 LED matrix.
Instead of redrawing the whole number, I made only the digits that need to change animate. Only the digit that needs to change rolls to the new value. For example, if the count changes from 2305 to 2306, only the last digit moves.
For a change like 2309 to 2310, multiple digits need to update, so the animation carries across them. If someone unfollows, the digit rolls in the opposite direction.
The Instagram logo stays on the left side of the display, and the follower count uses the remaining space.
Preparing the 3D-Printed Enclosure
The enclosure I used has three main printed parts
- Main case
- 32x8 LED grid
- Front frame
The main case holds the ESP32, LED matrix, power connector, and wires.
The 32x8 grid sits on top of the LED matrix. Each opening lines up with one LED, which helps stop light from bleeding into the neighboring pixels.
I printed the grid with opaque filament.
The front frame holds the grid and diffuser in place. Before installing the electronics, I test-fitted everything to make sure the matrix, grid, and frame lined up properly
: Preparing the Power Wiring
The code limits the LED current to 2500 mA, so I’m not running the full matrix at unrestricted brightness, I split the same 5V input so one pair of wires powers the matrix and another pair powers the ESP32.
First, cut the power wires to the needed length and strip the ends.
Connect the positive wire from the DC barrel jack to 5V and the negative wire to GND.
From the same power input, run one pair of wires to the LED matrix and another pair to the ESP32.
Keep the power disconnected while making the connections.
Connecting the ESP32 and LED Matrix
Next I connected the LED matrix to the ESP32
First, find the input side of the matrix. It should be marked 5V, GND, and DIN.
Connect the data wire like this:
For power:
Both the ESP32 and the matrix must share the same ground for the data signal to work properly.
The ESP32 and LED matrix need to share the same ground.
After soldering, cover the exposed joints with heat shrink tubing.
Before powering it up, I checked 5V and GND with a multimeter to make sure I hadn’t accidentally created a short
Final Hardware Assembly
Once the wiring was working, I mounted the ESP32 inside the case and arranged the wires so they wouldn’t get pinched.
Next, I placed the 32x8 LED matrix in the front of the case and fitted the printed LED grid over it. I checked that each LED matched one opening in the grid.
Then I placed the white diffuser sheet on top and fixed the front frame with small screws.
With the front frame screwed in place, the hardware side was finished.
Setting Up the Instagram API
To read the follower count, I needed to create a Meta Developer app and generate an Instagram access token.
- Create a Meta Developer account
- Go to Meta for Developers and sign in with your Facebook account. If you're using it for the first time, complete the registration and verify your account.
- Create a new app
- Open My Apps and click Create App. Give your app a name and continue.
- Choose Other as the use case.
- Select Business as the app type.
- You can leave Business Portfolio empty.
- Add Instagram
- After creating the app, find Instagram under Available Products and click Set up.
- Add your Instagram account as a tester
- Go to App roles > Roles, click Add People, select Instagram Tester, and add your Instagram account.
- Accept the tester invite
- Log in to Instagram and go to:
- Website permissions
- Apps and websites
- Tester Invites
- Accept the invite from your Meta app.
- Generate the access token
- Go back to Meta for Developers and open Instagram > API setup with Instagram login. Click Generate token, sign in to Instagram, and allow the requested permissions.
- Copy the token
- Check I understand and copy your access token.
Important: Keep the access token private. Don't show it in screenshots or upload it with your public Arduino code.
These screenshots are from August 2026, so Meta may move or rename some of these options later.
Testing the Instagram API
Before working on the ESP32 side, I tested the API request in my browser to make sure the token was working.
Open this URL in your browser:
Replace YOUR_ACCESS_TOKEN with your real access token.
If the API is working, you should get a response like this:
if you see followers_count in the response, the API side is working.
If you get an error, check the access token and make sure your Instagram account is connected correctly. I only moved on to the ESP32 code after this test worked
Software and Libraries
I used Arduino IDE to program the ESP32
- Install Arduino IDE.
- Open Boards Manager and install the ESP32 board package.
- Open Library Manager.
- Search for FastLED and install it.
- Open the follower counter sketch.
- Select your ESP32 board and the correct COM port.
https://github.com/Rau7han/instagram-live-follower-counter-esp32
These three libraries are already included with the ESP32 Arduino package
These libraries come with the ESP32 board package, so you don't need to install them separately.
Add WiFi and Instagram details
Open the sketch and find these lines near the top:
I replaced these placeholders with my Wi-Fi name, password, and Instagram token before uploading
The main display settings are already set:
The ESP32 checks the Instagram follower count every 30 seconds:
Keep your access token private and remove it before sharing the code publicly.
Upload the code
Connect the ESP32 to your computer with a USB data cable.
In Arduino IDE:
- Select your ESP32 board.
- Select the correct COM port.
- Click Upload.
- Wait for the upload to finish.
After the ESP32 connects to WiFi and gets the first follower count from the API, the number should appear on the LED matrix.
Working
After the upload finished, I disconnected USB and powered the display from the 5V supply.
The Instagram logo should appear first. The ESP32 then connects to WiFi and checks the Instagram API.
When the first follower count comes in, the digits play a short two-second startup animation before settling on the current number. After that, the current follower count stays on the display.
The rolling digits are my favorite part of the finished display because the number changes without the whole screen flashing. The printed grid and diffuser also made the LEDs much easier to read than when I first tested the bare matrix. Once the Wi-Fi and token are configured, I can just plug it in and leave it running on my desk.