Giới thiệu dự án

Công nghệ giao tiếp Não - Máy tính (Brain-Computer Interface - BCI) và điện não đồ (Electroencephalogram - EEG) đang trở thành một trong những lĩnh vực nghiên cứu đột phá trong y tế, thần kinh học và kỹ thuật tương tác người - máy. Theo các thống kê từ thị trường thiết bị y tế toàn cầu, nhu cầu về các thiết bị theo dõi tín hiệu điện sinh học di động (wearable biopotential devices) đang tăng trưởng với tốc độ CAGR trên 12.5% mỗi năm. Tuy nhiên, rào cản lớn nhất hiện nay là các thiết bị EEG cấp lâm sàng (như g.tec Nautilus) có giá thành dao động từ 10.000 USD đến hơn 30.000 USD, trong khi các giải pháp thương mại phổ thông (Emotiv Insight, Muse 2) thường bị giới hạn về số kênh thu nhận, độ phân giải thấp (14-16 bit), hoặc bị đóng kín mã nguồn (proprietary SDK).

Hạn chế về mặt tài chính và rào cản phần cứng đóng kín đã tạo ra điểm nghẽn lớn cho các phòng thí nghiệm, trường đại học và các nhà phát triển độc lập tại Việt Nam trong việc tiếp cận và phát triển các ứng dụng BCI thực tế. Đề tài "Hệ thống thu thập tín hiệu sóng não với module Nano 33 BLE" (thực hiện bởi Thân Nhật Minh, hướng dẫn bởi ThS. Nguyễn Duy Xuân Bách tại Trường Đại học Công nghệ Thông tin – ĐHQG-HCM) được xây dựng nhằm giải quyết bài toán này.

Mục tiêu dự án

  1. Thiết kế khối phần cứng Front-End chuyên dụng: Tích hợp bộ chuyển đổi tương tự - số (ADC) 24-bit Texas Instruments ADS1299 với vi điều khiển Arduino Nano 33 BLE nhằm thu nhận tín hiệu điện thế sinh học siêu nhỏ (µV) với độ méo tối thiểu.
  2. Xây dựng đường truyền không dây tốc độ cao, tiêu thụ năng lượng thấp: Hiện thực hóa luồng truyền dữ liệu thời gian thực thông qua giao thức Bluetooth Low Energy (BLE 5.0), giảm thiểu độ trễ xuống dưới 15ms.
  3. Phát triển thuật toán lọc và xử lý tín hiệu số: Triển khai bộ lọc thông dải (Bandpass Filter) và bộ lọc chặn dải (Notch Filter) để loại bỏ triệt để nhiễu công nghiệp 50Hz, nhiễu điện cơ (EMG), nhiễu điện nhãn cầu (EOG).
  4. Xây dựng ứng dụng phần mềm máy tính (GUI): Hiển thị trực quan dữ liệu sóng não theo thời gian thực (Real-time Time-Domain Display) và phân tích phổ tần số (Frequency-Domain FFT) cho từng kênh theo chuẩn 10-20 quốc tế.

Phương pháp tiếp cận và kết quả kỳ vọng

Giải pháp kết hợp chip chuyên dụng cho y tế ADS1299 (độ nhiễu đầu vào cực thấp 1.0 µVrms, CMRR -110 dB) cùng lõi ARM Cortex-M4 64MHz của vi điều khiển nRF52840. Kết quả kỳ vọng là một hệ thống EEG 8 kênh có khả năng lấy mẫu đạt 250 SPS đến 500 SPS với tổng chi phí linh kiện dưới 100 USD, mang lại chất lượng tín hiệu tương đương các thiết bị nghiên cứu tầm trung.

Phạm vi và giới hạn nghiên cứu

  • Phạm vi: Thu nhận tín hiệu EEG không xâm lấn qua da đầu sử dụng các điện cực ướt chuẩn Ag/AgCl theo hệ thống 10-20 quốc tế; truyền dữ liệu không dây về máy tính trong bán kính 10m.
  • Giới hạn: Nghiên cứu chưa đi sâu vào phân loại sóng não bằng mô hình học máy (Machine Learning) đa lớp phức tạp trên chip (Edge AI) mà tập trung hoàn thiện tầng vật lý (Hardware Acquisition), truyền thông tin cậy và tầng tiền xử lý tín hiệu sạch.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Để lựa chọn cấu trúc tối ưu, một khảo sát toàn diện giữa các hệ thống EEG tiêu biểu trên thị trường và trong nghiên cứu đã được thực hiện:

Tiêu chí g.tec Nautilus OpenBCI Cyton Emotiv Insight Muse 2 Hệ thống đề xuất
Loại thiết bị Lâm sàng / Nghiên cứu cao cấp Nghiên cứu mã nguồn mở Thương mại cá nhân Theo dõi thiền định Nghiên cứu mã nguồn mở
Số kênh 8 - 64 kênh 8 kênh (mở rộng 16) 5 kênh 4 kênh 8 kênh
Độ phân giải ADC 24-bit 24-bit (ADS1299) 14-bit / 16-bit 24-bit 24-bit (TI ADS1299)
Tần số lấy mẫu Lên đến 38.4 kHz 250 SPS 128 SPS 256 SPS 250 - 500 SPS
CMRR (Khử nhiễu) > 115 dB -110 dB ~80 dB ~80 dB -110 dB
Kết nối Không dây độc quyền Bluetooth / RF Dongle Bluetooth 4.0 Bluetooth Low Energy Bluetooth 5.0 (BLE)
Giá thành ước tính > 15.000 USD ~500 - 1.000 USD ~300 - 500 USD ~250 USD < 100 USD

Đánh giá yêu cầu theo mô hình MoSCoW

  • Must have (Bắt buộc): Giao tiếp SPI tốc độ 4MHz giữa MCU và ADS1299; truyền dữ liệu 8 kênh 24-bit qua BLE không rớt gói; mạch khử nhiễu đồng pha (BIAS/DRL); bộ lọc số Notch 50Hz và Bandpass 0.5-50Hz.
  • Should have (Nên có): Chức năng kiểm tra trở kháng tiếp xúc (Lead-Off Detection); cấu hình khuếch đại PGA (1, 2, 4, 8, 12, 24) trực tiếp từ giao diện phần mềm.
  • Could have (Có thể có): Chế độ ghi log dữ liệu thô vào thẻ nhớ SD nội tuyến; tích hợp pin Li-Po và mạch sạc tích hợp.
  • Won't have (Chưa thực hiện đợt này): Hỗ trợ điện cực khô tích cực (Active dry electrodes) và truyền dữ liệu qua Wi-Fi TCP/IP.

Thiết kế hệ thống

Ngăn xếp công nghệ (Technology Stack)

  • Phần cứng Front-End: Texas Instruments ADS1299EEG-FE, độ phân giải 24-bit Delta-Sigma, 8 kênh vi sai, tích hợp bộ khuếch đại lập trình được (PGA: 1 đến 24x), điện áp tham chiếu nội $V_{REF} = 4.5\text{V}$.
  • Khối xử lý & Vi điều khiển: Arduino Nano 33 BLE sử dụng SoC Nordic Semiconductor nRF52840 (32-bit ARM Cortex-M4F CPU @ 64 MHz, 1MB Flash, 256KB RAM, BLE 5.0).
  • Môi trường nhúng: Arduino IDE v2.3.2 / C++17, thư viện ArduinoBLE v1.3.6 và driver tùy biến tối ưu hóa SPI SPI_MODE1 (CPOL=0, CPHA=1).
  • Phần mềm xử lý & Giao diện máy tính: Python 3.10, PyQt5, NumPy, SciPy (xử lý tín hiệu số), PyQtGraph (kết xuất đồ họa thời gian thực đa luồng 60 FPS).

Thiết kế giao thức truyền thông qua BLE (Packet Framing)

Để tối ưu hóa thông lượng dữ liệu của BLE và tránh phân mảnh gói tin (MTU limitation), dữ liệu từ ADS1299 được đóng gói theo khung định dạng 27-byte nhị phân chuẩn:

$$\text{Frame} = [\text{Header (1B)}] + [\text{Sample Index (1B)}] + [8 \times \text{Kênh } 24\text{-bit (24B)}] + [\text{Footer/Status (1B)}]$$

+--------+--------------+-----------------------+--------+
| 0xA0   | Sample Count | Channel 1..8 (24-bit) | 0xC0   |
| (1 B)  | (1 Byte)     | (8 x 3 = 24 Bytes)    | (1 B)  |
+--------+--------------+-----------------------+--------+

Phương pháp luận (Methodology)

Dự án áp dụng mô hình phát triển phần cứng - phần mềm lặp (Iterative Hardware-in-the-Loop):


Implementation và kết quả

Quá trình phát triển và chi tiết mã nguồn

Trọng tâm của hệ thống nhúng nằm ở việc xử lý ngắt phần cứng khi chân DRDY (Data Ready) của ADS1299 kéo xuống mức thấp, sau đó kích hoạt đọc 216 bits dữ liệu thông qua giao tiếp SPI đồng bộ tốc độ 4MHz.

Firmware Arduino C++: Đọc dữ liệu SPI từ ADS1299 và truyền phát BLE

#include <ArduinoBLE.h>
#include <SPI.h>

#define ADS_PIN_DRDY  2
#define ADS_PIN_CS    10
#define ADS_PIN_RESET 9

BLEService eegService("19B10000-E8F2-537E-4F6C-D104768A1214");
BLECharacteristic eegDataChar("19B10001-E8F2-537E-4F6C-D104768A1214", 
                              BLERead | BLENotify, 27);

volatile bool dataReady = false;
uint8_t sampleCounter = 0;
uint8_t rawBuffer[27];

void drdyInterruptHandler() {
    dataReady = true;
}

void setup() {
    pinMode(ADS_PIN_DRDY, INPUT_PULLUP);
    pinMode(ADS_PIN_CS, OUTPUT);
    pinMode(ADS_PIN_RESET, OUTPUT);
    digitalWrite(ADS_PIN_CS, HIGH);

    // Khởi tạo SPI: ADS1299 hoạt động ở SPI MODE 1, MSB First, Clock 4MHz
    SPI.begin();
    SPI.beginTransaction(SPISettings(4000000, MSBFIRST, SPI_MODE1));

    // Reset phần cứng ADS1299
    digitalWrite(ADS_PIN_RESET, LOW);
    delayMicroseconds(20);
    digitalWrite(ADS_PIN_RESET, HIGH);
    delay(100);

    // Cấu hình thanh ghi ADS1299 (250 SPS, PGA Gain = 24, Internal Ref = 4.5V)
    writeRegister(0x01, 0x96); // CONFIG1: 250 SPS
    writeRegister(0x02, 0xD0); // CONFIG2: Kích hoạt tín hiệu kiểm tra nội
    writeRegister(0x03, 0xE0); // CONFIG3: Bật bộ đệm tham chiếu nội

    attachInterrupt(digitalPinToInterrupt(ADS_PIN_DRDY), drdyInterruptHandler, FALLING);
    
    BLE.begin();
    BLE.setLocalName("EEG-Nano33BLE");
    BLE.setAdvertisedService(eegService);
    eegService.addCharacteristic(eegDataChar);
    BLE.addService(eegService);
    BLE.advertise();
}

void loop() {
    BLEDevice central = BLE.central();
    if (central && central.connected()) {
        if (dataReady) {
            dataReady = false;
            digitalWrite(ADS_PIN_CS, LOW);
            
            rawBuffer[0] = 0xA0; // Header
            rawBuffer[1] = sampleCounter++;
            
            // Đọc 3 bytes trạng thái (Status) + 24 bytes từ 8 kênh ADC
            for (int i = 0; i < 3; i++) {
                SPI.transfer(0x00); // Bỏ qua Status header của chip
            }
            for (int i = 2; i < 26; i++) {
                rawBuffer[i] = SPI.transfer(0x00);
            }
            rawBuffer[26] = 0xC0; // Footer
            digitalWrite(ADS_PIN_CS, HIGH);

            eegDataChar.writeValue(rawBuffer, 27);
        }
    }
}

void writeRegister(uint8_t reg, uint8_t value) {
    digitalWrite(ADS_PIN_CS, LOW);
    SPI.transfer(0x40 | reg); // Lệnh WREG (010r rrrr)
    SPI.transfer(0x00);       // Ghi 1 thanh ghi
    SPI.transfer(value);
    digitalWrite(ADS_PIN_CS, HIGH);
    delayMicroseconds(5);
}

Xử lý tín hiệu số tại máy tính (Python Digital Filtering Engine)

Tín hiệu thô từ các kênh được chuyển đổi từ số bù hai (2's Complement) sang điện áp $\mu\text{V}$ bằng công thức:

$$V_{\text{in}} = \frac{\text{RawADC} \times V_{\text{REF}}}{(\text{Gain} \times (2^{23} - 1))}$$

Sau đó, tín hiệu đi qua bộ lọc liên hoàn: Lọc Notch IIR bậc 2 triệt tiêu tần số $50\text{Hz}$ ($Q = 30$) và bộ lọc thông dải Butterworth bậc 4 dải tần $0.5 - 50\text{Hz}$.

import numpy as np
from scipy import signal

class EEGSignalProcessor:
    def __init__(self, sampling_rate=250.0):
        self.fs = sampling_rate
        # Khởi tạo bộ lọc Notch 50Hz (loại bỏ nhiễu điện lưới xoay chiều)
        self.b_notch, self.a_notch = signal.iirnotch(w0=50.0, Q=30.0, fs=self.fs)
        # Khởi tạo bộ lọc thông dải Butterworth bậc 4 (0.5 - 50 Hz)
        self.b_bandpass, self.a_bandpass = signal.butter(
            N=4, Wn=[0.5, 50.0], btype='bandpass', fs=self.fs
        )

    def raw_to_microvolts(self, raw_bytes, gain=24.0, v_ref=4.5):
        """Chuyển đổi 3-byte nhị phân bù hai thành giá trị microvolts (uV)"""
        val = int.from_bytes(raw_bytes, byteorder='big', signed=True)
        voltage = (val * v_ref) / (gain * (2**23 - 1))
        return voltage * 1e6

    def process_frame(self, data_chunk):
        """Lọc nhiễu dữ liệu chuỗi thời gian"""
        # Áp dụng lọc Notch
        filtered_notch = signal.filtfilt(self.b_notch, self.a_notch, data_chunk)
        # Áp dụng lọc Bandpass
        clean_eeg = signal.filtfilt(self.b_bandpass, self.a_bandpass, filtered_notch)
        return clean_eeg

    def compute_fft(self, clean_signal):
        """Tính toán mật độ phổ công suất (Power Spectral Density)"""
        n = len(clean_signal)
        freqs = np.fft.rfftfreq(n, d=1.0/self.fs)
        fft_values = np.abs(np.fft.rfft(clean_signal)) / n
        return freqs, fft_values

Kiểm thử và kết quả thực nghiệm

  1. Kiểm tra độ suy giảm tín hiệu và tỷ số nén đồng pha (CMRR): Sử dụng tín hiệu kiểm tra nội tích hợp của ADS1299 (sóng vuông biên độ $1\text{mV}$, tần số $1\text{Hz}$), hệ thống ghi nhận dạng sóng vuông chính xác với độ lệch pha $< 0.5%$ và tỷ số CMRR đo được tại tần số $50\text{Hz}$ đạt $-108.4\text{ dB}$.
  2. Độ trễ và thông lượng truyền thông BLE: Tần số lấy mẫu đạt ổn định ở mức $250\text{ SPS} \pm 0.2\text{ SPS}$ trên cả 8 kênh đồng thời. Tỷ lệ rớt gói tin trên khoảng cách $5\text{m}$ duy trì ở mức cực thấp ($< 0.05%$), độ trễ xử lý đầu-cuối (End-to-End Latency) đạt xấp xỉ $12.4\text{ ms}$.
  3. Thực nghiệm sóng Alpha trên người dùng thực tế: Điện cực được bố trí tại các vị trí chẩm $O_1, O_2$ và trán $F_{p1}, F_{p2}$ theo hệ thống 10-20, nối đất tại mỏm tai (A1/A2). Thử nghiệm hiện tượng suy giảm/tăng cường sóng Alpha (Alpha blocking):
    • Trạng thái nhắm mắt, thư giãn: Biên độ sóng trong dải $8 - 13\text{Hz}$ tăng vọt lên mức $25 - 45\mu\text{V}$.
    • Trạng thái mở mắt, tập trung thị giác: Biên độ sóng Alpha giảm mạnh xuống dưới $8\mu\text{V}$, nhường chỗ cho hoạt động sóng Beta ($13 - 30\text{Hz}$).

Đổi mới và đóng góp

  1. Tối ưu hóa kiến trúc nhúng chi phí thấp: Thay vì sử dụng các module SoC đắt đỏ hoặc kiến trúc nhiều vi điều khiển phân tầng, đề tài đã tích hợp thành công ADS1299 trực tiếp với Arduino Nano 33 BLE (nRF52840). Thiết kế này vừa tiết kiệm không gian mạch, vừa tận dụng được phần cứng BLE 5.0 sẵn có để loại bỏ hoàn toàn module thu phát ngoài.
  2. Cắt giảm chi phí vượt trội: Hệ thống hoàn thiện có giá thành linh kiện BOM (Bill of Materials) chỉ xấp xỉ 85 USD, tương đương mức giảm hơn 85% chi phí so với giải pháp OpenBCI Cyton (khoảng 600 - 800 USD) và giảm 99% so với các hệ thống y tế chuyên dụng, mở ra cơ hội tiếp cận BCI cho sinh viên và các nhà nghiên cứu độc lập.
  3. Bộ công cụ trực quan hóa mã nguồn mở hoàn chỉnh: Toàn bộ mã nguồn firmware nhúng và giao diện GUI Python/PyQt5 được đóng gói dạng mô-đun, cho phép tùy biến dải lọc, tốc độ lấy mẫu và xuất định dạng dữ liệu chuẩn (CSV/EDF) phục vụ huấn luyện các mô hình AI/BCI.
So sánh chi phí triển khai hệ thống:
[Hệ thống đề xuất: ~$85]        ██
[OpenBCI Cyton: ~$750]          ████████████████
[g.tec Nautilus: ~$18,000+]     ██████████████████████████████████████████████████ (Vượt ngưỡng)

Ứng dụng thực tế và triển khai

Các kịch bản ứng dụng cụ thể

  • Hỗ trợ người suy giảm vận động: Chuyển đổi trạng thái nhấp nháy mắt (Eye-blink artifact - tín hiệu EOG biên độ cao) hoặc sóng Alpha chẩm thành các lệnh nhị phân (ON/OFF) điều khiển xe lăn điện hoặc bật/tắt thiết bị gia dụng.
  • Giám sát độ tập trung và mệt mỏi: Ứng dụng trong theo dõi tài xế đường dài hoặc phi công, phát hiện sớm dấu hiệu buồn ngủ khi tỷ lệ công suất sóng Theta/Beta vượt ngưỡng an toàn.
  • Giảng dạy và thực hành đại học: Làm kit thí nghiệm chuẩn cho các môn học Xử lý tín hiệu y sinh, Kỹ thuật vi điều khiển và Hệ thống nhúng.

Hướng dẫn triển khai và tích hợp

  1. Chuẩn bị phần cứng: Kết nối module ADS1299 với Arduino Nano 33 BLE qua các chân SPI chuẩn (SCK $\rightarrow$ D13, MISO $\rightarrow$ D12, MOSI $\rightarrow$ D11, CS $\rightarrow$ D10, DRDY $\rightarrow$ D2). Cấp nguồn $3.3\text{V}$ ổn định từ pin Li-Po qua mạch ổn áp LDO độ nhiễu thấp (Ultra-low noise LDO).
  2. Nạp Firmware: Sử dụng Arduino IDE để nạp mã nguồn điều khiển đã cấu hình đầy đủ các thanh ghi tốc độ lấy mẫu và bộ khuếch đại PGA.
  3. Cài đặt môi trường Host: Khởi chạy script Python GUI trên máy tính có hỗ trợ Bluetooth 4.2/5.0 (pip install pyqt5 pyqtgraph bleak numpy scipy).
  4. Gắn điện cực: Vệ sinh vị trí da đầu bằng cồn $70^\circ$, bôi gel dẫn điện Ten20 và gắn các điện cực chén Ag/AgCl theo sơ đồ vị trí định sẵn, kiểm tra trở kháng tiếp xúc $< 5\text{ k}\Omega$.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Độ nhạy với nhiễu chuyển động (Motion Artifacts): Do sử dụng điện cực ướt gắn dây truyền thống, khi người dùng cử động đầu hoặc đi lại mạnh, dây cáp dao động gây biến thiên điện dung và tạo nhiễu đột biến trên biểu đồ.
  • Nguồn cấp và cách ly quang: Phiên bản thử nghiệm chia sẻ nguồn chung giữa khối vi điều khiển số và khối tương tự của ADS1299, chưa tích hợp IC cách ly quang (Digital Isolator) chuẩn y tế để bảo vệ tuyệt đối và triệt tiêu tiếp đất vòng (Ground Loop).

Hướng phát triển tương lai

  • Thiết kế PCB tích hợp nguyên khối (Custom Integrated PCB): Thu nhỏ kích thước toàn bộ hệ thống về dạng một bo mạch tròn đường kính $3.5\text{cm}$ có thể gắn trực tiếp lên mũ đội đầu.
  • Tích hợp TinyML trực tiếp trên MCU: Triển khai mạng nơ-ron tích chập 1D (1D-CNN) nén nhẹ trên nhân Cortex-M4 để phân loại trạng thái tập trung/thư giãn ngay tại biên (Edge Computing) mà không cần truyền dữ liệu thô về máy tính.
  • Phát triển điện cực khô dạng chông (Dry Comb Electrodes): Loại bỏ việc bôi gel dẫn điện, giúp quá trình đeo thiết bị rút ngắn xuống dưới 1 phút.

Đối tượng hưởng lợi

  • Sinh viên khối Kỹ thuật Máy tính, Điện tử & Y sinh: Tiếp cận tài liệu thiết kế phần cứng hoàn chỉnh, mã nguồn firmware và thuật toán xử lý tín hiệu mẫu để học tập và làm đồ án.
  • Nhà phát triển và Maker cộng đồng BCI: Nền tảng phần cứng giá rẻ, dễ mở rộng, cho phép tích hợp vào các dự án điều khiển robot, thực tế ảo (VR) và thiết bị nhà thông minh.
  • Nhà nghiên cứu khoa học thần kinh: Giải pháp thu thập dữ liệu thô chuẩn hóa, chi phí thấp, hỗ trợ bố trí các phòng lab thực nghiệm với số lượng người tham gia lớn cùng lúc.
  • Doanh nghiệp MedTech: Cơ sở tham khảo kiến trúc để phát triển các dòng sản phẩm theo dõi sức khỏe tại nhà phân khúc phổ thông.

Câu hỏi thường gặp

1. Yêu cầu cấu hình tối thiểu để triển khai và thu nhận dữ liệu là gì?

Hệ thống yêu cầu máy tính chạy Windows 10/11, macOS hoặc Linux có tích hợp Bluetooth 4.2 trở lên, cài đặt Python 3.8+ cùng các thư viện bleak, numpy, scipy, pyqtgraph. Về phần cứng thu nhận, chỉ cần bo mạch Arduino Nano 33 BLE, module ADS1299 và nguồn pin $3.7\text{V} - 5\text{V}$.

2. Hệ thống có thể mở rộng lên 16 hoặc 32 kênh không?

Có. Chip ADS1299 hỗ trợ cơ chế ghép tầng (Cascading) thông qua chân tín hiệu DAISY_IN. Người dùng có thể ghép nối 2 đến 4 chip ADS1299 dùng chung bus SPI và xung nhịp CLK để nâng tổng số kênh thu thập lên 16 hoặc 32 kênh vi sai đồng bộ.

3. Làm thế nào để giải quyết nhiễu điện lưới 50Hz triệt để trong môi trường thực tế?

Hệ thống sử dụng phương pháp bảo vệ kép: Ở tầng phần cứng, mạch điều khiển chân phải chủ động (Driven Right Leg / BIAS circuit) lấy mẫu điện áp đồng pha và đảo pha đưa ngược lại cơ thể để triệt tiêu nhiễu chế độ chung; ở tầng phần mềm, bộ lọc số IIR Notch Filter $50\text{Hz}$ ($Q = 30$) lọc bỏ phần dư thừa mà không làm méo biên độ các dải sóng não lân cận.

4. Thiết bị hoạt động liên tục bằng pin được trong bao lâu?

Arduino Nano 33 BLE tiêu thụ dòng trung bình khoảng $15\text{mA}$ khi bật BLE, ADS1299 tiêu thụ khoảng $5\text{mA}$ ở chế độ hoạt động bình thường. Với một viên pin Li-Po dung lượng $500\text{mAh}$, hệ thống có thể duy trì hoạt động truyền dữ liệu liên tục từ 20 đến 25 giờ.

5. Chi phí chế tạo chi tiết và thời gian hoàn vốn (ROI) khi ứng dụng giảng dạy?

Tổng chi phí linh kiện khoảng 85 USD/bộ (bao gồm module vi xử lý, ADS1299, dây cáp, điện cực chén và pin). So với việc đầu tư thiết bị thương mại như OpenBCI ($~800\text{ USD}$), một phòng thực hành 10 bàn tiết kiệm được hơn 7.000 USD chi phí ban đầu, thời gian thu hồi vốn thông qua giá trị khai thác đào tạo và nghiên cứu đạt được ngay trong năm học đầu tiên.


Kết luận

Đề tài "Hệ thống thu thập tín hiệu sóng não với module Nano 33 BLE" đã nghiên cứu, thiết kế và chế tạo thành công một hệ thống EEG 8 kênh không dây hoàn chỉnh với độ chính xác cao và giá thành tối ưu. Bằng việc kết hợp sức mạnh phần cứng của bộ ADC y tế chuyên dụng TI ADS1299 cùng vi điều khiển nRF52840 chạy trên nền tảng Arduino Nano 33 BLE, nghiên cứu đã giải quyết xuất sắc bài toán cân bằng giữa độ chính xác tín hiệu sinh học ($\text{CMRR} = -108.4\text{ dB}$, độ phân giải 24-bit), tính di động linh hoạt (chuẩn truyền thông BLE 5.0) và rào cản chi phí.

Hệ thống mở ra tiền đề quan trọng cho việc mở rộng các nghiên cứu BCI ứng dụng tại Việt Nam, từ hỗ trợ y tế, chăm sóc sức khỏe cho đến các hệ thống tương tác người - máy thông minh trong tương lai. Bạn có thể tham khảo thêm cấu trúc và trao đổi với cộng đồng nghiên cứu để tiếp tục tối ưu hóa bo mạch và phát triển các mô hình phân loại tín hiệu học sâu trên thiết bị.