Search models, users, collections, and posts

SurfBeacon

GIF

Print Profile(0)


Add the first print profile to earn points

Boost
0
4
0
0
1
0
ReleasedĀ 

Description

šŸ„ SurfBeacon: The IoT Forecast Lamp

šŸ“„ COMPLETE GUIDE & CODE: View Project on GitHub

(Please check the GitHub repository for the latest firmware updates, wiring diagrams, and detailed troubleshooting.)

🌊 What is SurfBeacon?

SurfBeacon is an intelligent, WiFi-connected lamp designed for surfers who want to stay connected to the ocean without being glued to a screen. Instead of doom-scrolling through forecast apps, SurfBeacon sits on your desk or shelf and visualizes the real-time surf conditions of your favorite spots using beautiful, organic light animations.

If it's glowing, there are waves.

Unlike commercial alternatives, this is 100% self-hosted. There are no subscriptions, no clouds, and no accounts to create. Your "Secret Spot" coordinates are stored locally on the device inside your house.

✨ Key Features

  • šŸ“± Phone-Free Monitoring: Instant visual feedback.
    • Slow Pulse = Chill, small waves.
    • Fast Pulse = Bigger waves.
    • Rainbow mode = Epic conditions.
  • šŸŒ Multi-Spot Tracking: Track different surf spots. The lamp cycles through any spot that is currently "firing."
  • šŸ“ Interactive Map Picker: The new Web UI features a built-in map. Simply drag the pin to your local break, click the water, and the system automatically validates the coordinates to ensure accuracy.
  • 🧠 Smart Scoring Logic: Choose between "Standard Mode" (Energy calculation) or "Pro Mode" (Wind direction, swell angle, and chop filtering).
  • šŸ”” Telegram Alerts: (Optional) The lamp can send a message to your phone when a spot hits good conditions.
  • šŸŒ™ Night Mode: Set "Quiet Hours" (e.g., 11 PM - 7 AM) where the lamp automatically turns off so you can sleep.
  • šŸ”Œ Safe Power: Software-limited power draw ensures it runs safely off any standard USB computer port or phone charger.

šŸ›  Bill of Materials (BOM)

This project is designed to be affordable and easy to build (~$15-20 total).

  1. Microcontroller: ESP32 Development Board (ESP-WROOM-32 recommended).
  2. LEDs: WS2812B Addressable LED Strip (You need a strip of 30 LEDs).
    • Recommendation: High density (60+ LEDs/m) strips fit best.
  3. Power Cable: USB-A to USB-C cable (or Micro-USB, depending on your board).
  4. Wiring: 3x Jumper wires or silicone wire (Red, Black, Green/Yellow).

⚔ Assembly & Wiring

The circuit is very simple and requires minimal soldering.

  1. Prepare the LEDs: Cut your WS2812B strip to 30 LEDs.
  2. Solder Connections:
    • 5V (Strip) → VIN or 5V (ESP32)
    • GND (Strip) → GND (ESP32)
    • DIN (Data In) → GPIO 16 (ESP32)
    • (Note: GPIO 16 is marked as RX2 on some boards, check your pinout).
  3. Mounting:
    • Put the ESP32 into the base
    • Connect the LEDs cables and insert the LED support over the base, sticking leds onto the tube.
    • Insert the diffuser.

šŸ’» Firmware Setup

  1. Download the latest code from the GitHub Repository.
  2. Flash it to your ESP32 using Arduino IDE (Instructions in the GitHub Readme).
  3. Power on the device.
  4. Connect to the SurfBeacon_Setup WiFi network on your phone to configure your home WiFi credentials.
  5. Open your browser to http://surfbeacon.local to access the dashboard.

šŸ„ Usage

Once online, the Web Interface allows you to:

  1. Add Spots: Open the map, click on the ocean, and save.
  2. Customize: Change the LED colors for each spot so you know exactly which break is working just by looking at the color.
  3. Relax: The lamp will check the forecast every hour and update automatically

 

šŸ¤ Credits & Acknowledgments

This project stands on the shoulders of giants. Special thanks to:

  • Open-Meteo (https://open-meteo.com/): For providing an incredible, free, and open-source weather API without the need for complex keys. All weather data used in this project is provided by Open-Meteo.com under CC BY 4.0.
  • OpenStreetMap (https://www.openstreetmap.org/): Map data and tiles used in the spot picker are Ā© OpenStreetMap contributors.
  • Leaflet.js (https://leafletjs.com/): For the interactive map interface.
  • Libraries: Thanks to the creators of FastLED, ArduinoJson, WiFiManager, UniversalTelegramBot, and TinyExpr for their amazing work on the ESP32 ecosystem.

 

⚠ Disclaimer

This device is a hobbyist project, not a safety device.

The forecast data is an approximation and should not be your sole source of information. The ocean is unpredictable. Always assess real-world conditions yourself before entering the water. The creator assumes no liability for missed sessions, broken boards, or safety incidents.

šŸ“„ License

This project is licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).

Comment & Rating (0)

(0/1000)

License

Related Models

There are no related models yet