📡 EMF Meter Build Guide

⚠️ READ THIS FIRST!
This guide assumes you have ALL the parts from the shopping list. If you're missing anything, ORDER IT FIRST before starting. Don't skip steps!
⚠️ OUTDATED GUIDE ⚠️

This guide is OLD and uses breadboards!

USE THE NEW OFFICIAL GUIDE INSTEAD:

➜ CLICK HERE FOR OFFICIAL EMF WIRING GUIDE ➜

New guide features:
✅ Modular terminal blocks (fits small enclosure)
✅ Includes capacitors for stable power
✅ Better component positioning
✅ Links to shopping lists
✅ Complete and tested!
1

Gather Your Parts

Lay everything out on your work surface. Check that you have each item:

ESP32 Board

38-pin version

OLED Display

0.96" I2C (4 pins)

Hall Sensor

A3144 module

5× LEDs

2 Red, 2 Yellow, 1 Green

5× Resistors

220Ω (red-red-brown)

Breadboard

830-point

Jumper Wires

Male-to-male

USB Cable

For programming

✓ Got everything? Great! Move to Step 2.
2

Setup Breadboard

The breadboard has power rails (red/blue lines) on the sides. We'll use these for power distribution.

Power Rail Setup:
ESP32 Board ┌────────────────┐ │ │ │ 3.3V ────────────> RED rail (+) │ │ │ GND ─────────────> BLUE rail (-) │ │ └────────────────┘
💡 Breadboard Tip: Rows are connected horizontally. The center gap separates left and right sides. Power rails run vertically along the edges.
3

Wire All Components

Follow this table EXACTLY. Check off each connection as you make it:

Component Component Pin Connects To Wire Color
OLED DISPLAY
OLED VCC 3.3V (RED rail) Red
OLED GND GND (BLUE rail) Black
OLED SDA GPIO 21 on ESP32 Blue
OLED SCL GPIO 22 on ESP32 Yellow
HALL SENSOR
Hall Sensor VCC (or +) 3.3V (RED rail) Red
Hall Sensor GND (or -) GND (BLUE rail) Black
Hall Sensor OUT (or D0) GPIO 34 on ESP32 Green
LED 1 (GREEN)
Green LED Long leg (+) GPIO 13 on ESP32 Any color
220Ω Resistor One leg LED short leg (-)
220Ω Resistor Other leg GND (BLUE rail) Black
LED 2 (YELLOW)
Yellow LED Long leg (+) GPIO 12 on ESP32 Any color
220Ω Resistor One leg LED short leg (-)
220Ω Resistor Other leg GND (BLUE rail) Black
LED 3 (YELLOW)
Yellow LED Long leg (+) GPIO 14 on ESP32 Any color
220Ω Resistor One leg LED short leg (-)
220Ω Resistor Other leg GND (BLUE rail) Black
LED 4 (RED)
Red LED Long leg (+) GPIO 27 on ESP32 Any color
220Ω Resistor One leg LED short leg (-)
220Ω Resistor Other leg GND (BLUE rail) Black
LED 5 (RED)
Red LED Long leg (+) GPIO 26 on ESP32 Any color
220Ω Resistor One leg LED short leg (-)
220Ω Resistor Other leg GND (BLUE rail) Black
⚠️ CRITICAL: LED Polarity!
LEDs ONLY work one way. Long leg = POSITIVE (+) goes to GPIO pin. Short leg = NEGATIVE (-) goes to resistor then ground. Backwards = won't work!
4

Double-Check Everything

Before powering on, verify:

🔍 Take a Photo!
Take a clear photo of your wiring from above. If something doesn't work, you can compare it to the diagram later.
5

Install Arduino IDE

You need Arduino IDE to program the ESP32:

  1. Go to: https://www.arduino.cc/en/software
  2. Download for your OS (Windows/Mac/Linux)
  3. Install it (use default settings)
  4. Open Arduino IDE
✓ Arduino IDE installed? Continue to Step 6.
6

Add ESP32 Board Support

Arduino IDE doesn't include ESP32 by default. Add it:

  1. In Arduino IDE, go to: File → Preferences
  2. Find "Additional Board Manager URLs" field
  3. Paste this URL:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  4. Click OK
  5. Go to: Tools → Board → Boards Manager
  6. Search for: esp32
  7. Find "esp32 by Espressif Systems"
  8. Click Install (takes 2-3 minutes)
✓ ESP32 boards installed? Move to Step 7.
7

Install Required Libraries

The OLED display needs special libraries:

  1. In Arduino IDE, go to: Sketch → Include Library → Manage Libraries
  2. Search: Adafruit SSD1306
  3. Click Install on "Adafruit SSD1306"
  4. When prompted to install dependencies, click Install All
✓ Libraries installed? Almost ready to upload code!
8

Connect ESP32 to Computer

  1. Plug USB cable into ESP32
  2. Plug other end into computer
  3. In Arduino IDE, go to: Tools → Board → ESP32 Arduino
  4. Select: ESP32 Dev Module
  5. Go to: Tools → Port
  6. Select the port (COM3, /dev/ttyUSB0, etc.)
No Port Showing?
• Try a different USB cable (must be data cable, not charge-only)
• Install CH340 or CP2102 USB drivers
• Try a different USB port on your computer
9

Upload the Firmware

Copy this code into Arduino IDE:

// EMF Meter Firmware - Simple Version
#include 
#include 
#include 

// Pin Definitions
#define HALL_PIN 34
#define LED1 13  // Green
#define LED2 12  // Yellow
#define LED3 14  // Yellow
#define LED4 27  // Red
#define LED5 26  // Red

// Display Setup
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
  Serial.begin(115200);

  // Setup pins
  pinMode(HALL_PIN, INPUT);
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
  pinMode(LED5, OUTPUT);

  // Initialize display
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println("Display failed!");
    while(1);
  }

  display.clearDisplay();
  display.setTextSize(2);
  display.setTextColor(SSD1306_WHITE);
  display.setCursor(20, 20);
  display.println("EMF");
  display.println(" METER");
  display.display();
  delay(2000);
}

void loop() {
  // Read hall sensor
  int hallValue = digitalRead(HALL_PIN);

  // Simulate EMF levels (0-5)
  int emfLevel = random(0, 6);

  // Turn off all LEDs
  digitalWrite(LED1, LOW);
  digitalWrite(LED2, LOW);
  digitalWrite(LED3, LOW);
  digitalWrite(LED4, LOW);
  digitalWrite(LED5, LOW);

  // Light LEDs based on level
  if(emfLevel >= 1) digitalWrite(LED1, HIGH);
  if(emfLevel >= 2) digitalWrite(LED2, HIGH);
  if(emfLevel >= 3) digitalWrite(LED3, HIGH);
  if(emfLevel >= 4) digitalWrite(LED4, HIGH);
  if(emfLevel >= 5) digitalWrite(LED5, HIGH);

  // Update display
  display.clearDisplay();
  display.setTextSize(3);
  display.setCursor(30, 20);
  display.print(emfLevel);
  display.println(" mG");
  display.display();

  delay(200);
}

Now upload it:

  1. Click the Verify button (checkmark icon) - should say "Done compiling"
  2. Click the Upload button (arrow icon)
  3. Wait for "Connecting..." message
  4. If stuck: Hold the BOOT button on ESP32, then click Upload again
  5. Wait for "Done uploading"
✓ Success! The display should show "EMF METER" then start showing readings with LEDs lighting up!
10

Test It!

Your EMF meter is working! Test it:

💡 Note: This is a TEST version with random readings. The real firmware will use actual EMF detection from the hall sensor. This proves your wiring is correct!

Troubleshooting

Display Not Working

LEDs Not Lighting

Upload Fails

Next Steps

You did it! You have a working EMF meter on breadboard.

Now you can:

  1. Test with different EMF sources (phone, microwave, wiring)
  2. Add battery power (connect battery holder to VIN + GND)
  3. Add power switch between battery and VIN
  4. Transfer to enclosure when ready
  5. Upload real EMF firmware (coming soon)
🎉 Congratulations! You built your first paranormal investigation device!