Skip to content

An all-in-one kit to deploy and test ECG algorithms with ease. Based on the AD8233 and S1 Module, this open source board is a great for new products, as well as research and teaching.

License

Notifications You must be signed in to change notification settings

siliconwitchery/s1-ecg-demo

Repository files navigation

S1 ECG Reference Kit

Features:

  • Single chip frontend based on the AD8233
  • S1 Module with Bluetooth 5.2 and FPGA
  • Integrated lithium battery
  • Ultra low power auto-sleep down to 175uA
  • Open source design

Applications:

  • Learning and teaching around heart health
  • Research of ML based ECG algorithms
  • Wireless ECG data logging
  • New product development

A powerful analog frontend combined with the S1 Module makes this an all-in-one kit to deploy and test algorithms with ease. Be that for learning, research, or as the starting point for your next product.


S1 ECG Board S1 ECG Board


Get the hardware

Order the S1 ECG Kit from Digi-Key 🛍

You're also free to build your own hardware using the design files in this repository. Everything is open source and ready to build upon.

The design is produced in KiCad v6.0.1.

Building the code

The S1 ECG reference kit uses a three probe measurement to determine heart activity. By holding the board with both hands, the device automatically wakes from sleep, and begins calibrating the amplifier sensitivity. After a few seconds, you will see your pulse displayed on the LED bar graph. Letting go of the terminals puts the system back into sleep mode.

The base firmware is highly expandable and a perfect starting point for new designs. To get started, begin by cloning this repository.

git clone --recurse-submodules https://github.com/siliconwitchery/s1-ecg-demo.git
cd s1-ecg-demo

If you haven't already, set up these tools in order to build the project.

You should then be able to run make. Be sure to include the path to your NRF SDK folder.

make -C firmware build-verilog NRF_SDK_PATH=${HOME}/nRF5_SDK
make -C firmware flash NRF_SDK_PATH=${HOME}/nRF5_SDK

The first make command will build the Verilog project, and convert the binary file into a header file. The nRF application transfers this binary to the FPGA after boot up. In your application, you could download this binary dynamically over Bluetooth rather than storing it within the flash of the nRF chip.

The second make command builds the nRF code, and flashes the module using a J-Link debugger. You can also use an nRF52 devkit, or JLink Edu Mini along with and this 6pin cable to flash your board.

Once you're up and running, you can begin customizing the application to your needs. Be sure to visit our documentation center to learn more about the S1 Module, as well as its features.

Measuring sleep current

The board features a jumper disconnect to allow for the battery current to be directly measured. During sleep modes, this can be configured down to as low as 175uA or less, depending on the sleep state needed.

Note that if the USB-C power cable is plugged in while measuring, the charge current to the battery will be measured rather than the discharge current.

Sensitivity of the ECG amplifier and EMI

The ECG amplifier is designed to pick up the tiny signals across your hands. It's therefore quite sensitive to external interference. Operation solely from the lithium battery is ideal. Here the board remains isolated from other noise sources and accurate measurements can be made.

Certain USB-C charges can induce a lot of EMI and ground loops can be created via the users hands. This may create noise in the measurement so it's worth keeping in mind when developing or logging data.

Looking after the battery

Lithium batteries are of course dangerous if improperly handled. The S1 module features safety checks to avoid damage and such damage is unlikely. However it is possible to misconfigure the integrated power management IC to overcharge/undercharge or charge the lithium battery with too much current.

It is recommended to only use the battery configuration provided in this example to ensure safety and lifetime of the lithium battery.

If in doubt, it is possible to simply remove the battery current measurement jumper, and this will disconnect the battery from the system.

Bugs and improvements

If you have any questions, or if something is unclear, feel free to create an issue and we'll try our best to improve it.

Licence

Copyright 2022 © Silicon Witchery.

This design is licenced under: CERN Open Hardware Licence Version 2 - Permissive.

About

An all-in-one kit to deploy and test ECG algorithms with ease. Based on the AD8233 and S1 Module, this open source board is a great for new products, as well as research and teaching.

Topics

Resources

License

Stars

Watchers

Forks