2 points par GN⁺ 2025-08-09 | 1 commentaires | Partager sur WhatsApp
  • flip-card est un matériel open source qui exécute une simulation de fluide FLIP sur une mini-carte de visite ultra-compacte.
  • Les fichiers de conception PCB et la logique de simulation y sont inclus directement, ce qui facilite la consultation et la réutilisation.
  • Un simulateur WASM permet de déboguer la simulation sans matériel physique.
  • Des conceptions créatives, dont une batterie rechargeable et un port USB-C, ont été intégrées.
  • Il a été développé d’après des algorithmes récents et des projets de référence d’universitaires réputés comme Matthias Müller.

Vue d’ensemble du projet flip-card

  • flip-card intègre un algorithme de simulation d’écoulement dans une carte au format mini-carte de visite et est un projet de matériel open source exécuté sur du matériel réel.
  • Ce projet s’inspire du projet fluid simulation pendant de mitxela et se distingue par la possibilité d’observer un mouvement de fluide intuitif et visuel directement sur la carte.

Principaux fichiers et structure

  • Les fichiers de conception PCB se trouvent dans le dossier "kicad-pcb".
  • La logique de simulation d’écoulement basée sur FLIP se trouve dans un crate Rust indépendant dans le dossier "fluid_sim_crate", implémentée à partir des travaux de Matthias Müller et des méthodes récentes présentées dans "Ten Minute Physics".
  • Le fichier "flip-card_firmware" contient l’implémentation du firmware basé sur la puce RP2350.

Fonctionnalités et caractéristiques

  • Batterie rechargeable intégrée : en s’inspirant du projet tiny touch lcd de cnlohr, un port USB-C sur le bord de la carte a été implémenté pour améliorer l’utilisabilité réelle.
  • Simulateur WASM : grâce à l’outil WebAssembly du dossier "sim_display", le débogage de la simulation est possible en environnement PC et web, sans matériel.
  • Les descriptions détaillées de chaque dossier sont incluses dans les fichiers README correspondants.

Autres informations

  • flip-card convient bien à l’apprentissage et comme référence pour différentes technologies embarquées récentes, comme l’implémentation de circuits de simulation de fluide, la conception de circuits matériels, le débogage de simulation basé sur WebAssembly, et la conception de cartes rechargeables.
  • C’est un projet reconnu par la communauté open source comme un cas de référence et un exemple de savoir-faire en matière de conception.

1 commentaires

 
GN⁺ 2025-08-09
Commentaires Hacker News
  • Les avantages d’une boîte vide de la taille d’une carte de visite partiellement remplie d’eau sont que le mouvement du fluide est plus réaliste, c’est économique, facile à fabriquer et simple à déboguer. Les inconvénients sont le risque d’avoir les fesses mouillées en s’asseyant, et que l’on ressent moins de satisfaction quand on fait quelque chose de difficile et d’ambitieux.

    • Sur une carte de cette taille, le mouvement du fluide devient trop rapide
  • Le port USB-C au bout de la carte est vraiment cool. Je pense qu’on verra beaucoup plus d’initiatives de ce type une fois que les gens sauront qu’ils peuvent ajouter un port USB-C à une carte sans pièce externe ni soudure.

  • C’est une super carte de visite, mais le prix semble un peu élevé pour la distribuer de cette façon. J’ai déjà rencontré quelqu’un qui avait fabriqué une carte de visite hardware, je n’en ai pas un très bon souvenir, mais elle n’était pas aussi cool. Sa carte était déjà bien rayée, et il m’avait demandé de la rendre, ce qui m’a semblé un peu étrange.

    • Je ne la donnerais pas à n’importe qui, mais la personne qui la reçoit la gardera probablement en mémoire toute sa vie. Elle risque de la garder dans son tiroir de bureau et de continuer à la manipuler; elle finira sans doute par mémoriser l’e-mail ou le LinkedIn du créateur.
    • Ce genre de carte de visite hardware est principalement utilisé comme projet portfolio. Cela permet de diriger du trafic vers un site web ; si vous êtes freelance ou en recherche d’emploi, il peut être pertinent d’en fabriquer une petite quantité et de les offrir de manière ciblée auprès de prospects ou pour des opportunités professionnelles.
    • Si quelqu’un vous la redemande, c’est plus un jouet qu’une carte de visite.
    • Pour certaines personnes, il n’est peut-être même pas nécessaire de donner une carte de visite. Si vous êtes en recherche d’emploi, lier ce projet à un article de blog ou à un CV/site web peut déjà être suffisamment percutant.
    • J’avais espéré y voir un mode d’affichage de QR code ou un bouton.
  • Si vous voulez voir à quoi ressemblent le schéma électronique et le PCB, vous pouvez consulter directement un visualiseur en ligne des fichiers KiCad. J’ai une question pour le créateur de la carte (phirks ?): je me demande s’il a déjà envisagé d’afficher plus d’interactions ou diverses informations via la matrice LED. L’usage d’un bouton tactile permet un contrôle avec quasiment aucun coût en plus sur la BOM. Bien sûr, c’est déjà vraiment cool en l’état.

    • J’ai pensé à ajouter un jeu type Tetris avec l’accéléromètre. Je compte le faire après avoir terminé ma recherche d’emploi. J’ai déjà implémenté le code pour afficher des chiffres, mais je ne l’ai pas encore utilisé. Le texte ne fonctionne pas aussi bien que prévu : il faut plus d’espace pour que les caractères soient lisibles, et avec un espacement LED aussi large, les petites polices pixelisées ne sont pas jolies. Un texte défilant ne serait pas mauvais, mais je n’ai pas encore eu le temps d’y travailler. J’ai essayé d’afficher un QR code, mais le scan ne passait pas bien. Mon principe est de ne pas utiliser de boutons, donc si je peux exploiter les clics/double-clics de l’accéléromètre, j’y réfléchirai davantage. J’apprécierais que tout le monde propose des forks, contribue et ouvre des issues; je m’occuperai bien de la maintenance.
  • En Chine, des produits comme le “digital hourglass” existent déjà depuis longtemps dans ce format. Un jeu complet nommé Cataclysm a été créé pour l’Acorn Archimedes avec ce concept, visible dans une vidéo YouTube. Il a même été refait sur Xbox 360, et je m’en souviens comme d’un truc vraiment impressionnant à l’époque.

    • Un jeu de simulation de fluide très sympa et rétro. Dans Oxygen Not Included, divers fluides et gaz sont simulés, avec aussi des modes sandbox et des outils de debug. J’adore surtout voir différents matériaux interagir entre eux, comme dessinés. Il y a une vidéo de gameplay.
    • Je me demande s’il existe aussi un Digital Disco Ball.
  • Si ce type de projet vous plaît, je recommande aussi chaudement le fluid simulation pendant de mitxela. Tous ses travaux sont toujours bluffants, à la fois instructifs et amusants. Il partage tout avec une grande générosité ; la qualité des vidéos et des articles est excellente et sa voix est agréable, ce qui force le respect. J’aimerais vraiment qu’il y ait plus de personnes comme lui. Je conseille vivement de regarder ses vidéos et ses articles.

    • La forme ronde va mieux avec une simulation de fluide.
    • Le design me plaît énormément. Le prix est toutefois un peu élevé à £1200.
  • Le design est artistiquement beau. Personnellement, je vois des zones où les couches de silk se superposent ; il serait bien de nettoyer cette partie ou de supprimer complètement les désignateurs de composants. Pour la police de texte au dos, j’aurais envie d’essayer quelque chose de plus ludique, selon les goûts. Le projet est globalement bien fini. Je travaille beaucoup sur des travaux LED RP2350 en ce moment, et je me demande si je peux faire tourner ce code sur le pendentif que je suis en train de concevoir.

  • Un peu hors sujet, mais je me demande par où commencer pour apprendre la programmation de simulation physique. J’ai vu il y a quelques années le projet taichi_mpm ; il ne fait que 88 lignes en C++, mais je l’ai trouvé trop difficile. J’ai déjà de l’expérience avec des implémentations simples de compilateur ou de base de données, mais pour la simulation physique, je me sens comme une page blanche.

    • Il faut probablement commencer par les "méthodes numériques" et la "physique computationnelle". La simulation physique couvre un champ extrêmement large, et la manière de simuler des fluides et de calculer des orbites planétaires diffère beaucoup. Au fond, il y a un point commun : intégrer numériquement des équations différentielles et de l’algèbre linéaire pour des variables. La plus basique est la méthode d’Euler, qui met à jour chaque pas les accélération, vitesse et position calculées, mais comme l’erreur est grande, on utilise en pratique des méthodes plus avancées comme Runge Kutta. Si le système physique doit respecter une propriété (ex : conservation de l’énergie), il existe aussi des méthodes numériques qui garantissent cela. Le choix entre simulation particulaire et simulation sur grille diffère beaucoup, si bien que cette question touche au cœur même de la physique. Terminer avec cette phrase classique que tout est physique.
    • La simulation de corps rigide (rigid body) est bien plus simple. Les notes de cours SIGGRAPH 2001 sur la simulation de corps rigide sont un peu ardues, mais permettent d’embrasser la compréhension mathématique et l’ensemble du processus.
    • Les tutoriels proposés par des plateformes de jeu à performance volontairement limitée, comme pico-8, sont très utiles. Par exemple, implémenter une simulation physique simple comme Mario en mettant à jour chaque frame la position x/y et dx/dy (vitesse) du personnage permet d’acquérir une bonne sensation de base. Quand le joueur appuie sur le bouton de saut, il passe à l’état “jump” avec dy=1, et on multiplie dy par 0,9 à chaque frame. Quand dy devient inférieur ou égal à 0, il passe à l’état “falling”, puis on multiplie dy par 1,1 jusqu’à atteindre la vitesse terminale. Avec ces bases, des effets physiques simples de type “falling sand” sont faciles à implémenter.
    • Les simulations physiques sont le plus souvent basées sur des particules ou sur l’intégration d’équations différentielles. En pratique, les deux se rejoignent dans la discrétisation et le calcul numérique. Le livre “Numerical Recipes” est la bible que tout physicien lit, et “Computer Simulation of Liquids” (Allen) est aussi une bonne entrée en matière. Ici, on parle de la branche qui recherche la précision physique réelle; en game design, on peut aussi utiliser diverses heuristiques qui n’ont qu’à paraître physiquement plausibles.
    • Côté mécanique statistique, le cours de mécanique statistique sur Coursera est recommandé. Il contient énormément d’exemples Python. La vidéo tenMinutePhysics est aussi une bonne vidéo d’introduction.
  • Un exemple de ce type datant de 2009 est visible ici.

  • Je veux en savoir davantage sur la méthode de fabrication; je suppose que l’assemblage en surface (surface-mount) n’a pas été fait sans recours à un prestataire.

    • Aujourd’hui, fabriquer de l’électronique est moins cher et plus facile qu’on ne pense souvent. Les schémas et le layout sont conçus avec KiCAD, un outil open source, probablement commandés chez un fabricant de PCB à l’étranger, et ce niveau de complexité est gérable. Pour quelques centaines de dollars, avec fabrication et livraison, c’est faisable en moins d’un mois. Pour assembler manuellement du SMD, il faut appliquer de la pâte à souder, poser les composants puis chauffer l’ensemble pour souder, et avec autant de LED, le montage manuel est extrêmement fastidieux.
    • J’ai effectivement travaillé avec une société d’assemblage (il y a un fichier centroid indiquant les positions), mais ce type de montage de composants peut être réalisé à la main plus facilement que prévu. J’ai même parfois trouvé cette méthode plus facile que le through-hole, car on n’a pas besoin de retourner sans cesse la carte. Malgré tout, il y a 99,9 % de chances que ce soit produit à l’échelle de JLC ou PCBWay.
    • Ce genre de PCB peut être fabriqué en petite série pour quelques dollars sur des plateformes comme JLCPCB. Néanmoins, les LED de ce produit semblent de qualité, et certaines pièces peuvent avoir un coût élevé.
    • Je me demande comment les LED ont été alignées avec une telle précision. Ont-elles été alignées avec un guide de grille en silicone, ou bien avec une machine de pick-and-place robotisée qui les a positionnées avec précision?