← projects

EEG Rugby Helmet

Embedded-systems engineer (internship, 6 weeks) · 2024

ESP32-C3KiCadPCBEEGIMUFlutterTauri (Rust)TLS / AESBLE

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.

The rugby helmet the system is built into
The scrum cap the system lives in. The product has to disappear into equipment players already wear.

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.

ESP32 module on a breadboard, wired for bench testing
Bench prototype: the sensor concept before it becomes a layout.
Hands soldering wires at the workbench
Soldering the harness. Half of embedded work is cable that has to survive a tackle.

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.

The V1-ALPHA board: ESP32-C3 module, USB-C, RST and BOOT buttons on a purple PCB
V1-ALPHA, the new board. ESP32-C3 module, USB-C, 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?

Device selection screen: three player pucks on concentric rings, two ticked, Start record button
Pairing. Connected helmets sit on concentric rings, you tick the ones to record, then Start record. A full session ran 48 connected devices.

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.

Live monitoring screen: 6 m/s², 8 shocks, average 8.00 per minute, calm white background
Normal play: 6 m/s², eight shocks, 8.00 /min.
The same screen during a heavy impact: 35 m/s², background flooded red
An impact: 35 m/s² on 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.

Session record table: players ranked by cumulative shock, with position and shock count
Session record, ranked by cumulative shock, with each player's position on the field. A prop and a winger do not take the same match.
Player detail view: donut chart of heavy/medium/low shocks and a shock timeline
Player detail: the split between heavy, medium and low shocks, and when in the match they landed.

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

Bench setup: prototype board wired next to a laptop running the dashboard
The full loop on one desk: board, harness, and the dashboard receiving from it.
Display mannequin wearing the instrumented helmet
The display mannequin: the prototype's test subject, and the demo's stand-in for a player.

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.

Brain Shell brand banner with rugby line art
The Brain Shell banner, for the public demonstration.

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.