Our final system comprises 13 force sensors, a custom multiplexer PCB, an ESP32 microcontroller, a 3D-printed headform and pedestal, and a dedicated UI for data visualization. The sensors are installed at predetermined locations on the headform to measure localized contact forces. As shown in Figure 2.2, each sensor is wired to the multiplexer PCB, which transmits data via I2C to the ESP32. The ESP32 then processes these readings and streams them directly to the user's computer.
Block diagram of the EEG headset validation fixture.
Design Flowchart
Force sensing pods are implanted into a mannequin head
Sensors are read by a ESP32 through an
I2C multiplexer
The ESP32 sends data to a computer
Computer visualizes, tabulates, and
records data
Sensors can be quickly swapped out, repaired, or repositioned into new mannequin heads designed by parametric modeling tools.
A critical subsystem is the force-sensing pod assembly. Each pod, printed as a single PLA component to improve repeatability and reduce part count, houses a pneumatic load cell and secures to the 3D-printed headform via cantilever snap-fits. The pressure sensor mounts to the pod base for a stable measurement reference, while an integrated sidewall supports the bellows perimeter and barbed fitting to prevent off-axis motion during loading.
Force sensing pod design.
Custom pressure sensor board
The custom pressure sensor PCB sits at the bottom center of each force-sensing pod, aligning the pressure tube interface with the top pressure plate. It features a simple JST connector for reliable I2C communication and includes four LEDs for user signaling, calibration, and error communication, plus a power indicator. The board uses a temperature-compensated Honeywell micropressure sensor capable of reading up to 25 psi absolute pressure. While we use air as the working fluid, its compatibility with various fluids is advantageous for leak detection and ensures stable readings regardless of temperature fluctuations.
Custom I2C multiplexer board.
The system uses the Inter-Integrated Circuit (I2C) protocol to communicate between the ESP32, multiplexers, and pressure sensors. Because the identical sensors share a single I2C address, multiplexers are required to isolate and read up to 32+ channels. The custom board (Figure 3.2) includes ESP32-WROOM-D headers, a USB-C power port, and 32 multiplexed JST-PH connectors, relying on USB serial communication to transmit data to the laptop.
To ensure accurate pressure readings, we use precision weights to calibrate the pneumatic force-sensing pods. The user begins by disconnecting the pod from the head fixture via its JST connector and plugging it into a dedicated testing multiplexer with its own microcontroller. The software first records the sensor’s baseline output on a level surface with no load. Once confirmed, the user places a 100-gram weight at the center of the pod, and the software logs the loaded reading. The system then generates a linear calibration fit specific to that sensor, which the user updates in the main software before reinstalling the pod.
The test stand features a modular two-part design—a base pedestal and a detachable top skull—allowing it to support various head shapes and sizes. Because EEG caps require between 13 and 61 sensor sites, the hollow 3D-printed skull incorporates negative cutouts of the sensor pod design, enabling modular positioning under the 10–20 system. To facilitate manufacturing, the skull is split into two bolted vertical halves with internal ties for cable management. The sensor pods secure into the cutouts via a reversible snap-fit mechanism, allowing them to slide in or out of the skull for easy installation, calibration, and removal.
An adult and baby head model head with sensors sites around the scalp.
Another key component is the integrated PC software, which provides a 3D graphical interface for the user to manage and visualize the mannequin head’s sensors. Users can import custom sensor positions directly from a Fusion 360 script to match the specific headform in use. The software communicates with the ESP32 microcontroller to send commands and receive data, allowing users to individually tare each sensor and view real-time, three-dimensional representations of the forces applied at each node.
A UI interface for sensor loading, calibration, and reading along with a 3d interface for visualizing sensor forces and status.