EEG Rugby Helmet
Embedded-systems engineer (internship, 6 weeks) · 2024
The problem
Rugby produces head impacts by design. Most are harmless, some are not, and the difference is currently judged by whoever happens to be standing nearest to the player. Concussion gets diagnosed late, players under-report it, and the cumulative effect stays invisible while the match is still running.
Brain Shell was founded around that gap, by a rugby player who had lived through a concussion. Its answer is a helmet that does more than pad the head: it instruments it. Sensors in the shell, data off the pitch, and a decision that stops being a guess.

I joined the three-person technical team for six weeks, in the run-up to a public demonstration. The brief covered both ends of the product: the board that reads the player, and the interface that reads the board.
Hardware: a new acquisition board
The existing prototype was rebuilt around an ESP32-C3 module. More headroom, Wi-Fi and BLE in one package, and a footprint that fits inside a shell. Week one went into reading the existing KiCad project rather than starting a new one. You inherit a schematic before you improve it.


Then the loop, repeated. Research the sensor module against the constraints that actually matter inside a helmet: size, weight, shock resilience, none of which appear at the top of a datasheet. Sketch it in CAD. Breadboard it. Test it against simulated impacts. Iterate the layout. Then the fabricated boards arrive and get inspected, populated, soldered, tested.

RST and BOOT, designed in KiCad and assembled by hand.Two constraints shaped the whole hardware timeline. The global component shortage delayed both PCBs and parts, which turned stock planning and alternative-supplier hunting into a real part of the job. And there is remarkably little accessible clinical data on what a given impact does to a brain. The threshold you would want to set is a research question rather than a spec, which is why the team worked with academic labs and neuroscience experts instead of picking a number.
Software: the touchline dashboard
The pitch-side question is simple, and the interface has to answer it in one glance. Which helmets are connected, and has anyone just taken a hit they should not walk off?

Live, each helmet reports acceleration on three axes, a shock count and a running average. The whole canvas doubles as the alert: white at rest, flooding red on a hard impact. You can read that from across a touchline. A number in a corner, you cannot.


X −6 / Y 6 / Z −33, and the screen goes red.After the session the same data becomes a ranking and a per-player breakdown. The dangerous pattern in rugby is rarely one spectacular hit. It is thirty-five moderate ones absorbed by the same front-row player over eighty minutes.


Flutter, then Tauri
I built the first interactive version in Flutter, then led the migration to Tauri (Rust). One codebase, smoother navigation, web and mobile out of the same source. That meant running training sessions to bring the team up on Rust and Tauri, and putting regular check-ins in place so nobody drifted during the switch.
Owning that call is the part of the internship I would defend in an interview. Flutter was the right choice until it stopped being one, and switching cost less than defending it would have. A device that reads brain activity is also a privacy problem before it is a product, so the data is protected with TLS in transit and AES at rest.
Testing and demonstration


The prototypes were validated on the mannequin, then documented. Sensor-module specs and test protocols, written down so the next person does not have to re-derive them. Then presented to the company’s leadership. The step after that was a pitch to Racing 92, one of France’s top professional clubs, and the first time the product would face the people who would actually have to trust it.

What I took away
Joining a project already in motion, in a startup, on a fixed public deadline. You do not get to design from scratch. You read what exists, find where you are useful, and be right quickly. Concretely: PCB design in KiCad, embedded work on the ESP32, and the discovery that leading the software side is mostly communication. Training the team on an unfamiliar stack, and keeping the objective legible while the technology under it changes.
Six weeks at Brain Shell in Courbevoie, summer 2024, alongside the technical team. Sensor thresholds and product internals stay off this page. The engineering is the point.
Das Problem
Rugby erzeugt Kopfstöße von Natur aus. Die meisten sind harmlos, manche nicht, und darüber entscheidet derzeit, wer gerade am nächsten beim Spieler steht. Gehirnerschütterungen werden spät erkannt, von Spielern untertrieben, und ihre kumulative Wirkung bleibt unsichtbar, während das Spiel weiterläuft.
Brain Shell entstand um genau diese Lücke, gegründet von einer Rugbyspielerin, die selbst eine Gehirnerschütterung erlebt hat. Die Antwort ist ein Helm, der nicht nur den Kopf polstert, sondern ihn instrumentiert. Sensoren in der Schale, Daten an der Seitenlinie, und eine Entscheidung, die aufhört, ein Bauchgefühl zu sein.

Ich kam für sechs Wochen ins dreiköpfige Technikteam, im Anlauf auf eine öffentliche Vorführung. Der Auftrag deckte beide Enden des Produkts ab: die Platine, die den Spieler liest, und die Oberfläche, die die Platine liest.
Hardware: eine neue Erfassungsplatine
Der bestehende Prototyp wurde um ein ESP32-C3-Modul neu aufgebaut. Mehr Reserven, WLAN und BLE in einem Paket, und ein Formfaktor, der in eine Schale passt. Die erste Woche ging darauf, das vorhandene KiCad-Projekt zu lesen statt ein neues zu beginnen. Man erbt einen Schaltplan, bevor man ihn verbessert.


Dann die Schleife, wiederholt. Das Sensormodul gegen die Randbedingungen recherchieren, die in einem Helm wirklich zählen: Größe, Gewicht, Stoßfestigkeit, von denen keine oben im Datenblatt steht. In CAD skizzieren. Auf dem Breadboard aufbauen. Gegen simulierte Stöße testen. Layout iterieren. Dann kommen die gefertigten Platinen und wollen geprüft, bestückt, gelötet und getestet werden.

RST und BOOT, in KiCad entworfen und von Hand bestückt.Zwei Randbedingungen prägten den gesamten Hardware-Zeitplan. Die globale Bauteileknappheit verzögerte Platinen wie Komponenten, wodurch Lagerplanung und die Suche nach Alternativlieferanten zu einem echten Teil der Arbeit wurden. Und es gibt bemerkenswert wenig zugängliche klinische Daten dazu, was ein bestimmter Aufprall im Gehirn anrichtet. Die Schwelle, die man setzen möchte, ist eher eine Forschungsfrage als eine Spezifikation, weshalb das Team mit Universitätslaboren und Neurowissenschaftlern zusammenarbeitete, statt eine Zahl zu wählen.
Software: das Dashboard an der Seitenlinie
Die Frage am Spielfeldrand ist simpel, und die Oberfläche muss sie auf einen Blick beantworten. Welche Helme sind verbunden, und hat gerade jemand einen Treffer kassiert, den er nicht abschütteln sollte?

Live meldet jeder Helm Beschleunigung auf drei Achsen, einen Stoßzähler und einen laufenden Mittelwert. Die gesamte Fläche ist zugleich der Alarm: weiß in Ruhe, bei einem harten Treffer flutet sie rot. Das liest man quer über eine Seitenlinie. Eine Zahl in einer Ecke nicht.


X −6 / Y 6 / Z −33, und der Bildschirm wird rot.Nach der Sitzung werden dieselben Daten zu einer Rangliste und einer Auswertung pro Spieler. Das gefährliche Muster im Rugby ist selten der eine spektakuläre Treffer. Es sind fünfunddreißig mittlere Stöße, die derselbe Spieler der ersten Reihe über achtzig Minuten schluckt.


Flutter, dann Tauri
Die erste interaktive Fassung habe ich in Flutter gebaut, danach die Migration zu Tauri (Rust) geleitet. Eine Codebasis, flüssigere Navigation, Web und Mobil aus derselben Quelle. Das hieß, Schulungen zu halten, um das Team auf Rust und Tauri zu bringen, und regelmäßige Abstimmungen einzuführen, damit während des Wechsels niemand abdriftet.
Diese Entscheidung zu verantworten ist der Teil des Praktikums, den ich im Vorstellungsgespräch verteidigen würde. Flutter war die richtige Wahl, bis sie es nicht mehr war, und der Wechsel kostete weniger als das Verteidigen. Ein Gerät, das Hirnaktivität liest, ist außerdem ein Datenschutzproblem, bevor es ein Produkt ist: die Daten sind mit TLS im Transit und AES im Ruhezustand geschützt.
Tests und Vorführung


Die Prototypen wurden an der Puppe validiert und anschließend dokumentiert. Spezifikationen des Sensormoduls und Testprotokolle, aufgeschrieben, damit die nächste Person sie nicht neu herleiten muss. Danach der Geschäftsleitung vorgestellt. Der Schritt danach war ein Pitch bei Racing 92, einem der besten französischen Profivereine, und das erste Mal, dass das Produkt jenen Leuten gegenübertrat, die ihm tatsächlich vertrauen müssten.

Was ich mitgenommen habe
In ein laufendes Projekt einsteigen, in einem Startup, auf einen fixen öffentlichen Termin hin. Man entwirft nicht auf einem weißen Blatt. Man liest, was da ist, findet, wo man nützlich ist, und liegt schnell richtig. Konkret: PCB-Entwurf in KiCad, Embedded-Arbeit auf dem ESP32, und die Erkenntnis, dass die Softwareseite zu führen vor allem Kommunikation ist. Das Team auf einen unbekannten Stack bringen und das Ziel lesbar halten, während sich die Technik darunter ändert.
Sechs Wochen bei Brain Shell in Courbevoie, Sommer 2024, im Technikteam. Sensorschwellen und Produktinterna bleiben von dieser Seite fern. Es geht hier um die Ingenieursarbeit.
Le problème
Le rugby produit des chocs à la tête par construction. La plupart sont sans conséquence, certains non, et aujourd’hui c’est la personne la plus proche du joueur qui tranche. La commotion se diagnostique tard, les joueurs la sous-déclarent, et l’effet cumulé reste invisible pendant que le match continue.
Brain Shell est née autour de ce vide, fondée par une joueuse de rugby qui a vécu une commotion. Sa réponse est un casque qui ne se contente pas de protéger la tête : il l’instrumente. Des capteurs dans la coque, des données sur le bord du terrain, et une décision qui cesse d’être une intuition.

J’ai rejoint l’équipe technique de trois personnes pendant six semaines, dans la ligne droite avant une démonstration publique. La mission couvrait les deux bouts du produit : la carte qui lit le joueur, et l’interface qui lit la carte.
Matériel : une nouvelle carte d’acquisition
Le prototype existant a été reconstruit autour d’un module ESP32-C3. Plus de marge, Wi-Fi et BLE dans le même boîtier, et une empreinte qui rentre dans une coque. La première semaine est passée à lire le projet KiCad existant plutôt qu’à en démarrer un neuf. On hérite d’un schéma avant de l’améliorer.


Puis la boucle, répétée. Chercher le module capteur en fonction des contraintes qui comptent vraiment dans un casque : taille, poids, résistance aux chocs, dont aucune n’apparaît en haut d’une datasheet. Le croquer en CAO. Le monter sur breadboard. Le tester contre des impacts simulés. Itérer le routage. Puis les cartes fabriquées arrivent, et il faut les inspecter, les peupler, les souder, les tester.

RST et BOOT, conçue sous KiCad et assemblée à la main.Deux contraintes ont façonné tout le calendrier matériel. La pénurie mondiale de composants a retardé les PCB comme les pièces, ce qui a transformé la gestion des stocks et la recherche de fournisseurs alternatifs en vraie partie du travail. Et il existe remarquablement peu de données cliniques accessibles sur ce qu’un impact donné fait à un cerveau. Le seuil qu’on voudrait fixer est une question de recherche plutôt qu’une spécification, et c’est pourquoi l’équipe a travaillé avec des laboratoires universitaires et des experts en neurosciences au lieu de choisir un chiffre.
Logiciel : le tableau de bord de touche
La question au bord du terrain est simple, et l’interface doit y répondre d’un coup d’œil. Quels casques sont connectés, et quelqu’un vient-il de prendre un coup qu’il ne devrait pas ignorer ?

En direct, chaque casque remonte l’accélération sur trois axes, un compteur de chocs et une moyenne glissante. Toute la surface sert d’alerte : blanche au repos, elle vire au rouge sur un impact fort. Ça se lit depuis l’autre bout d’une ligne de touche. Un chiffre dans un coin, non.


X −6 / Y 6 / Z −33, et l'écran passe au rouge.Après la séance, les mêmes données deviennent un classement et une fiche par joueur. Le schéma dangereux au rugby, ce n’est presque jamais un choc spectaculaire. C’est trente-cinq chocs modérés encaissés par le même joueur de première ligne sur quatre-vingts minutes.


Flutter, puis Tauri
J’ai construit la première version interactive sous Flutter, puis j’ai mené la migration vers Tauri (Rust). Une seule base de code, une navigation plus fluide, du web et du mobile depuis la même source. Ça voulait dire animer des sessions de formation pour mettre l’équipe à niveau sur Rust et Tauri, et mettre en place des points réguliers pour que personne ne dérive pendant la bascule.
Assumer ce choix est la partie du stage que je défendrais en entretien. Flutter était la bonne décision jusqu’à ce qu’elle cesse de l’être, et changer a coûté moins cher que de la défendre. Un appareil qui lit l’activité cérébrale est aussi un problème de vie privée avant d’être un produit : les données sont protégées par TLS en transit et AES au repos.
Tests et démonstration


Les prototypes ont été validés sur le mannequin, puis documentés. Spécifications du module capteur et protocoles de test, écrits pour que la personne suivante n’ait pas à les redécouvrir. Puis présentés à la direction de l’entreprise. L’étape d’après était un pitch au Racing 92, l’un des meilleurs clubs professionnels français, et la première fois que le produit ferait face aux gens qui devront vraiment lui faire confiance.

Ce que j’en ai retiré
Rejoindre un projet déjà lancé, dans une startup, sur une date publique fixée. On ne conçoit pas depuis une page blanche. On lit ce qui existe, on trouve où l’on est utile, et on a raison vite. Concrètement : conception de PCB sous KiCad, travail embarqué sur l’ESP32, et la découverte que mener la partie logicielle relève surtout de la communication. Former l’équipe à une stack inconnue, et garder l’objectif lisible pendant que la technologie sous le produit change.
Six semaines chez Brain Shell à Courbevoie, été 2024, aux côtés de l’équipe technique. Les seuils de capteurs et les internes du produit restent hors de cette page. C’est l’ingénierie qui compte ici.
課題
ラグビーは競技の構造上、頭部への衝撃を生みます。その大半は無害ですが、そうでないものもあり、いまはその判断を「たまたま選手の一番近くにいた人」が下しています。脳震盪の診断は遅れがちで、選手自身も過少申告し、累積した影響は試合が続いているあいだ目に見えません。
Brain Shell はその空白のうえに生まれた会社です。創業したのは、自ら脳震盪を経験したラグビー選手でした。その答えが、頭を保護するだけでなく計測するヘッドキャップです。シェルにセンサーを入れ、データをタッチラインへ送り、判断を勘から外します。

私は3人の技術チームに6週間加わりました。公開デモに向けた最終盤です。任されたのは製品の両端でした。選手を読むボードと、そのボードを読むインターフェースです。
ハードウェア:新しい取得ボード
既存の試作を ESP32-C3 モジュール中心に作り直しました。余裕があり、Wi-Fi と BLE が同じパッケージに入り、シェルに収まるフットプリントです。最初の一週間は、新規に起こすのではなく既存の KiCad プロジェクトを読むことに使いました。回路図はまず受け継いでから改善するものです。


そこから同じループを回します。ヘッドキャップの中で本当に効いてくる制約、つまりサイズ、重量、耐衝撃性でセンサーモジュールを調べる。どれもデータシートの冒頭には書かれていません。CAD で描き、ブレッドボードで組み、模擬衝撃で試験し、レイアウトを反復する。そして製造されたボードが届いたら、検査し、部品を載せ、はんだ付けし、試験します。

RST と BOOT。KiCad で設計し、手作業で組み立てました。ハードウェアの日程を決めた制約が2つあります。ひとつは世界的な部品不足で、基板も部品も遅れ、在庫計画と代替サプライヤー探しが実際の業務の一部になりました。もうひとつは、ある衝撃が脳に何をするのかについて、入手できる臨床データが驚くほど少ないことです。設定したい閾値は仕様ではなく研究上の問いであり、だからこそチームは数字を決め打ちせず、大学の研究室や神経科学の専門家と組んで進めました。
ソフトウェア:タッチラインのダッシュボード
ピッチ脇での問いは単純で、インターフェースはそれに一目で答えなければなりません。どのヘッドキャップが接続していて、いま流してはいけない衝撃を受けた選手がいるか。

稼働中、各ヘッドキャップは3軸の加速度、衝撃回数、移動平均を送ってきます。画面全体がそのままアラートです。平時は白く、強い衝撃で赤く染まります。これならタッチラインの反対側からでも読めます。隅に置かれた数字では読めません。


X −6 / Y 6 / Z −33 で 35 m/s²。画面が赤くなります。セッション後、同じデータが順位表と選手別の内訳になります。ラグビーで危険なのは、派手な一撃であることはむしろ稀です。同じフロントローの選手が80分かけて受けた、中程度の衝撃35回のほうです。


Flutter、そして Tauri
最初のインタラクティブ版は Flutter で作り、その後 Tauri(Rust) への移行を主導しました。コードベースはひとつ、ナビゲーションはより滑らかに、Web とモバイルを同じソースから出せます。そのためにチームを Rust と Tauri に慣らす講習を開き、移行中に誰も迷子にならないよう定例の確認を入れました。
この判断を自分で背負ったことは、面接でも堂々と話せる部分です。Flutter は途中まで正しい選択で、正しくなくなった時点で乗り換えるほうが、擁護し続けるより安く済みました。脳活動を読む機器は、製品である前にプライバシーの問題でもあります。データは通信時に TLS、保存時に AES で保護しています。
試験とデモ


試作はマネキン上で検証し、そのうえで文書化しました。センサーモジュールの仕様と試験手順を、次の担当者が一から導き直さずに済むように書き残しています。そのあと経営陣に報告しました。次の一歩は、フランス有数のプロクラブである Racing 92 へのプレゼンでした。製品が、実際にそれを信頼しなければならない人たちと初めて向き合う場面です。

持ち帰ったもの
すでに動いているプロジェクトに、スタートアップで、公開日が決まった状態で加わること。白紙から設計させてはもらえません。あるものを読み、自分が役に立つ場所を見つけ、早く正しくなる。具体的には、KiCad での基板設計、ESP32 での組込み作業、そして「ソフト側を率いる仕事の大半はコミュニケーションだ」という発見です。慣れないスタックにチームを乗せ、下の技術が入れ替わっているあいだも目的を見失わせないこと。
2024年夏、クールブヴォワの Brain Shell で6週間、技術チームとともに。センサーの閾値や製品内部の詳細はこのページに載せません。ここで語りたいのはエンジニアリングです。
问题
橄榄球这项运动天生就会产生头部撞击。多数无害,有些不是,而现在做判断的往往只是碰巧站得最近的那个人。脑震荡诊断偏晚,球员自己也倾向少报,而累积效应在比赛进行时完全看不见。
Brain Shell 正是围绕这个空白成立的,创始人是一位亲身经历过脑震荡的橄榄球运动员。它的答案是一顶不只做缓冲、还会测量的头盔:传感器装在壳体里,数据送到场边,让判断不再靠猜。

我在公开演示前的冲刺阶段加入了这个三人技术团队,为期六周。任务覆盖产品的两端:读取球员的那块板,以及读取那块板的界面。
硬件:一块新的采集板
原有原型围绕 ESP32-C3 模块重做。余量更大,Wi-Fi 和 BLE 在同一个封装里,尺寸也塞得进壳体。第一周花在读已有的 KiCad 工程上,而不是另起炉灶。原理图是先继承、再改进的东西。


然后是重复的循环。按头盔里真正要紧的约束去选传感器模块:尺寸、重量、抗冲击,这几项都不写在数据手册的开头。用 CAD 画草图,用面包板搭起来,用模拟撞击测试,再迭代布局。等制好的板子送到,还要检验、贴片、焊接、测试。

RST 与 BOOT,用 KiCad 设计并手工装配。有两个约束决定了整个硬件排期。全球元件短缺同时拖慢了 PCB 和物料,于是库存规划和寻找替代供应商成了实打实的工作内容。另一个是:关于某次撞击究竟对大脑做了什么,可获取的临床数据少得惊人。你想设定的阈值其实是一个研究问题,而不是一条规格,所以团队选择与高校实验室和神经科学专家合作,而不是自己拍一个数字。
软件:场边仪表盘
场边要问的问题很简单,界面必须一眼给出答案:哪些头盔在线,刚才有没有人挨了一下、不该就这么继续打?

实时状态下,每顶头盔上报三轴加速度、撞击计数和滚动平均。整块画布本身就是警报:静息时是白的,重击时整屏泛红。这种信号隔着一条边线也能读到,角落里的一个数字做不到。


X −6 / Y 6 / Z −33,35 m/s²,屏幕转红。场次结束后,同一批数据变成一份排名和逐人明细。橄榄球里真正危险的模式,很少是那记惊天动地的撞击,而是同一名前排球员在八十分钟里吃下的三十五次中等撞击。


先 Flutter,后 Tauri
第一版交互界面我用 Flutter 做,之后主导迁移到 Tauri(Rust)。一套代码库,导航更顺,Web 和移动端从同一份源码出。这意味着要组织培训把团队带上 Rust 和 Tauri,并建立固定的同步机制,让人在切换过程中不至于走散。
为这个决定负责,是这段实习里我最愿意在面试中拿出来讲的部分。Flutter 一直是对的选择,直到它不再是;而换掉它的成本,比继续替它辩护要低。一台读取脑活动的设备,在成为产品之前先是一个隐私问题:数据在传输中用 TLS、静态存储用 AES 保护。
测试与演示


原型在人体模型上完成验证,然后被写成文档:传感器模块规格和测试流程都记录下来,好让下一个人不必重新推导一遍。之后向公司管理层做了汇报。再下一步是向法国顶级职业俱乐部之一 Racing 92 做提案,那将是产品第一次面对真正需要信任它的人。

我带走了什么
在一家创业公司、一个已经跑起来的项目、一个定死的公开日期里入场。你没有从白纸开始设计的机会。你读懂已有的东西,找到自己有用的位置,然后尽快做对。具体收获是:KiCad 的 PCB 设计、ESP32 上的嵌入式工作,以及一个发现——带软件这条线,大部分工作其实是沟通。把团队带上一套陌生的技术栈,并且在底层技术更换的过程中,始终让目标保持清晰。
2024 年夏天,在库尔布瓦的 Brain Shell 做了六周,和技术团队一起。传感器阈值和产品内部细节不会出现在这一页。这里要讲的是工程本身。