Researchers from Northwestern University have introduced EITWatch, an open-source ESP32-S3-based EIT (Electrical Impedance Tomography) gesture-sensing system that fits within a standard smartwatch footprint. It relies on a Seeed Studio XIAO ESP32-S3 board and eight electrodes arranged on the back of the case to detect hand gestures via impedance changes caused by muscle and tendon movement beneath the skin.
Unlike other wrist-EIT systems that use circumferential electrode bands, EITWatch places all eight electrodes on the back of the smartwatch case. The sensing area consists of a 31 mm electrode ring that fits within a standard 40 mm watch case, while a 20 mm PCB extension carries the discrete analog front end (AFE).
EITWatch hardware specifications:
- Wireless board – XIAO ESP32-S3
- SoC – Espressif ESP32-S3R8
- CPU – Dual-core Tensilica LX7 microcontroller up to 240 MHz with vector instructions for AI acceleration
- Memory – 512KB SRAM, 8MB PSRAM
- Wireless – Wi-Fi 4 and Bluetooth 5.0 dual-mode (Classic + BLE) connectivity
- Storage – 8MB SPI flash
- Antennas – External u.FL antenna for Wi-Fi and Bluetooth
- USB – USB Type-C for power supply and programming
- SoC – Espressif ESP32-S3R8
- Sensing surface – 8x 2 mm Ø gold-plated stainless steel disk electrodes
- Electrode arrangement – Arranged in a 31 mm diameter ring, with ~11.9 mm adjacent spacing
- Analog Front-End (AFE)
- Excitation – AD5930 waveform generator outputting a 50 kHz sinusoid
- Drive – ADA4841 voltage-to-current drive providing ~1 mA peak-to-peak
- Sensing – AD8220 instrumentation amplifier and AD7450 12-bit SPI ADC
- Digital Potentiometers – AD5270 ICs to set drive current and sense gain
- Switching – 4x ADG738 8-channel matrix switches for routing injection and sensing pair
- Power supply
- 5v Via USB Type-C port
- 3.7V, 300 mAh battery with 35mA consumption for approximately 8.6 hours of battery life
- TLV73325PDBV 2.5 V regulator; 35mA consumption
- Dimensions – 60 x 40 mm (6-layer PCB); fits beneath a standard 40 mm watch case
Because a flat array cannot wrap around the wrist, EITWatch is using a multi-depth scanning protocol rather than standard adjacent injection. By keeping one electrode as a fixed source and cycling the negative sink through the remaining seven positions, the device can measure various depths and angular current paths, taking 35 impedance measurements per frame at 48 Hz.
EIT system showing the electrode array, AC signal excitation, data acquisition, boundary measurements, and image reconstruction process
EIT wrist sensing setup showing the electrode array, bone and fat layers, and EIT maps
Researchers report that the ESP32-S3 smartwatch runs an ESP-IDF (v5.2+) application which streams the EIT data over Wi-Fi to a PC for logging and classification, reaching a gesture recognition accuracy of 92.5% for held macro-gestures, and 91.5% for micro-gestures like pinches and swipes. The paper also reports that accuracy drops when tested 48 hours later, to 73.2% for macro-gestures and 70.4% for micro-gestures. Accuracy drops further with new users, reaching 63.1% and 55.3%, respectively.
The team also successfully tested an entirely on-device pipeline, using one ESP32-S3 core for data acquisition and the other for signal preprocessing and ExtraTrees inference. This on-device setup continuously draws around 35 mA at 4.3 V. This equates to approximately 8.6 hours of continuous battery life from an idealized 300 mAh battery.
The study tested six macro-gestures (Six, Gun, Point, Thumb Up, Stretch, Fist) and five micro-gestures (Swipe Left, Swipe Right, Pinch, Splay, Wrist Flip) alongside a relax class.
Previously, we reported on various open-source and DIY smartwatch projects, including the MutantW V1, the Sensor Watch Pro, and Core 2 Duo, but none of these support gesture recognition like the EITWatch.
The EITWatch is fully open-source, and all the files, including Altium PCB design files, Gerbers, and BoM, are released under the CERN-OHL-P-2.0 license, while the ESP32-S3 C-based firmware is available under the Apache-2.0 license. You can find all the resources on the project’s GitHub repository, and for in-depth technical details, check out Xuanyou Liu’s website. He also posted a live demo on LinkedIn.
![]()
Debashis Das is a technical content writer and embedded engineer with over five years of experience in the industry. With expertise in Embedded C, PCB Design, and SEO optimization, he effectively blends difficult technical topics with clear communication
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress. We also use affiliate links in articles to earn commissions if you make a purchase after clicking on those links.

