This is an old revision of the document!
Table of Contents
Mole Beacon Light
Introduction
For our Warnemünde section, which includes a water area, we also need a lighthouse so that our ships can travel safely.
Since Warnemünde has two Mole Beacon Lights (one green and one red), I decided to recreate the green beacon light. I did some research and found some good reference images for this project.
First, I replicated the building in OnShape. This was not as easy as I initially thought, but in the end, I was successful.
The more interesting part was the electronics. I used an ESP32 as the controller and decided to connect it to the System Control with my generic BLE system. Then, I tested if I could replicate the beacon signal (2 seconds on and 2 seconds off). It was the first time I had used hardware timers and interrupts for the LEDs. The beacon's LED will illuminate transparent PLA, making the light visible.
A more challenging part will be the outdoor lights, as the building has two of them. I will try to use 0402 3V LEDs and hope that I can print a miniature enclosure to mimic the real lamps.
Design
The physical design of the beacon model was a straightforward process, using a high-resolution image of the actual object as a blueprint to ensure accuracy.
The more significant engineering challenge lay in the internal electronics, which required the design of two custom Printed Circuit Boards (PCBs). A primary constraint was fitting all necessary components within the limited volume of the 3D-printed housing. The core of the illumination system is a WS2812B addressable LED. This component was specifically chosen to illuminate the beacon's main body, which is printed from a transparent material like PLA or PETG. The design intent is for the filament itself to act as a light diffuser, creating an even, vibrant glow throughout the structure.
MCAD
The modell was created in OnShape. More about that later.
EDA/ECAD
The two PCBs are created within KiCad. The rendering of the main (LED) pcb could be seen here. It's as everything else a work in progress.
Source Code
Github Action: