Glucometer Sensor Circuit Design
Hardware and MCU platforms used in the Freescale/NXP MED-GLU reference design (Application Note AN4364).
Natural blood glucose regulation
Glucose (C6H12O6) is the primary energy substrate for ATP synthesis. Blood glucose is tightly regulated by two pancreatic hormones with opposite effects: insulin (beta cells) and glucagon (alpha cells).
- High blood glucose → insulin release → muscle/liver uptake, glycogen and fat storage.
- Low blood glucose → glucagon release → glycogenolysis and fat mobilization.
- The cycle continues with food intake raising glucose again.
Diabetes mellitus is chronic dysregulation of this system:
- Type 1 — little or no insulin production (juvenile; ~5% of cases).
- Type 2 — insufficient insulin or cellular resistance (~90% of cases).
- Gestational — high glucose first diagnosed in pregnancy; risk factor for later Type 2.
AFE block diagram (from AN4364)
MED-GLU AFE contains all external analog components needed (except test strips) to implement a glucometer with the Kinetis K53 measurement engine. Signal path:
- Test strip → working / reference / trigger electrodes
- TRIAMP — current-to-voltage conversion
- OPAMP — gain stage
- Low-pass filter (~8 Hz) → ADC1 / ADC2
- Vref 0.1 V and Vref −0.4 V (charge-pump inverter + divider + follower)
Electroenzymatic principle
The sensor uses glucose oxidase to catalyze oxidation of glucose:
The reaction changes pH, O₂ partial pressure and H₂O₂; the strip electrodes convert this into a small current proportional to glucose concentration.
- Reference electrode — biased at about −0.4 V
- Working electrode — current sense (WElect)
- Trigger electrode — detects sample presence
After the chemistry stabilizes (~5 s), the ADC value is mapped through a lookup table to mg/dL and sent to the host GUI.
I→V conversion
Strip output is a current. A single-supply TRIAMP on the K53 with external feedback resistance converts it to voltage:
Amplification and low-pass filter
An OPAMP stage provides gain; a passive/active network sets cutoff ≈ 8 Hz to reject high-frequency noise:
- 0.1 V Vref — resistive divider from 3.3 V buffered by OPAMP (e.g. LM358) as voltage follower.
- −0.4 V bias — TPS60403 (or similar) charge-pump inverter generates −3.3 V from 3.3 V with three 1 µF capacitors; a second divider + OPAMP follower produces −0.4 V for the strip reference electrode.
Architecture
MED-GLU firmware uses the Freescale USB stack as a CDC virtual COM port. Cooperative state machines run one step per loop (FIFO-style) to emulate concurrency without blocking.
- Initialization — clocks, GPIOs, AFE enables, SW timer, USB CDC
- Communication — SerialComm_PeriodicTask parses REQ packets; SerialComm_SendData ships CFM/IND packets
- Measurement — STATE_WAITING_FOR_BLOOD → detect sample → 5 s timer → STATE_MEASURING → lookup table → report mg/dL
Key commands: GluStartMeasurementReq, GluAbortMeasurementReq. Software timer (1 ms tick) schedules 50 ms ADC sampling and the 5 s reaction window.
/* Simplified MED-GLU measurement flow */ enum { STATE_IDLE, STATE_WAITING_FOR_BLOOD, STATE_MEASURING }; void GlucoseMeter_StartMeasurement(void) { ADC_Init_8bit(); GlucoseMeter_GlucoseValue = 0; GlucoseMeterActualState = STATE_WAITING_FOR_BLOOD; SwTimer_StartTimer(sampleTimerId, 50); /* ADC every 50 ms */ } void StateWaitingForBlood(void) { if (Electrode1 > BLOOD_THRESHOLD) { GlucoseMeterActualState = STATE_MEASURING; GlucoseMeterActualEvent = EVENT_GLU_BLOOD_DETECTED; SwTimer_StartTimer(reactTimerId, 5000); /* 5 s stabilize */ } } void FinishGlucoseMeasurement_TimerEvent(void) { uint8_t adc = Read_Electrode1_ADC(); GlucoseMeter_GlucoseValue = GlucoseLookUpTable[adc]; /* mg/dL */ SerialComm_SendData(IND_MEASUREMENT_COMPLETE, GlucoseMeter_GlucoseValue); }
Calibration procedure (AN4364)
Under controlled temperature/humidity, prepare several glucose concentrations, measure with a commercial meter (X) and record MED-GLU ADC (Y). Example pairs:
| Glucose (mg/dL) commercial X | MED-GLU ADC Y |
|---|---|
| 33 | 55 |
| 99 | 126 |
| 130 | 150 |
| 157 | 175 |
Excel linear trendline on the correlation chart yields an equation of the form:
Extrapolate for ADC codes 0–255 to build GlucoseLookUpTable[] (for the chosen Vref). Strip response is approximately linear in the clinical range.
- Virtual COM: 115200 baud, 8 data, no parity, 1 stop, no flow control
- Packet types: REQ (0x52), CFM (0x43), IND (0x69)
- Glucose opcodes include START_MEASUREMENT (0x00), ABORT (0x01), BLOOD_DETECTED (0x03), MEASUREMENT_COMPLETE_OK (0x04)
- Host sends REQ → device CFM (OK/BUSY/INVALID) → IND data with length and payload
Glucometer Sensor Circuit Design — Project Support Bangalore
We support biomedical and embedded final-year projects on glucometer / blood glucose meter circuit design: AFE schematics, TRIAMP/OPAMP stages, K53 or equivalent MCU firmware outlines, calibration methodology, USB reporting and university-format documentation for VTU, Anna University, NIT and related colleges.
How We Support Your Glucometer Project
From sensor theory to documented circuit and firmware notes.