❤️ Pulsierende Herzlampe mit Lithophane
Diese Lampe war mein erstes größeres Projekt, bei dem ich ein Lithophane mit adressierbarer LED-Beleuchtung kombiniert habe.
Die Idee war, eine warme und lebendige Kombination aus Licht, Bewegung und Bildwirkung zu schaffen.
Das Herz pulsiert dabei über WS2812 LEDs, während das mittlere Lithophane konstant und gleichmäßig beleuchtet bleibt.
🎞️ Animation


📸 Frontansicht

Die Frontansicht zeigt das zentrale Lithophane, welches bewusst dauerhaft gleichmäßig ausgeleuchtet wird, damit das Motiv klar sichtbar bleibt.
Das pulsierende Herz außen herum sorgt dabei für den eigentlichen Effekt und bringt etwas Leben in die Lampe.
📸 Seitenansicht

Von der Seite erkennt man gut die Tiefe des Gehäuses sowie den Aufbau für die indirekte Beleuchtung.
Gerade bei Lithophanen spielt der Abstand zwischen LEDs und Bild eine wichtige Rolle für eine gleichmäßige Ausleuchtung.
🔧 Technik & Elektronik
Verbaut wurde unter anderem:
| Komponente | Beschreibung |
|---|---|
| Wemos D1 Mini | Steuerung |
| WS2812 LEDs | adressierbare LEDs für Pulseeffekt |
| PLA | Gehäuse & Konstruktion |
Die genaue Anzahl der LEDs hängt davon ab welche Art von WS Led 2812 verbaut werden, daher im Programm als Variable angegeben.
📸 Rückseite & Innenleben

Mir war wichtig, dass die Elektronik möglichst sauber und trotzdem zugänglich bleibt.
Da dies mein erstes größeres Lithophane-Projekt war, entstanden während des Baus einige Anpassungen und kleinere Änderungen direkt beim Testen.
Und wie so oft:
„Nur kurz etwas ändern“ dauert in Wirklichkeit meistens deutlich länger 😄
💻 Konstruktion in Fusion 360

Die Konstruktion entstand komplett in Fusion 360.
Besonders spannend war dabei:
- die Trennung zwischen Herzbeleuchtung und Lithophane
- die Kabelführung
- die Positionierung der LEDs
- sowie die gleichmäßige Lichtverteilung
Gerade bei beleuchteten Projekten merkt man schnell:
Nicht alles, was am Bildschirm gut aussieht, funktioniert später auch direkt im Druck 😄
✨ Fazit
Auch wenn heute vieles anders oder sauberer umgesetzt würde, hat dieses Projekt für mich einen besonderen Stellenwert.
Es war der Einstieg in die Kombination aus:
- 3D-Druck
- Elektronik
- Lichttechnik
- und Lithophanen
Und genau daraus sind später viele weitere Projekte entstanden.
📥 Dateien & Download
Die Druckdateien zu diesem Projekt habe ich auf
Printables veröffentlicht.
Dort findest du:
- die STL-Dateien
- Druckinformationen
- weitere Bilder
- sowie mögliche Updates zum Projekt
🔧 Arduino Code anzeigen
/*
============================================
Heart Lithophane Lamp
by DL4KER
============================================
Wemos D1 Mini + WS2812 LEDs
Funktionen:
- Herzbeleuchtung pulsiert rot
- Lithophane konstant warmweiß
- LED Anzahl einfach anpassbar
2025 - DL4KER
*/
#include
#define DATA_PIN D4
// ============================================
// LED Einstellungen
// ============================================
// Anzahl LEDs Herz
const uint16_t HEART_LEDS = 30;
// Anzahl LEDs Lithophane
const uint16_t LITHO_LEDS = 10;
// Gesamtanzahl
const uint16_t NUM_LEDS = HEART_LEDS + LITHO_LEDS;
// LED Array
CRGB leds[NUM_LEDS];
// ============================================
// Helligkeit
// ============================================
const uint8_t MAX_BRIGHTNESS = 180;
// ============================================
// Pulsieren
// ============================================
uint8_t pulseBrightness = 0;
int pulseDirection = 1;
// ============================================
// Setup
// ============================================
void setup() {
FastLED.addLeds(leds, NUM_LEDS);
FastLED.setBrightness(MAX_BRIGHTNESS);
}
// ============================================
// Hauptloop
// ============================================
void loop() {
// --------------------------------------------
// Herz LEDs pulsierend
// --------------------------------------------
for (int i = 0; i < HEART_LEDS; i++) {
leds[i] = CRGB(pulseBrightness, 0, 0);
}
// --------------------------------------------
// Lithophane LEDs konstant warmweiß
// --------------------------------------------
for (int i = HEART_LEDS; i < NUM_LEDS; i++) {
leds[i] = CRGB(255, 180, 100);
}
FastLED.show();
// --------------------------------------------
// Pulsieren berechnen
// --------------------------------------------
pulseBrightness += pulseDirection * 2;
// Umkehrpunkte
if (pulseBrightness >= 220) {
pulseDirection = -1;
}
if (pulseBrightness <= 20) {
pulseDirection = 1;
}
delay(20);
}