3 points par GN⁺ 2025-03-30 | 1 commentaires | Partager sur WhatsApp

Projet de minuteur de concentration basé sur ESP32

Il s’agit d’un projet de minuteur de concentration utilisant un ESP32, un écran ePaper et une molette rotative. Le code de ce dépôt a été publié après suppression de certaines ressources et polices, ce qui le rend difficile à utiliser tel quel, mais il peut être modifié selon les besoins.

Liste des composants

  • ESP32 (AZDelivery ESP32 NodeMCU utilisé)
  • Écran e-Paper WaveShare 4,26 pouces HAT, 800x480
  • Encodeur rotatif KY-040 avec bouton
  • LED WS2812 (remplaçable par une simple LED RGB)
  • Connecteur USB-C
  • Boîtier imprimé en 3D
  • Résistances et condensateur de 0.1uF

Origine du projet

J’aime tester des techniques pour améliorer la productivité et je consacre chaque année du temps à un projet utile aux autres. En m’appuyant sur mon expérience d’ingénieur en électronique, je voulais créer un appareil physique et j’ai fini par fabriquer ce minuteur de concentration pour aider un ami à mieux gérer son temps.

Pourquoi ces composants

Écran ePaper
  • Je voulais un écran sans rétroéclairage, et j’ai choisi le modèle 4,26 pouces pour les raisons suivantes :
    • excellente résolution
    • taille adaptée
    • prise en charge du rafraîchissement partiel
Encodeur rotatif
  • J’ai choisi une molette rotative comme dispositif d’entrée intuitif, et j’ai ajouté un condensateur de 0.1uF pour lisser le signal.
LED
  • Il n’y avait pas de LED prévue au départ, mais pour compenser la discrétion de l’écran, une LED WS2812 a été utilisée pour afficher différents états.

Fabrication du boîtier

  • Le boîtier se compose de deux parties, et le bord supérieur a tendance à se déformer légèrement lors de l’impression. Pour corriger cela, des pieds en caoutchouc et du poids ont été ajoutés.

Logiciel

  • Le projet est écrit en C++ et utilise le framework Arduino. La bibliothèque GxEPD2 est utilisée pour piloter l’écran, et une partie du code du projet a été générée avec l’aide de l’IA.

Utilisation de l’appareil

  • Au démarrage, l’appareil peut entrer en mode modification des réglages ou sélection des préréglages. Une fois le minuteur lancé, la LED clignote et un message s’affiche à l’écran. Il est alors possible de continuer à travailler ou de commencer une pause, et après plusieurs répétitions, une pause plus longue est accordée.

Développement

Mappage des broches
Encodeur rotatif (KY-040)
  • CLK: 32
  • DT: 21
  • SW: 14
Écran ePaper (GxEPD2_426_GDEQ0426T82, WaveShare 4.26" b/w)
  • BUSY: 4
  • RST: 16
  • DC: 17
  • CS: 5
  • CLK: 18
  • DIN: 23
LED (WS2812)
  • DIN: 25

1 commentaires

 
GN⁺ 2025-03-30
Commentaires sur Hacker News
  • J’aime beaucoup ce projet. L’UI est très séduisante et bien conçue. Ça semble être une activité parfaite pour le week-end

    • Si vous cherchez un projet de hackathon, l’écosystème E-ink est désormais assez mature pour être programmé. Claude/l’IA peut utiliser l’API facilement
    • Les gens préfèrent généralement placer les écrans E-ink dans le salon, car ils sont moins distrayants que les écrans rétroéclairés
    • E-ink et les pomodoros sont chacun de mes centres d’intérêt
  • Les projets de type « appareil » sont toujours intéressants. Même quand l’objectif est simple, ce sont souvent les plus difficiles

    • J’aime le choix de l’écran, ainsi que l’attention portée à l’objectif et à l’utilisabilité
    • Quelques notes sur le design de l’objet
      • Si le bouton rotatif était large et plat sur le dessus de l’appareil, on pourrait centrer l’écran et rendre l’appareil plus compact
      • Les coins et les congés donnent un aspect raffiné aux objets. C’est un petit détail, mais ça fait une grande différence
      • S’il y a toujours trois options dans le menu, je suggérerais de mettre trois boutons en haut plutôt qu’un bouton rotatif
      • Avec un filament translucide, on peut créer de superbes pièces de « conduction de lumière »
    • Je me demande si OpenSCAD a été utilisé pour concevoir le bouton rotatif. Son motif semble avoir été très bien généré de manière programmatique
  • Le fait de se concentrer sur trois cas d’usage différents et de fournir des statistiques est un ajout appréciable

    • Ce serait bien de mentionner que le pomodoro tire son nom d’un minuteur physique avec encodeur rotatif
  • Quelqu’un que je connais a essayé de lancer une activité autour d’un minuteur pomodoro physique

    • Une fonctionnalité supplémentaire utile pour les personnes qui l’utilisent au bureau serait de placer une LED sur le dessus de l’appareil pour connaître l’état sans regarder l’écran
  • Beau projet. Je recommande de jeter un œil à la bibliothèque LVGL. C’est une bibliothèque graphique embarquée utile pour créer des UI

  • Toute l’idée du pomodoro vient du minuteur de cuisine. La meilleure UX se trouve dans les minuteurs de cuisine physiques

  • Je réfléchis à la manière de fabriquer un minuteur pomodoro physique. J’aime bien l’idée de ne pas voir le temps restant. J’utilise l’application Visual Timer

  • J’adore vraiment ce projet. Ça me fait penser à porter mes propres outils de productivité sur un appareil réel

  • Chaque fois que je vois quelque chose lié à un minuteur pomodoro, je repense à une interview avec un fondateur de YC. L’entreprise a fait faillite en moins d’un an, et depuis, je n’ai plus réussi à respecter cette technique