Introduction: ESP32 Constellation Finder (with a Web App)

About: Hi! I'm Arham Shameel (Sam) – a passionate electronics maker, coder, and self-taught engineer based in India 🇮🇳. I love turning ideas into working devices, especially when it involves microcontrollers, 3D prin…

Do you love looking at the night sky but can’t find constellations easily? With this project, you can build your own Constellation Finder using an ESP32 microcontroller and a small OLED screen.

This gadget will:

  1. Show you which constellations are up right now.
  2. Tell you the direction (north, south, east, west) and height in the sky.
  3. Give a rise and set time for each constellation.
  4. Provide “Steer Me” hints like “turn left 12°, look up 8°”.
  5. Show a webpage on your phone so you can control it remotely.
  6. Use LEDs to quickly show whether the constellation is visible.

Firstly educational use of this project :

For children: Fun way to learn astronomy and directions.

For schools: Combines electronics, programming, and science.

For telescope users: No more guessing — always know when and where to look.

For hobbyists: Expand it with new features like planets or motor control.


So It’s fun for kids, students, hobbyists, and telescope users. Let’s get started!

Supplies

You’ll need:

1 × ESP32 dev board (NodeMCU ESP32, WROOM, etc.)

1 × 0.96" OLED Display (SSD1306, I²C version)

2 × Push buttons

2 × LEDs (red + green)

2 × Resistors (220Ω each)

1 × Optional buzzer

Breadboard or perfboard + jumper wires

USB cable for programming and power

Power bank (for portable use)

---- You can later make a small box/case to carry it like a gadget.

Step 1: Wiring the Circuit

OLED VCC-----> 3.3V or 5v (for some boards)

OLED GND --------> GND

OLED SDA --------> GPIO 21

OLED SCL --------> GPIO 22


NEXT Button --------> GPIO 32

AUTO Button --------> GPIO 33

Green LED --------> GPIO 25

Red LED. --------> GPIO 26


Buzzer + --------> GPIO 27

Buzzer – ------> GND


The OLED shows constellation info.

Buttons let you change constellation or toggle auto mode.

LEDs show green if visible, red if below horizon.

Step 2: Code

download code from here:

Step 3: Install the Software

1) Install Arduino IDE from arduino.cc.

2) Add ESP32 support:

  1. File → Preferences → Additional Board URLs → paste:

"https://dl.espressif.com/dl/package_esp32_index.json"


  1. Then go to Tools → Board Manager → search for ESP32 → install.


3) Install these libraries:

  1. Adafruit SSD1306
  2. Adafruit GFX
  3. Preferences (already included)
  4. WiFi (already included)

--> And go to tools and select board and select (esp32) your board type like mine was esp32 dev module

Step 4: Edit the Code (that I Given)

Open the provided code in Arduino IDE.

Look for this part and add your Wi-Fi name and password:


const char* ssid = "YOUR_WIFI_NAME";
const char* password = "YOUR_WIFI_PASSWORD";

do it like

const char* ssid = "HomeWiFi";
const char* password = "12345678";

you can use your mobile hotspot also ----------

--->. 1 thing to remember that you can only open the site in the mobile or laptop that connected with same wifi given in code

Step 5: Connect Via Webpage

  1. Open the Serial Monitor in Arduino IDE.
  2. It will show the ESP32’s IP address. (like : 172.xx.xx.xx)
  3. Type that IP into your phone browser.

You’ll see a webpage with constellation info and buttons to: (as shown in my pics i shared)

  1. Next constellation
  2. Toggle auto mode
  3. Enter your heading (for steer-me hints)


Step 6: How to Use the Device

Turn it on at night.

OLED shows:

  1. Constellation name
  2. Azimuth (direction like 274° W)
  3. Elevation (height in sky)
  4. Visible / Below Horizon
  5. Set time countdown
  6. “Steer Me” hints

Press NEXT to change constellation.

Press AUTO to let it cycle every 10 seconds.

Use LEDs:

  1. Green = visible
  2. Red = below horizon

Use web UI on your phone for easy control.

Step 7: Make It Portable

Mount parts in a 3D-printed or acrylic box.

Power with a USB power bank.

Take it outside like a real gadget.

Optionally, mount on a telescope to help point to constellations.

Step 8: Upgrades You Can Try

  1. Add a laser pointer that points at the constellation.
  2. Link with a motorized telescope mount.
  3. Add a light sensor so it only says “VISIBLE” at night.
  4. Display planets and deep-sky objects.


Step 9: So at Last

You’ve built a DIY Constellation Finder that combines astronomy, coding, and electronics. Unlike a phone app, this is your own hardware, customizable, portable, and fun.

It’s a learning tool for kids, a helper for stargazers, and a proud maker project that you can show off in contests!