Hardware
Devices
JNEEG
Specification

Specification

JNEEG shield

Hardware

Channels8 single-ended biosignal inputs
Extra inputsReference (shared by all channels) and bias
Analog front endTexas Instruments ADS1299
Resolution24-bit, delta-sigma, all channels sampled at the same moment
Sample rate250 SPS as set by PiEEG software (the ADS1299 supports 250 SPS to 16 kSPS)
Gain1 as set by PiEEG software (the ADS1299 supports 1, 2, 4, 6, 8, 12, 24)
Reference voltage4.5 V internal
Power regulationUltra-low-noise voltage regulators on the board
Status LEDOn when the board is powered
SignalsEEG, EMG, ECG
ElectrodesDry or wet Ag/AgCl, 2.54 mm header
HostNVIDIA Jetson Nano Developer Kit, 40-pin header
InterfaceSPI (/dev/spidev0.0) and DRDY on header pin 7
Power5 V via the Jetson Nano, from a power bank only
IsolationNone. Battery operation is required.

Software support

SoftwareSetting
PiEEG Server--device jneeg (applies the jetson-nano profile)
Python scripts (opens in a new tab)1.Graph_real_time.py, 2.Save_data.py

Pins and SPI

Header pinSignal
19SPI MOSI
21SPI MISO
23SPI SCK
24SPI CS0
7DRDY (active low)
SettingValue
Device/dev/spidev0.0 (spi1 in jetson-io)
Mode1 (CPOL 0, CPHA 1)
Bit orderMSB first
Clock600 kHz
DRDY in PiEEG Server/dev/gpiochip0, line 216
DRDY in the Python scriptsJetson.GPIO, board pin 7

Data frame

Each time DRDY goes low, read 27 bytes:

BytesContent
1–3ADS1299 status word
4–6Channel 1
……
25–27Channel 8

Each channel is a 24-bit, big-endian, two's-complement value.

Converting to microvolts

The conversion used by the PiEEG scripts and PiEEG Server:

raw = (b[0] << 16) | (b[1] << 8) | b[2]
if raw & 0x800000:
    raw -= 16777214
uV = raw * 4.5 / 16777215 * 1_000_000    # about 0.268 µV per count

Default register settings

Start-up: WAKEUP (0x02), STOP (0x0A), RESET (0x06), SDATAC (0x11), write the registers below, then RDATAC (0x10) and START (0x08). Write a register with [0x40 | address, 0x00, value].

AddressRegisterValueMeaning
0x01CONFIG10x96250 SPS
0x02CONFIG20xD4Internal test-signal settings (not used in normal mode)
0x03CONFIG30xFFInternal reference buffer on, internal bias reference, bias buffer on
0x04LOFF0x00Lead-off detection off
0x05–0x0CCH1SET–CH8SET0x00Normal electrode input, gain 1
0x0D–0x11BIAS_SENS, LOFF_SENS, LOFF_FLIP0x00
0x14GPIO0x80
0x15MISC10x20Reference electrode shared by all channels (SRB1)
0x17CONFIG40x00Continuous conversion

Noise self-test: set every CHnSET to 0x01 (input shorted). The signal should stay within a few µV. See Noise elimination.