This manual is written for beginners. You don't need any formal electronics training — just a soldering iron, some patience, and a willingness to type a few commands into a terminal. Every step is described in full: what you do, why you do it, and how you can tell it worked. By the end, you'll be holding a device that switches on a 230 V load (for example, an automatic feeder) at the press of a button for an adjustable time — operable via three buttons, a small display, and a web page on your home network.
Terminal commands look like this — they are entered line by line and
submitted with Enter. Lines starting with #
are comments and are not typed in:
# This is a comment — for explanation only
esphome run firmware/timer-relais-c3.yaml
References such as "Chapter 7" are clickable in the PDF. The "↑ Contents" link at the bottom of every page always takes you back to the overview.
The Feeder-Relais is a DIY control board that switches on a 230 V load at the press of a button for an adjustable time and then switches itself off again automatically. The name comes from its original use case: it replaces the broken timer board of an automatic feeder. Because at its core it just "presses a switch for a certain time," it is suitable for any load you want to switch on a timer.
On the front there are three buttons. A short press switches the load on for a stored time:
| Button | Label | Default time | Adjustable |
|---|---|---|---|
| S1 | Down / Manual (T1) | 5 seconds | 1–600 s via Wi-Fi |
| S2 | SET (T2) | 10 seconds | 1–600 s via Wi-Fi |
| S3 | UP (T3) | 15 seconds | 1–600 s via Wi-Fi |
A small OLED display behind the viewing window shows the Wi-Fi signal at the top, the large clock (set via an internet time server), and the Idle status; at the bottom, the date and free memory. While a timer is running, the seconds countdown is shown in the middle and Feed on the right.
Operation is app-free and cloud-free, via a small,
mobile-optimized web page that the ESP32 hosts itself (in the browser at
http://feeder-relais.local): trigger timers, adjust times, view
network and status values. For connecting to a home automation system (for
example ioBroker or Home Assistant), there is also a lightweight
JSON interface (Chapter 11).
From the button press to the switched load, the signal passes through five stages. Each has exactly one job:
Button ─► ESP32-C3 ─► 330 Ω ─► PhotoMOS ─► Shelly 1PM ─► Load
S1–S3 counts the limits switches switches and (pump,
time, draws the LED galvanically measures the feed
the OLED current isolated 230 V load motor …)
This manual describes version 3 of the board. Compared to the first version, the design has become considerably simpler:
Between two copper areas on a board, current can not only jump through the air but also creep along the surface — aided by dust, moisture, and dirt. At 230 volts, this "creepage distance" must be large enough. We fix it at 6 mm, which is generous and leaves margin. The only permitted exception is the inside of the PhotoMOS relay itself — this component is the certified isolation barrier and is allowed to carry mains and low voltage within a few millimeters of each other (Chapter 6).
The order in this manual is deliberately chosen so that you do anything dangerous last and can practice safely until then:
| Component | Job |
|---|---|
| ESP32-C3 Super Mini | The "brain." A small microcontroller with Wi-Fi. It reads the buttons, counts the time, draws the OLED, hosts the web page, and drives the PhotoMOS. Supplied with 5 V, operates internally at 3,3 V. |
| PhotoMOS relay | The galvanic isolation barrier between 3,3 V and 230 V. Details in Section 3.3. |
| Series resistor 330 Ω | Limits the current through the PhotoMOS's internal LED so it isn't overloaded. |
| Power supply (AC/DC module) | Turns 230 V~ into the 5 V that runs the ESP. A ready-made, encapsulated module. |
| Shelly 1PM Mini Gen4 | Switches the actual load, measures the power, and is additionally reachable over Wi-Fi. Sits outside the board. |
| OLED display 0,91" | Shows the clock, countdown, and status. Only plugged on, not soldered. |
| Fuse + varistor | Protect against overcurrent and overvoltage on the mains side. |
The Shelly 1PM Mini Gen4 is a ready-made, tested switching relay with power measurement. Using it has three advantages: the risky task of switching the load is handled by a certified, off-the-shelf product; the power is measured (so you can see whether the load is actually running); and the Shelly is itself reachable over Wi-Fi, in case you want to integrate it separately as well.
Our board only "presses the switch" for the Shelly — as a genuine hardware signal, with no Wi-Fi dependency for the core function. In version 3, the Shelly sits outside the board and is connected via a terminal block (Chapter 13). This keeps the board small, the 230 V paths short, and the layout easy to follow.
A PhotoMOS is a tiny semiconductor relay. On one side sits an LED, which the ESP drives with 3,3 V. On the other side is a light-controlled switch that is allowed to switch mains voltage. Between them lies only light — that is, a complete galvanic isolation between low voltage and 230 V.
The Shelly's switch input is referenced to mains voltage (it expects a switched L). That's why the PhotoMOS must withstand ≥ 400 V blocking voltage — for example an Omron G3VM-601BY or a Panasonic AQY216.
Here is the exact function of each component — with the values actually fitted on the v3 board. The reference designators appear this way on the board's silkscreen.
| Reference | Value | Exact function |
|---|---|---|
| U1 | ESP32-C3 Super Mini | The microcontroller with Wi-Fi. Runs on 5 V, generates 3,3 V internally via a regulator (also for the OLED). Carries an onboard RGB LED (WS2812) on GPIO8. Drives the buttons, OLED, PhotoMOS, and the web interface. |
| K1 | G3VM-601AY2 | The PhotoMOS — the galvanic isolation between 3,3 V and 230 V. Pins 1/2 = internal LED (pin 1 via R1 from GPIO6, pin 2 to GND), pins 3/4 = light-controlled switch (pin 3 = L_F, pin 4 = SW_SHELLY). Blocking voltage ≥ 400 V. |
| R1 | 330 Ω | Series resistor for the K1 LED. From ~3,3 V minus ~1,2 V LED forward voltage, about 6 mA flows — enough for reliable switching, well below the LED's limit. |
| PS1 | TSP-05 (5 V / 3 W) | The power supply: turns 230 V~ (L_F + N) into 5 V/GND for the ESP. 3 W = 600 mA — enough for the Wi-Fi transmit peaks (~350 mA) plus the OLED. |
| C1 | 220 µF / 10 V | Bulk capacitor on +5 V: buffers short current spikes during Wi-Fi transmission and prevents the voltage dip that would otherwise restart the ESP. |
| C2 | 100 nF | Decoupling capacitor directly on +5 V/GND: absorbs high-frequency noise close to the chip. |
| F1 | 1 A slow-blow | Fine fuse (5×20 mm) in series: X1 (L_IN) → F1 → L_F. Protects against short circuit/overcurrent. "Slow-blow" so the power supply's inrush current doesn't trip it falsely. |
| RV1 | S14K275 (varistor) | Overvoltage protection in parallel between L_F and N: limits voltage spikes (switching transients, mains disturbances) and protects the power supply and electronics. |
| J2 | OLED SSD1306 128×32 | The display. I²C address 0x3C, 400 kHz. Only plugged on (pinout GND/VCC/SCL/SDA). |
| SW1–3 | Push button 6×6 mm | The three tactile switches T1/T2/T3. One terminal to GND, the other to GPIO3/4/5 — the ESP uses internal pull-ups, and a press pulls the pin to GND. |
And the terminal blocks at the edge of the board:
| Reference | Connection | Pinout |
|---|---|---|
| X1 | Mains input | 1 = N, 2 = L_IN (230 V in) |
| X2 | Load output | 1 = O (switched), 2 = N |
| X3 | Snubber | 1 = O, 2 = N — for an optional RC network with inductive loads |
| J1 | Shelly | 1 = SW, 2 = O, 3 = L, 4 = N (to the external Shelly, Chapter 13) |
Everything you need for one Feeder-Relais. You have the board itself manufactured (Chapter 7); the components are ordered and soldered on (Chapter 9).
| Reference | Component | Value / Type | Note |
|---|---|---|---|
| U1 | ESP32-C3 Super Mini | 18 × 24 mm, USB-C | Controller with Wi-Fi |
| K1 | PhotoMOS relay | Omron G3VM-601AY2 (or -601BY / Panasonic AQY216) | ≥ 400 V! |
| PS1 | AC/DC power supply module | 5 V / 3 W (HLK-PM05 class) | Measure pin spacing first |
| — | OLED display | 0,91" SSD1306, 128 × 32, I²C | Pins: GND VCC SCL SDA, address 0x3C |
| SW1–3 | Tactile switch | 6 × 6 mm, travel 1,5 mm | Position is fixed (front panel) |
| R1 | Resistor | 330 Ω | PhotoMOS LED series resistor |
| F1 | Fine fuse + holder | 1 A slow-blow, 5 × 20 mm | primary side, mandatory |
| RV1 | Varistor | S14K275 | primary side, mandatory |
| C1 / C2 | Capacitors | 220 µF/10 V & 100 nF | 5 V buffer and decoupling |
| X1 | Mains input | 2-pin (L, N) | Screw terminal, 230 V in |
| X2 | Load output | 2-pin (O, N) | to the switched load |
| X3 | Snubber | 2-pin (O, N) | optional RC network for inductive loads |
| J1 | Shelly connector | 4-pin (SW, O, L, N) | short wires to the external Shelly, Chapter 13 |
| J2 | OLED header socket | 1 × 4, 2,54 mm pitch | GND/VCC/SCL/SDA, display is plugged on |
The enclosure consists of two parts: the front piece (the original front panel with the viewing window and the three button plungers) and the back piece, which you 3D print yourself. The board is screwed to six bosses from behind, and the display sits behind the viewing window.
The front piece is the original enclosure's top part. It carries the viewing window (behind which sits the OLED) and the plungers that, when pressed, actuate the three buttons on the board. This is why the position of the buttons is non-negotiable — they must sit exactly under the plungers (Chapter 9).
In version 3, the back piece is deliberately deeper than the original (35 mm instead of the original 5,7 mm), so that the board and the external Shelly fit comfortably inside. A mounting tab with a keyhole slot sits at the top edge for wall mounting.
The template is available as an OpenSCAD file in the project under
box/feeder_back.scad. OpenSCAD is a free program that generates
a 3D model from a text file — the advantage: all dimensions appear as
variables at the very top of the file and can be adjusted.
box/feeder_back.scad.box/feeder_back_35mm.stl.box/Timer-Ersatzplatine-v3-BOARD.stl —
a 1:1 replica of the board (outline, screw holes, slots). Print it flat and
place it into the back piece before you order the real
board. This lets you check the fit safely (Chapter 7).The board is screwed from behind onto the back piece's bosses with six screws (boss grid 45 mm × 70 mm, screw hole 3,2 mm, countersunk for the screw head on the back). Four additional points on the front panel further center the board.
| Dimension | Value |
|---|---|
| Back piece outer size | 109,8 × 90,8 mm |
| Back piece depth (v3) | 35 mm |
| Wall and floor thickness | 1,3 mm |
| Board size | 101,6 × 77,5 mm |
| Boss grid | 45 mm (X) × 70 mm (Y) |
You don't have to design the board yourself — it is finished and ready in
the project under kicad-v3/. This chapter explains how it is
laid out, so that during assembly and testing you know what belongs
where. Anyone who wants to change something themselves will find the KiCad
guide in Chapter 8.
In version 3, all the electronics sit on the back of the board. Only the three buttons and the OLED socket remain on the front (toward the front panel) — everything that is operated or seen.
The board has four copper layers: the two outer layers (front and back) carry the traces, and the two inner layers are continuous ground planes in the low-voltage area. Such ground planes act as a calm reference plane: they keep the design low-noise and the Wi-Fi function stable.
The five nets L_IN, L_F, N,
SW_SHELLY, and O_LAST carry 230 volts. They are
grouped into their own net class "230V" (wider traces, larger
clearances) and all sit in the bottom left, well away from the electronics. A
design rule encoded in the design requires 6 mm of
clearance between every 230 V net and every low-voltage net.
The only exception is the PhotoMOS relay K1: its package is the certified isolation barrier (pins 1/2 = low voltage, pins 3/4 = mains voltage). Only there are the two worlds allowed to meet within a few millimeters — that is exactly what the component is built for.
The following overview shows what each line carries:
| Net name | Carries | Connects |
|---|---|---|
| L_IN | 230 V (unfused) | Mains input X1 → fuse F1 |
| L_F | 230 V (fused) | F1 → varistor RV1, power supply PS1, PhotoMOS K1.3, Shelly J1.L |
| N | 230 V neutral | X1 → RV1, PS1, Shelly J1.N, load X2, snubber X3 |
| SW_SHELLY | 230 V switched | PhotoMOS K1.4 → Shelly J1.SW |
| O_LAST | 230 V switched | Shelly J1.O → load output X2 + snubber X3 |
| +5V | Low voltage | Power supply → ESP 5V, C1, C2 |
| GND | Low voltage | Ground: ESP, buttons, PhotoMOS, OLED |
| +3V3 | Low voltage | ESP 3V3 output → OLED |
The ESP32-C3 uses these pins:
| Pin | Function |
|---|---|
| 5V / G | Supply from the power supply |
| 3V3 | Supplies the OLED |
| GPIO3 / 4 / 5 | Buttons T1 / T2 / T3 |
| GPIO6 | PhotoMOS driver (via 330 Ω) |
| GPIO7 | I²C SDA (OLED) |
| GPIO8 | Onboard RGB LED (status) |
| GPIO9 | I²C SCL (OLED) |
This table is the binding alignment between board and
firmware. On the left is what the firmware
(timer-relais-c3.yaml) does with the pin — with its exact
configuration; on the right, where the board routes it. Both sides must match
exactly, or the device will not work.
| ESP pin | Firmware (ID & configuration) | Board | Function in detail |
|---|---|---|---|
| GPIO3 | btn_s1 · input, internal pull-up, inverted, 30 ms debounce | Pad 3 → /BTN1 → button S1 to GND | Button S1 (Down/Manual). Idle level HIGH; a press pulls it to GND (LOW) → counts as "pressed." Short press = trigger timer 1. |
| GPIO4 | btn_s2 · input, pull-up, inverted, 30 ms | Pad 4 → /BTN2 → button S2 to GND | Button S2 (SET). Short = timer 2; long ≥ 3 s = info menu. |
| GPIO5 | btn_s3 · input, pull-up, inverted, 30 ms | Pad 5 → /BTN3 → button S3 to GND | Button S3 (UP). Short = timer 3; long ≥ 1,2 s = stop everything. |
| GPIO6 | shelly_trigger · GPIO output | Pad 6 → /PMOS_DRV → R1 330 Ω → K1 LED anode | Drives the PhotoMOS. HIGH = LED on = PhotoMOS conducts = Shelly SW gets L → load on. LOW = off. |
| GPIO7 | i2c: sda · 400 kHz | Pad 7 → /SDA → OLED J2.4 | I²C data line to the OLED. Deliberately on GPIO7 (not GPIO8). |
| GPIO8 | status_led · WS2812 (GRB), dimmed | on-module — no net on the board (Pad 8 unused) | Onboard RGB status LED (traffic light green/yellow/red). It sits fixed on GPIO8 of the module; that's why no second signal may be placed here — the reason SDA moved to GPIO7. |
| GPIO9 | i2c: scl · 400 kHz | Pad 9 → /SCL → OLED J2.3 | I²C clock line to the OLED (address 0x3C). |
| 5V / GND | Module supply | /+5V / GND from the power supply | 5 V from the AC/DC module; GND is the common ground (also the inner layers). |
| 3V3 | Output of the onboard regulator | /+3V3 → OLED-VCC | The ESP generates 3,3 V internally and uses it to power the OLED. |
You don't build a four-layer board at home — you have it manufactured by a PCB fabricator. Today that's cheap and easy: you upload a handful of files and receive the finished boards by mail.
box/Timer-Ersatzplatine-v3-BOARD.stl 1:1 on your 3D printer
(flat, no supports) and place it into the printed back piece. Does the
outline fit? Do the six slots line up with the bosses? Do the screw holes
sit right? These five minutes save you an expensive misorder.Alternatively (or in addition), print the board outline on paper at 1:1 scale and cut it out.
"Gerber" is the standard file format that manufacturers expect boards in — one file per layer, plus the drill data. The finished Gerber files are already included in the project; you can generate them from KiCad like this:
kicad-v3/Timer-Ersatzplatine-v3.kicad_pcb in
KiCad.Upload the ZIP to a provider such as JLCPCB, PCBWay, or Aisler. Important settings:
| Setting | Value |
|---|---|
| Layers | 4 |
| Board thickness | 1,6 mm (standard) |
| Surface finish | Lead-free HASL or ENIG |
| Copper | 1 oz (35 µm) |
| Color | doesn't matter |
You only need this chapter if you want to modify the board yourself. If you're just building the existing design, you can skip it — the finished manufacturing data is included. KiCad is a free program for board design (tested with KiCad 8/9/10; menu names may vary slightly).
kicad-v3/Timer-Ersatzplatine-v3.kicad_pro.Each component symbol is linked to a footprint — the solder pattern on the board. Under Tools → Assign Footprints, check that, for example, PS1 matches the power supply you actually bought (measure the pin spacing!) and that the PhotoMOS matches the SMD or DIP package.
The net classes are defined in the project file and must not be changed: Default (0,2 mm clearance and trace width) and 230V (1,0 mm clearance and trace width) with the five nets L_IN, L_F, N, SW_SHELLY, O_LAST.
The creepage-distance rule exists as its own file
Timer-Ersatzplatine-v3.kicad_dru in the project. It requires
6 mm between 230 V and low voltage — with the deliberate exception
of the PhotoMOS K1:
(version 1)
(rule "230V->SELV 6mm (K1-Barriere ausgenommen)"
(condition "... 230-V-Netz gegen Nicht-230-V-Netz,
K1 ausgenommen ...")
(constraint creepage (min 6mm))
(constraint clearance (min 6mm)))
After every change, run the DRC (Design Rules Check, Inspect → Design Rules Checker) until it comes back clean.
Once the DRC and visual inspection (3D view with Alt+3) are clean, export the Gerber and drill data as described in Chapter 7.
"Assembling" means soldering the components onto the board. We go from the flat parts to the tall ones — this way the board always lies stably while you solder.
Recommended order: R1 → C2 → PhotoMOS → buttons → OLED socket J4 → C1 → fuse holder F1 → varistor RV1 → terminal blocks. The ESP goes on only once it has been flashed and tested (Chapters 10 and 14).
Depending on the type, the PhotoMOS is a small SMD component. Here's how to solder it cleanly:
The "firmware" is the program that runs on the ESP. The very first time, it goes onto the chip via a USB cable. All later updates then happen wirelessly (Chapter 15).
firmware/build/: feeder-relais.factory.bin for the
initial flash and feeder-relais.ota.bin for later web updates.
They contain no Wi-Fi credentials — you set those up after
flashing (Chapter 11).ESPHome is the tool used to build and flash the firmware. A
secrets.yaml is not needed — no Wi-Fi data is compiled in.
esphome run firmware/timer-relais-c3.yaml
/dev/ttyACM0; on Windows, a COMx), and flashes./dev/ttyACM0 is denied, add your user to the
dialout group and log in again:
sudo usermod -aG dialout $USER
For the ready-made feeder-relais.factory.bin, with no
installation at all:
https://espressif.github.io/esptool-js/ in Chrome/Edge.115200, click Connect,
and select the ESP's serial port.0, use
Choose File to select feeder-relais.factory.bin, then
Program. Wait until "Hard resetting…" appears.| Symptom | Cause / Fix |
|---|---|
| ESP isn't recognized at all | Charge-only cable instead of a data cable → try another USB-C cable, another port |
| No port in the browser | Use Chrome/Edge; on Windows, install drivers if needed (CH340/CP210x) |
| "Connect" fails | Boot mode: hold BOOT + tap RESET + release BOOT, then connect again |
No ….local afterward | set up Wi-Fi first (Chapter 11); mDNS needs a moment |
The firmware deliberately ships with no Wi-Fi credentials. After flashing, the ESP opens its own hotspot:
feeder1234).http://192.168.4.1).http://feeder-relais.local.http://feeder-relais.local opens a mobile web app with five
tabs:
The header shows a status dot: green = everything OK, yellow = a timer is running, red = a fault while idle (e.g. OLED unreachable or no Wi-Fi). The same traffic light is shown on the device by the dimmed onboard RGB LED.
For home automation, the ESP offers a JSON interface. The most important endpoints:
| Call | Effect |
|---|---|
GET /api/status | all values as JSON (active, time remaining, relay, times, Wi-Fi …) |
POST /api/trigger?button=N | trigger button N (1–3) with its time |
POST /api/trigger?seconds=N | switch on ad hoc for N seconds |
POST /api/trigger?seconds=N&src=adapter | as above, tags the source — appears as trg (button/api/adapter) in the status and log |
POST /api/stop | switch off immediately |
POST /api/config?time1=A&time2=B&time3=C | set the times (each 1–600 s) |
POST http://feeder-relais.local/api/config?time1=8.In the Network tab you can set:
de.pool.ntp.org).feeder-relais). It is changed at runtime — the
….local address takes effect immediately.The Wi-Fi roaming (802.11k/v) switch only makes sense if you have multiple access points with the same SSID (mesh/UniFi) that support the technology. In that case, the device can actively switch to the stronger access point. Default: off. After toggling it, the "Reconnect now" button helps it take effect immediately.
On the device, the buttons are labeled: S1 = Down/Manual, S2 = SET, S3 = UP.
The OLED (128 × 32) shows the Wi-Fi bar at the top, the large clock or countdown, and the status (Idle/Feed); at the bottom, the date and free memory. Weekday, status, and menu titles follow the configured language. Until the first time synchronization, it shows "--:--".
The Shelly has four terminals: L, N, SW (switch input), and O (load output). Four short wires connect it to the board's terminal block J1:
| Board (J1) | → Shelly | Meaning |
|---|---|---|
| J1.3 (L_F) | L | Phase (fused) |
| J1.4 (N) | N | Neutral |
| J1.1 (SW_SHELLY) | SW | our switched signal (from the PhotoMOS) |
| J1.2 (O_LAST) | O | switched load to the output |
The Shelly is secured lying flat inside the enclosure (VHB tape or a clip). Keep the wires short and the screw terminals tight — no exposed copper may be visible.
After the first power-on, you set up the Shelly once (via its own app or web interface):
The small parts are soldered (Chapter 9). Now the ESP:
http://feeder-relais.local.After the initial USB flash, two wireless update paths are set up — the USB port is welcome to be hard to reach once the device is installed:
esphome run firmware/timer-relais-c3.yaml
updates over Wi-Fi.feeder-relais.ota.bin. The device then restarts.With live view enabled, the Service tab shows the most
recent log lines, filtered by level (ERROR/WARN/INFO/DEBUG). This helps with
troubleshooting without having to hook the ESP up to a cable. Full logs are
also available via esphome logs firmware/timer-relais-c3.yaml.
| Problem | Remedy |
|---|---|
| ESP isn't recognized | Data cable instead of charge-only cable; try a different USB port |
| "Connect" fails | Force boot mode (hold BOOT, tap RESET, release BOOT) |
feeder-relais.local unreachable | Was Wi-Fi set up in the setup hotspot? mDNS takes a moment; try the IP address directly (in the OLED menu) |
| Setup hotspot missing | The device is already connected to a Wi-Fi network; otherwise do a factory reset (factory image with flash erase) |
| Problem | Remedy |
|---|---|
| OLED stays dark | Is the display seated correctly on J4? Check the GND/VCC/SCL/SDA pinout |
| Clock shows "--:--" | no time from the NTP server yet; check Wi-Fi and the NTP server |
| Status dot red | OLED unreachable or no Wi-Fi — the Status tab shows details |
| Load doesn't switch | Is the Shelly set to "Switch/Follow"? Check the SW/O wiring; measure the PhotoMOS output in the USB-only test |
| Button doesn't trigger | Is the button seated exactly under the plunger? Check the solder joints |
| ESP pin | Function | Net |
|---|---|---|
| 5V / G | Supply | +5V / GND |
| 3V3 | OLED supply | +3V3 |
| GPIO3 / 4 / 5 | Buttons T1 / T2 / T3 | BTN1/2/3 |
| GPIO6 | PhotoMOS driver (via 330 Ω) | PMOS_DRV |
| GPIO7 | I²C SDA (OLED) | SDA |
| GPIO8 | Onboard RGB status LED | — |
| GPIO9 | I²C SCL (OLED) | SCL |
The five 230 V nets (net class "230V"): L_IN, L_F,
N, SW_SHELLY, O_LAST.
| Path | Content |
|---|---|
kicad-v3/ | the v3 board (KiCad: schematic, layout, rules) + manufacturing data |
box/feeder_back.scad | enclosure back piece (OpenSCAD source) + ready-made STL |
box/Timer-Ersatzplatine-v3-BOARD.stl | board mock-up for the fit check |
firmware/timer-relais-c3.yaml | ESPHome firmware |
firmware/timer_web.h | web app + JSON interface |
firmware/net_config.h | network configuration (IP, NTP, hostname, roaming, language) |
firmware/build/*.bin | ready-made flash images (factory + ota) |
README.md | project overview (German; translations under docs/<language>/) |
docs/handbuch/…-Handbuch.pdf | this manual as a PDF (translations under docs/<language>/) |
| Term | Meaning |
|---|---|
| ESP32-C3 | small microcontroller with Wi-Fi — the device's "brain" |
| PhotoMOS | semiconductor relay that isolates low voltage and 230 V using light |
| Shelly | ready-made Wi-Fi switching relay with power measurement (external) |
| OLED | small, high-contrast display |
| Gerber | standard file format for PCB manufacturing |
| Footprint | the solder pattern of a component on the board |
| DRC | Design Rules Check — the automatic rule check in KiCad |
| Creepage distance | the path along the surface that current can "creep" along |
| OTA | "Over the Air" — wireless firmware update |
| NTP | internet time service that sets the clock |
This manual is licensed under CC BY-NC-SA 4.0. Its structure follows the documentation rulebook of the sister project AskSin-Analyzer: a table of contents with jump targets, fixed page-break rules, and the footer with the way back to the contents on every page.
Building this project is at your own risk. 230 volts can be fatal — when in doubt, consult a qualified electrician.