Skip to the content
PCBKitNew board
2 layers143.9 × 88.6 mmEsd pcb design, the printed circuit board in 3D

Esd pcb design

k1thhh/CIPN1

An edge-AI system for early detection of Chemotherapy-Induced Peripheral Neuropathy (CIPN). Integrates vibration, thermal, and GSR sensing with ESP32-based on-device inference for real-time, low-cost neuropathy screening and point-of-care diagnostics.

Size
143.9 × 88.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
18
Nets
71
Pads
124
Tracks, vias
224, 32
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
30 Jul 2026
Updated
23 Aug 2026

Overview

Esd pcb design is an open-source printed circuit board by k1thhh, from the k1thhh/CIPN repository on GitHub. It is a 2-layer board of 143.9 × 88.6 mm with 18 parts on 71 nets, routed with 224 tracks and 32 vias.

It is built around the DRV2605LDGS, DS18B20 and L298N, with the MT3608 among its other parts. Its parts include 5 ICs, 3 resistors, 2 capacitors, 2 switches and 1 diode. It belongs with the ESP32 boards of this library.

Main components

4

README

README.md

🩺 Chemo Comfort — AI-Based Wearable for Early Detection of CIPN

Embedded Healthcare | TinyML | ESP32 | Biomedical Sensing | Edge AI

Biomedical Embedded Systems ESP32 TinyML TensorFlow Lite CIPN


📌 Overview

Chemo Comfort is a portable, low-cost embedded diagnostic prototype designed for the early, objective screening of Chemotherapy-Induced Peripheral Neuropathy (CIPN).

The system combines three complementary assessment methods:

  • A simplified EORTC QLQ-CIPN20 questionnaire
  • Vibration Perception Threshold (VPT) testing
  • Cold-temperature perception testing

The extracted features are processed directly on an ESP32-WROOM using a quantized TensorFlow Lite Micro neural network, allowing the device to classify CIPN risk without relying on cloud connectivity.

The system produces one of three risk categories:

text
Normal
Moderate
Severe

All processing is performed locally on the device, providing a privacy-preserving architecture suitable for potential home or outpatient applications.

⚠️ Important: Chemo Comfort is an academic/research prototype and is not a certified medical device. It is not intended for clinical diagnosis without further validation.


🩺 About Chemotherapy-Induced Peripheral Neuropathy

Chemotherapy-Induced Peripheral Neuropathy (CIPN) is a common adverse effect associated with several chemotherapy agents, including taxanes, platinum compounds, and vinca alkaloids.

Conventional assessment can involve:

  • Patient-reported questionnaires
  • Clinical grading scales
  • Nerve conduction studies
  • Quantitative sensory testing

The project aims to combine subjective patient-reported information with quantitative sensory measurements in a single portable embedded system.


🎯 Project Objectives

The primary objectives are:

  1. Develop a portable embedded system for CIPN screening.
  2. Collect patient-reported sensory, motor, and autonomic symptoms.
  3. Measure vibration perception thresholds.
  4. Measure cold-temperature perception.
  5. Combine multiple sensory indicators into a unified feature vector.
  6. Perform feature normalization directly on the ESP32.
  7. Deploy a quantized TinyML model on-device.
  8. Classify CIPN risk into Normal, Moderate, or Severe categories.
  9. Display the classification locally using an OLED.
  10. Eliminate the requirement for cloud-based inference.
  11. Develop a low-cost prototype suitable for further research and validation.

🏗️ System Architecture

The system combines three input modules before performing edge inference.

text
┌─────────────────────┐
│   Questionnaire     │
│   OLED + Buttons    │
└──────────┬──────────┘
           │
           │
┌──────────▼──────────┐
│   Vibration Test    │
│    DRV2605L ×2      │
└──────────┬──────────┘
           │
           │
┌──────────▼──────────┐
│   Thermal Test      │
│ Peltier + Temp      │
│      Sensor         │
└──────────┬──────────┘
           │
           ▼
┌─────────────────────────┐
│       ESP32-WROOM       │
│                         │
│ Feature Normalization   │
│ Mean / Std Scaling      │

The five model features are:

text
VPT
Cold Temperature
CIPN20 Sensory
CIPN20 Motor
CIPN20 Autonomic

These features are normalized on-device using the same preprocessing parameters used during model development.


🔬 Assessment Modules

1️⃣ Questionnaire Module

The device presents a simplified EORTC QLQ-CIPN20-based questionnaire through the OLED display.

Five push buttons are used for interaction:

  • Four questionnaire response buttons
  • One reset/response button

The questionnaire contributes sensory, motor, and autonomic symptom features to the final model input.


2️⃣ Vibration Perception Threshold Test

The VPT test evaluates the user's ability to perceive controlled vibration stimuli.

The system uses DRV2605L haptic drivers to generate controlled vibration.

text
ESP32
  │
  ▼
DRV2605L
  │
  ▼
Increasing Vibration
  │
  ▼
Patient Perception
  │
  ▼
Button Response
  │
  ▼
VPT Threshold

The vibration intensity is progressively increased until the patient indicates that the vibration can be perceived.

The project reports VPT threshold trends of approximately:

text
Non-CIPN → Median 7–8
CIPN     → Median 17–18

3️⃣ Thermal Perception Test

The thermal test evaluates cold-temperature perception.

The system uses:

  • TEC1-12706 Peltier module
  • DS18B20 / TMP117 temperature sensor
  • MOSFET H-bridge

The Peltier module changes the temperature of a contact surface while the temperature sensor continuously measures the resulting temperature.

text
ESP32
  │
  ▼
MOSFET H-Bridge
  │
  ▼
Peltier Module
  │
  ▼
Cooling Surface
  │
  ▼
Patient Perception
  │
  ▼
Cold Detection Threshold

The project reports cold-detection temperatures around:

text
30.0 – 30.7 °C

🧠 Feature Extraction

The three assessment modules produce the five model inputs:

FeatureSource
vptVibration perception test
cold_tempThermal perception test
cipn20_sensoryQuestionnaire
cipn20_motorQuestionnaire
cipn20_autonomicQuestionnaire

The complete feature vector is therefore:

text
[vpt,
 cold_temp,
 cipn20_sensory,
 cipn20_motor,
 cipn20_autonomic]

The preprocessing parameters are stored in:

text
ml/model/preproc_params.json

and mirrored as constants in the firmware.


🤖 Machine Learning Pipeline

The machine-learning pipeline was developed using Python, TensorFlow, and Google Colab.

text
Clinical / Synthetic Data
          │
          ▼
    Dataset Synthesis
          │
          ▼
     Preprocessing
          │
    ┌─────┴─────┐
    ▼           ▼
Imputation   Standardization
    │           │
    └─────┬─────┘
          ▼
       MLP Model
          │
          ▼
      Training
          │
          ▼
    TensorFlow Lite
          │
          ▼
     INT8 Quantization

📊 Dataset Development

Because a public dataset combining quantitative sensory measurements with CIPN-20 scores was not available for the project's requirements, a synthetic dataset was generated.

The dataset was constructed using statistical patterns reported in published literature, with controlled mean and standard-deviation shifts between CIPN and non-CIPN classes.

This approach allowed the embedded ML pipeline to be developed and tested while recognizing that clinical validation with real patient data remains necessary.


⚙️ Data Preprocessing

The ML pipeline applies two major preprocessing operations.

Median Imputation

Missing values are handled using:

text
SimpleImputer
      ↓
Median Imputation

Feature Standardization

The features are standardized using:

text
StandardScaler

The resulting mean and scaling parameters are saved in:

text
preproc_params.json

The same preprocessing parameters are embedded into the ESP32 firmware to maintain consistency between training and inference.


🧠 Neural Network Architecture

The project uses a compact two-layer Multilayer Perceptron (MLP).

text
5 Input Features
       │
       ▼
┌──────────────────┐
│ Dense Layer      │
│ 16 Neurons       │
│ ReLU Activation  │
└────────┬─────────┘
         │
         ▼
┌──────────────────┐
│ Dense Layer      │
│ 1 Neuron         │
│ Sigmoid           │
└────────┬─────────┘
         │
         ▼
    CIPN Risk Score

The model was trained for:

text
Epochs      = 30
Optimizer   = Adam
Learning Rate = 0.001
Train/Test  = 85:15

📦 TensorFlow Lite Conversion

After training, the model is converted into an embedded-friendly representation.

text
Keras Model
    ↓
TensorFlow Lite
    ↓
INT8 Post-Training Quantization
    ↓
C Array
    ↓
model.h
    ↓
ESP32 Firmware

The resulting model.h file contains the TensorFlow Lite model as a C byte array that can be compiled directly into the ESP32 firmware.


⚡ On-Device TinyML

One of the major features of Chemo Comfort is that inference occurs directly on the ESP32.

text
Patient Data
     ↓
Feature Extraction
     ↓
Normalization
     ↓
INT8 TinyML Model
     ↓
Risk Classification
     ↓
OLED

No cloud server is required for inference.

This provides:

  • Lower dependency on internet connectivity
  • Local processing
  • Improved privacy
  • Potentially faster response
  • Portable operation

The firmware executes the model using a 32 KB tensor arena.


🖥️ OLED User Interface

A 0.96-inch 128×64 I²C OLED provides the user interface.

It displays:

  • Questionnaire prompts
  • Progress
  • Test information
  • Final CIPN risk classification

The final classification is displayed as:

text
┌──────────────────┐
│   CIPN RESULT    │
│                  │
│     NORMAL       │
│       OR         │
│    MODERATE      │
│       OR         │
│     SEVERE       │
└──────────────────┘

💻 Firmware Architecture

The main firmware is:

text
firmware/cipn_tinyml.ino

It integrates the complete embedded workflow.

The firmware handles:

  • OLED interface
  • Questionnaire flow
  • Button debouncing
  • VPT testing
  • Thermal testing
  • Feature normalization
  • TinyML inference
  • Risk classification
  • Result display

🔌 Hardware Architecture

ComponentFunction
ESP32-WROOMMain controller + TinyML inference
DRV2605L ×2Vibration stimulus generation
TEC1-12706 PeltierThermal stimulus
DS18B20 / TMP117Temperature sensing
MOSFET H-BridgeBidirectional Peltier control
MT3608Boost conversion
0.96" OLEDUser interface
5 Push ButtonsQuestionnaire and test interaction

The ESP32-WROOM uses a dual-core Xtensa LX6 architecture operating at up to 240 MHz with 520 KB SRAM.


💰 Cost Analysis

The prototype has an estimated total component cost of approximately:

₹1,710

ComponentQtyUnit CostTotal
ESP32-WROOM1₹400₹400
DRV2605L2₹180₹360
Peltier Module1₹200₹200
DS18B20/TMP1171₹120₹120
MT36081₹80₹80
OLED1₹150₹150
Push Buttons5₹10₹50
MOSFET H-Bridge1₹100₹100
Power Supply / USB1₹100₹100
Miscellaneous——₹150
Total≈ ₹1,710

📁 Repository Structure

text
ChemoComfort-CIPN-Wearable/
│
├── README.md
│
├── docs/
│   └── Chemo_Comfort_Project_Report.pdf
│
├── firmware/
│   ├── cipn_tinyml.ino
│   └── model.h
│
├── ml/
│   ├── notebooks/
│   │   └── cipn.ipynb
│   │
│   ├── data/
│   │   ├── cipn_cancer_drug_only.csv
│   │   └── taxane.csv
│   │
│   └── model/
│       └── preproc_params.json
│
└── PCB/
    ├── esd_pcb_design.kicad_pro

The repository therefore combines embedded firmware, TinyML training artifacts, datasets, preprocessing parameters, and PCB design files in a single project structure.


🛠️ Tools & Technologies

Embedded

  • ESP32-WROOM
  • Arduino IDE
  • Embedded C/C++
  • I²C
  • GPIO
  • PWM
  • Sensor interfacing

Machine Learning

  • Python
  • TensorFlow
  • TensorFlow Lite
  • TensorFlow Lite Micro
  • Google Colab
  • INT8 quantization

Hardware Design

  • KiCad
  • PCB schematic design
  • PCB layout

User Interface

  • OLED
  • Push buttons
  • Serial Monitor

📚 Required Arduino Libraries

The firmware uses:

text
Adafruit_GFX
Adafruit_SSD1306
Adafruit_DRV2605
tflm_esp32
eloquent_tinyml
Wire

Wire is included with the Arduino/ESP32 environment.


🚀 Getting Started

1️⃣ Machine Learning Pipeline

Open:

text
ml/notebooks/cipn.ipynb

using Google Colab or Jupyter.

The notebook contains the dataset synthesis, preprocessing, model training, and TensorFlow Lite conversion workflow.


2️⃣ PCB Design

The PCB design can be opened using KiCad 8.x or later.

The main project file is:

text
PCB/esd_pcb_design.kicad_pro

The repository also contains the schematic and PCB layout files.


3️⃣ Flash the ESP32

Open:

text
firmware/cipn_tinyml.ino

Ensure that:

text
model.h

is present in the same sketch directory.

Install the required Arduino libraries, select the appropriate ESP32 board and COM port, then upload the firmware.


🔄 Complete System Workflow

text
             START
               │
               ▼
        Questionnaire
               │
               ▼
        Sensory Scores
               │
               ▼
        VPT Measurement
               │
               ▼
       Vibration Threshold
               │
               ▼
      Thermal Measurement
               │
               ▼
      Cold Detection Temp
               │
               ▼
      ┌──────────────────┐
      │ 5 Feature Vector │
      └────────┬─────────┘

📊 Project Results

The implemented prototype demonstrates:

ParameterResult
ArchitectureESP32-based edge diagnostic prototype
Input ModalitiesQuestionnaire + VPT + thermal
ML Model2-layer MLP
Model QuantizationINT8
Input Features5
Tensor Arena32 KB
Inference Time< 1 second
Reported AUC≈ 0.70–0.90
PC-to-device parity deviation< 2%
Estimated Cost≈ ₹1,710

The reported AUC varies between training runs, while the project reports less than 2% parity deviation from the PC-based Keras model and consistently sub-second ESP32 inference.


🔍 Verification Strategy

The system can be evaluated at multiple levels.

Hardware Verification

Verify:

  • Vibration generation
  • Temperature measurement
  • Peltier control
  • OLED operation
  • Button response

Sensor Verification

Compare VPT and thermal measurements with expected trends.

ML Verification

Compare the embedded model's output against the original PC-based Keras model.

Quantization Verification

Evaluate whether INT8 conversion significantly changes model predictions.

Embedded Performance

Measure:

  • Inference latency
  • Memory usage
  • Tensor arena requirements
  • End-to-end test duration

System-Level Verification

Verify that questionnaire responses, sensory measurements, preprocessing, inference, and OLED output work as one integrated system.


🧠 Key Concepts Demonstrated

This project provides practical exposure to:

  • Embedded healthcare systems
  • Biomedical sensing
  • CIPN screening
  • ESP32 development
  • TinyML
  • Edge AI
  • TensorFlow Lite Micro
  • INT8 quantization
  • Neural-network deployment
  • Feature normalization
  • Median imputation
  • Vibration perception testing
  • Thermal perception testing
  • Peltier control
  • Temperature sensing
  • Haptic feedback
  • OLED interfaces
  • Embedded machine learning
  • PCB design
  • KiCad
  • Hardware-software integration

💡 What I Learned

The project demonstrates how a machine-learning model can move from a Python training environment into a resource-constrained embedded device.

The complete development pipeline can be summarized as:

text
Data
  ↓
Preprocessing
  ↓
Model Training
  ↓
TensorFlow Lite
  ↓
INT8 Quantization
  ↓
C Array Conversion
  ↓
ESP32 Deployment
  ↓
On-Device Inference
  ↓
Risk Classification

At the same time, the project combines physical sensing, embedded firmware, PCB design, and machine learning into one end-to-end system.

This makes the project an example of how TinyML can be used to move AI inference closer to the point of data acquisition.


🏥 Potential Applications

The underlying architecture could potentially be extended to:

Home Screening

Portable preliminary monitoring outside a hospital environment.

Outpatient Monitoring

Repeated measurements during chemotherapy treatment.

Telemedicine

Future wireless connectivity could allow measurements to be shared with healthcare providers.

Rehabilitation

The same sensory-measurement architecture could potentially be adapted for monitoring changes in peripheral sensory function over time.

These are potential applications of the prototype; clinical suitability would require substantial real-world validation and regulatory evaluation.


⚠️ Limitations

The current prototype has several important limitations.

Synthetic Training Data

The ML dataset was synthesized because a suitable public dataset combining the required sensory measurements and CIPN-20 scores was unavailable.

Clinical Validation

The model requires validation using real patient data before any clinical interpretation.

Model Performance

The reported AUC ranges from approximately 0.70–0.90 depending on the training run, so performance is not yet sufficient to establish clinical reliability.

Hardware Resolution

The current thermal and vibration measurement mechanisms provide prototype-level sensory measurements rather than certified clinical measurements.

Regulatory Status

The system is an academic/research prototype and is not a certified medical device.

🚀 Future Scope

The project can be extended through:

  • Collection of real patient data
  • Clinical retraining and validation
  • Larger and more diverse datasets
  • Electrodermal activity sensing
  • Tactile-response timing measurements
  • Bluetooth connectivity
  • Wi-Fi connectivity
  • Telemonitoring
  • EHR integration
  • Closed-loop PID thermal control
  • Higher-resolution temperature threshold measurement
  • Touchscreen interface
  • Companion mobile application
  • Li-ion battery operation
  • Portable enclosure
  • Medical-device compliance pathway

These extensions are consistent with the project's documented future-work directions.


📈 Future System Architecture

A future version could evolve toward:

text
        Multi-Modal Sensing
               │
       ┌───────┼────────┐
       ▼       ▼        ▼
      VPT    Thermal  Questionnaire
       │       │        │
       └───────┼────────┘
               ▼
        Feature Fusion
               │
               ▼
       Edge AI / TinyML
               │
               ▼
       Risk Estimation
               │
       ┌───────┴────────┐
       ▼                ▼
 Local OLED       Wireless Report
                         │
                         ▼
                   Telemonitoring

⭐ Project Highlights

  • 🔹 AI-based CIPN screening prototype
  • 🔹 Multi-modal sensory assessment
  • 🔹 EORTC QLQ-CIPN20-based questionnaire
  • 🔹 Vibration Perception Threshold testing
  • 🔹 Peltier-based thermal perception testing
  • 🔹 ESP32-WROOM embedded platform
  • 🔹 On-device TinyML inference
  • 🔹 TensorFlow Lite Micro
  • 🔹 INT8 model quantization
  • 🔹 5-feature ML input vector
  • 🔹 2-layer MLP architecture
  • 🔹 Sub-second inference
  • 🔹 PC-to-device parity within <2%
  • 🔹 OLED-based user interface
  • 🔹 Custom PCB design using KiCad
  • 🔹 Estimated prototype cost of ~₹1,710
  • 🔹 Completely offline inference
  • 🔹 Privacy-preserving edge architecture

👥 Authors

Kirthana S R. Gopikasree Joshitha G

Guide: Dr. V. Prakash

School of Electronics Engineering Vellore Institute of Technology, Chennai

The project was developed as part of BECE403E – Embedded System Design (November 2025).


📌 Keywords

CIPN Chemotherapy-Induced Peripheral Neuropathy TinyML Edge AI ESP32 TensorFlow Lite TensorFlow Lite Micro Biomedical Engineering Embedded Systems Healthcare AI Vibration Perception Thermal Perception Peltier DRV2605L OLED Machine Learning INT8 Quantization CIPN20 EORTC KiCad PCB Design Embedded ML On-Device Inference


Sense → Extract → Normalize → Infer → Classify

Parts

18
QtyValueFootprintReferences
10.1uFCapacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mmC1
110kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2
1220uFCapacitor_THT:CP_Radial_D6.3mm_P2.50mmC2
122uHInductor_THT:L_Axial_L6.6mm_D2.7mm_P2.54mm_Vertical_Vishay_IM-2L1
14.7kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3
175kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
1Conn_01x02_PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalCoin_motor1
1Conn_01x02_PinConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalBattery1
1DRV2605LDGSPackage_SO:VSSOP-10_3x3mm_P0.5mmU2
1DS18B20Package_TO_SOT_THT:TO-92_InlineU3
1D_SchottkyDiode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1
1ESP32-DEVKIT-V1ESP32-DEVKIT-V1:MODULE_ESP32_DEVKIT_V1U1
1L298NPackage_TO_SOT_THT:TO-220-15_P2.54x5.08mm_StaggerOdd_Lead4.58mm_VerticalU6
1MT3608Package_TO_SOT_SMD:SOT-23-6U7
1OLED-128O064DDisplay:OLED-128O064DDS1
1SW_PushButton_Switch_THT:SW_PUSH_6mmSW1
1SW_SPSTConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical_SMD_Pin1LeftSW2
1Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_HorizontalPELTIER1

Questions

How big is the Esd pcb design PCB?

It measures 143.9 × 88.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Esd pcb design use?

18 parts, built around the DRV2605LDGS, DS18B20, L298N and MT3608. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Esd pcb design KiCad files?

From the k1thhh/CIPN repository on GitHub, at the commit this page was made from: the board is pcb design/esd_pcb_design.kicad_pcb and its schematic pcb design/esd_pcb_design.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Esd pcb design design in my own project?

Its repository states no licence, so its author keeps all rights: ask k1thhh before reusing the design.

Similar boards

  • 2 layers96 × 74 mmMacroController, the printed circuit board in 3D

    MacroController

    alex1klimovich/nrf52840-macro-controller

    Custom nRF52840 productivity controller for digital artists — PCB, BLE/USB firmware, OLED, haptics, RGB, and enclosure CAD.

    78 parts1
  • 2 layers55 × 55 mmPulsera, the printed circuit board in 3D

    Pulsera

    montero-elian/Proyecto-Pulsera

    37 parts
  • 4 layers92.1 × 56.7 mmMAIA, the printed circuit board in 3D

    MAIA

    vrmay23/MAIA

    ADAS for blind dogs!

    124 parts1
  • 2 layers163.7 × 124.3 mmMicro PowerModule, the printed circuit board in 3D

    Micro PowerModule

    yingchaotw/micro_PowerModule

    µPower Supply Module

    235 parts1GPL-3.0
  • 2 layers65 × 56 mmRaspberryPi UPS HAT, the printed circuit board in 3D

    RaspberryPi UPS HAT

    gvoigtlaender/RaspberryPi_UPS_HAT

    RaspberryPi UPS HAT

    63 parts4GPL-3.0
  • 2 layers80 × 50 mmIguana V1, the printed circuit board in 3D

    Iguana V1

    iowlabs/Iguana

    Repositorio para proyecto Iguana IOWLabs (Cultivo)

    120 parts1
  • 2 layers88.9 × 61.6 mmLEDs, the printed circuit board in 3D

    LEDs

    AlphaLED/board

    PCB for LEDs

    102 parts