Smart Habit Trainer – DIY Project (Digispark ATTiny85)
I would like to introduce my smart habit trainer, designed in the shape of a small egg.
The idea behind this project started with a simple goal: creating a subtle light reminder to help me stay hydrated while working. When deeply focused, I often forgot to drink enough water. The device was designed to be minimal, easy to use, and suitable for any workspace.
At its core, the project uses a Digispark ATTiny85 microcontroller. It is ideal for this application due to its compact size and ease of programming using the Arduino IDE. The controller drives an 8-LED NeoPixel ring and processes touch input via a simple wire-based sensor.
As the project evolved, additional features and modes were added, turning it into a versatile smart desk companion.
Features & Modes
• Hydration Reminder
Lights up after 25 minutes (light blue), then after 5 minutes (orange), and after another 5 minutes (red).
The timer can be reset by touch.
• Busy Light
Indicates your availability: green (available), red (busy), or off.
• Ambilight Mode
Smooth color transitions for a calm and ambient lighting effect.
• Simple Light Mode
Basic illumination.
How it works
When powered via USB (PC, charger, monitor, hub, etc.), the Digispark boots for about 5 seconds.
After that, the device enters the selection mode (white light).
You can select a mode by touching the wire:
• Light blue → Hydration reminder
• Green → Busy light
• Violet → Ambilight
• White → Selection menu / simple light
If no input is detected for 3 seconds, the selected mode starts.
To exit a mode, touch the sensor for 6 seconds to return to the selection menu.
The timer values can be easily adjusted in the code to support different habits such as:
• Drinking water
• Taking breaks
• Short workouts
• Pomodoro sessions
Required Components
• Digispark ATTiny85
• NeoPixel Ring (8 LEDs, WS2812B)
• USB cable
• Resistor 1MΩ
• Resistor 1kΩ
• Copper wire (~25 cm, e.g. 1.5 mm²)
• 3D printing filament (white or transparent recommended)
Optional: additional filament colors
Tools
• Cutter / knife
• Pliers
• Soldering iron and solder
Software
• Arduino IDE with Digispark ATTiny85 support
What you get
• STL files for 3D printing
• Source code
• Step-by-step instructions with images
This project is perfect for beginners entering the maker world, as well as for anyone looking to build a practical and customizable smart device.
Build it, customize it, and make it part of your daily routine.
Ich möchte euch meinen Smarten Gewohnheitstrainer in Form von einem Ei vorstellen.
Die Idee zu Beginn des Projektes war es einen Licht Wecker zu bauen der mich daran erinnert regelmäßig Wasser zu trinken, insbesondere dann, wenn ich in die Arbeit vertieft bin habe ich oft vergessen etwas zu trinken.
Der Wecker sollte nicht zu auffällig sein, leicht zu bedienen und möglichst überall einsetzbar sein.
Ich habe für das Projekt einen Digispark ATTiny85 Mikrocontroller verwendet, er ist perfekt für das Projekt geeignet, weil er sehr klein ist und einfach zu Programmieren mit Hilfe der Arduino IDE.
Der Digispark ATTiny85 steuert hier einen Neopixel Ring mit 8 LED´s und verarbeitet ein Eingangssignal welcher über einen Draht mit zwei Wiederständen mit dem Mikrocontroller verbunden ist.
Als der Wecker dann irgendwann fertiggestellt war kamen mir noch weitere Ideen zu den Funktionen welche der noch abdecken könnte.
Hier eine Übersicht der unterschiedliche Modi:
- Trink Wecker (Leuchtet nach 25Minuten Hellblau, nach weiteren 5 Minuten Orange und nach weiteren 5 Minuten dann Rot) --> der Timer kann durch Berührung wieder zurück gesetzt werden.
- Busy-Light (Umschaltung der Verfügbarkeit Grün/Rot/Aus) --> soll anzeigen ob man gerade Verfügbar ist oder ob man aktuell nicht gestört werden möchte.
- Ambilight (Langsames durchlaufen aller Farben) --> gemütlicher und dezenter Lichteffekt
- Einfaches kleines Licht
Die Bedienung sieht Folgendermaßen aus:
Beim Einstecken des USB Kabels in ein beliebigen USB Anschlusses (Ladegerät, PC, Monitor, USB-Hub,…) Bootet der Digispark ATTiny85 5 Sekunden lang, dann befindet man sich im Auswahlmenü (Leuchtet Weiß)
Nun kann das Ei am Draht berührt werden um einen Modus aus zu wählen.
Berührung = Ei leuchtet Hellblau --> Trinkwecker
Berührung = Ei leuchtet Grün --> Busy-Light
Berührung = Ei leuchtet Violett --> Ambilight
Berührung = Ei leuchtet Weis --> Auswahlmenü bzw. Einfaches Licht
Wenn das Ei für 3 Sekunden nicht mehr berührt wird, dann wird der Ausgewählte Mode aktiviert.
Um einen aktiven Modus zu verlassen dann muss das Ei 6 Sekunden lang berührt werden. Danach befindet man sich wieder im Auswahlmenü.
Die Zeiten für den Wecker können bei Bedarf im Code angepasst werden um z.B. eine Zeit zu definieren für die Einhaltung neuer Gewohnheiten:
- Wasser trinken
- Aufstehen und ein paar Schritte gehen
- Kurzes Workout
- Kurze Pause (Pomodore Technik)
Um Diese Projekt realisieren zu können, Benötigt ihr:
Kaufteile:
- Digispark ATTiny85 - Amazon 4-6€
- Neopixel-Ring 8 LED´s (WS2812B LED) - Amazon 3-5€
- Altes USB Ladekabel - hat jeder zu Hause
- Wiederstand 1M Ohm
- Wiederstand 1k Ohm
- 25cm Kupferdraht 1,5qmm (Typisch für Hausinstallation, z.B.: NYM 3x1,5)
- Weises oder Transparentes Filament
- Optional Filament in einer anderen Farbe
Werkzeug:
- Cutter/Messer
- Flachzange/Spitzzange
- Lötkolben mit Lötzinn
Software:
- Arduino IDE mit Digispark ATTiny85 Erweiterung siehe Link
Ihr bekommt bei Kauf:
- die .stl Dateien zum Drucken
- den Source-Code für das Programm
- eine Anleitung mit Bildern