Pseudo-Medical Monitor

From LVL1
Jump to navigation Jump to search

QUACK-A-THON 2025

Pseudo-Medical Monitor for Christmas Cheap Gift

In preparation for the expected Christmas Gift availability crisis, I present the Pseudo-Gift of the season. The time honored tradition of knockoff products hitting the market before Christmas is alive and well. What better than a multi-property knockoff device? Star Trek / Arduino / Medical knockoff device gift for everyone. This Pseudo-Medical Tricorder ripoff is the stocking stuffer for 2021.

Operation

This device offers several functions to the user. The device is intended to be held by the user for self-analysis.

Modes

Passive Mode

This device provides several passive functions when not placed in specific function modes. The passive mode consists of a thermal image with a actual 8x8 resolution that is interpolated out to 24x24. A distance of device from user is recorded by a time of flight laser range finder. The distance is displayed with a color bar graph. A bar color of RED indicates the distance to user is beyond 50cm. A bar of GREEN indicates a distance of 50cm or less. The final BLUE bar indicates a distance of less than 25cm and invokes the EXG Sensor mode. An Object and Ambient temperature is displayed.

Fingerprint Mode

Placement of a finger on the fingerprint scanner activated this mode. Onscreen instructions direct the user to place finger an scanner. This suspends the Passive Mode. The onscreen instructions tell the user to keep finger on scanner until a fingerprint image is captured and displayed on the screen. When the scanner ring is pulsing RED, a fingerprint is not displayed. A GREEN ring indicates a fingerprint image has been captured and is being displayed. Upon removal of finger from scanner, the device returns to Passive Mode.

Pulse Mode

Placement of a finger on the pulse sensor activates this mode. This suspends the Passive Mode. The sensor reads the pulse and provides a beat indicator as well as an estimate pulse rate. Future upgrades will display the O2 Saturation level (stray diagnosis number under pulse rate). Upon removal of finger from sensor, the device returns to Passive Mode.

EXG Mode

When the device distance is met, or a finger is placed on the distance sensor, the EXG Mode is engaged. This suspends the Passive Mode. The entire screen is cleared and converted to display ~152 readings with automatic scaling to screen. If the distance reading remains in this modes range, additional readings are made and displayed until distance criteria changes. Upon mode change, the entire screen is redrawn and the fingerprint information is reset to not recorded. (Finger is over distance sensor, readings are from the BioAmp EXG Pill in a black box)

Tests

Eye Test

Hearing Test

Grip and Reflex Test

Extended EXG Tests

Design (Updated 11/16/2021)

  • Thermal Image from AMG8833 Sensor.
  • Ambient and Object Temperature from MLX90614 Sensor.
  • Distance of device from user via VL53L0X Laser TOF Sensor.
  • Pulse Rate from MAX30102 Sensor
  • Fingerprint Scan image capture from Capacitive Sensor with ID809 processing capabilities.
  • ECG,EMG,EEG,EOG Function depending on where you put the electrodes!

Parts List

  • Arduino Due Generic Clone (alternative: ITEADUINO DUE)

  • Arduino Mega Prototype Shield Generic Clone (alternative: KEYESTUDIO) (EXG connector added after photo)

  • Audio Shield with VS1103

  • Ports Hosted on Shield

  • Dual Encoder Control with LED indicators

BioApm EXG Pill

  • MLX90614 Contactless Temperature Sensor Generic Clone (alternative: )

  • AMG8833 Thermal Imager Sensor Generic Clone (alternative: TinyCircuits)

  • VL53L0X TOF Laser Distance Sensor Generic Clone (alternative: Onyehn)

  • MAX30102 Pulse and O2 Saturation Sensor Generic Clone (alternative: MH-ET Live)

  • Capacitive Touch Fingerprint Scanner Generic Clone (alternative: DFROBOT)

  • 160x128 LCD TFT SPI 1.8" Module with SD Socket Generic Clone (alternative: Heyaodz111208)

  • IR Pulse Sensor with incorrect Labelling

  • Grip and Reflex Sensor
    • Cylinder 5x5x15 cm. 0.25 cm. thickness
    • Copper Tape Hoop
    • Velostat Wrap Sheet
    • MPU6050 Sensor
    • Vibration Motor
    • Vibration Motor Control Circuit
    • Momentary Push Button Switch
    • Foam Wrap 0.5 cm.
    • RJ45 Socket Breakout Board

  • Test Unit for Add-Ons
    • Arduino Proto-Shield w/ pins A4 and A5 clipped to simulate Wire1 Operation
    • RJ45 Connection Box
    • Wire1 Pull-Up Resistors

  • NeoPixel I2C Controller
    • ATTINY85
    • Single NeoPixel
    • Local Reset Button

  • EKG-Respiration Unit
    • NeoPixel I2C Controller
    • EXG BIO AMP Unit
    • Breathing Motion Sensor with Amplifier
    • RJ45 Socket Breakout Board

Assemblies

External EKG-Respiration Unit

BioApm EXG Pill

External Hand Held Unit

Wiring

Main Shield

Pin Mapping
Due Pin Function MLX90614 AMG8833 VL53L0X MAX30102 FP Scan TFT SD Socket EXG
3 Interrupt IRQ
4 Interrupt INT
5 Interrupt INT
6 Digital I/O GPIO1
7 Digital I/O XSHUT
8 Digital I/O SD_CS
9 Digital I/O RST
10 Digital I/O CS
11 Digital I/O AO
18 TX_1 RX
19 RX_1 TX
20 SDA SDA SDA SDA SDA
21 SCL SCL SCL SCL SCL
A0 Signal
SPI MISO SD_MISO
SPI MOSI SDA SD_MOSI
SPI SCK SCK SD_SCK

Encoders Panel

Pin Mapping
Device SIGNAL DUE Pin Function
Controls Vin 3.3V Power
Controls SDA 20 SDA-I2C
Controls SCL 21 SCL-I2C
Controls INT 2 GPIO
Controls GND GND Power

MIDI Shield

Pin Mapping
Device SIGNAL DUE Pin Function
VS1103 Vin 3.3V Power
VS1103 GND GND Power
VS1103 TX 17 RX-Serial2
VS1103 RX 16 TX-Serial2
VS1103 GPIO0 30 GPIO
VS1103 GPIO1 32 GPIO
VS1103 RST 28 GPIO
VS1103 DREQ 24 GPIO
VS1103 BSYNC 26 GPIO
VS1103 CS 22 GPIO
VS1103 SO SPI-HDR MISO
VS1103 SI SPI-HDR MOSI
VS1103 SCLK SPI-HDR SCK

Ports Shield

Pin Mapping
Port # Line # DUE Pin Function
0 1 3.3V Power
0 2 GND Power
0 3 70 I2C-SDA
0 4 71 I2C-SCL
0 5 53 GPIO0
0 6 51 GPIO1
0 7 49 GPIO2
0 8 65/A11 Analog0
Pin Mapping
Port # Line # DUE Pin Function
1 1 3.3V Power
1 2 GND Power
1 3 70 I2C-SDA
1 4 71 I2C-SCL
1 5 27 GPIO0
1 6 29 GPIO1
1 7 31 GPIO2
1 8 60/A6 Analog0
Pin Mapping
Port # Line # DUE Pin Function
2 1 3.3V Power
2 2 GND Power
2 3 70 I2C-SDA
2 4 71 I2C-SCL
2 5 64/A10 Analog0
2 6 63/A9 Analog1
2 7 62/A8 Analog2
2 8 61/A7 Analog3
Pin Mapping
Port # Line # DUE Pin Function
3 1 3.3V Power
3 2 GND Power
3 3 70 I2C-SDA
3 4 71 I2C-SCL
3 5 59/A5 Analog0
3 6 58/A4 Analog1
3 7 57/A3 Analog2
3 8 56/A2 Analog3

External Hand-Held Unit

Pin Mapping
Line # Device Signal Function
1 3.3V Power
2 GND Power
3 MPU6050 I2C-SDA
4 MPU6050 I2C-SCL
5 MPU6050-INT GPIO
6 Vibrating Motor I/O GPIO
7 Momentary Push Button GPIO
8 Grip Sensor Analog

External EKG-Respiration Unit

Pin Mapping
Line # Device Signal Function
1 3.3V Power
2 GND Power
3 NeoPixel Controller I2C-SDA
4 NeoPixel Controller I2C-SCL
5 Breath Signal Analog
6 Breath Signal Adjust Analog
7 N/C Analog
8 Heart Beat Signal Analog

Schematics

Control Panel Circuit

EXG BIO AMP Circuit used as EKG

Note: Module is powered by 3.3V, not 5V

Respiratory Sensor

Vibrating Motor Circuit

Note: Module is powered by 3.3V not 5V

Code (Updated 11/16/2021)

Special Libraries

#include <Adafruit_GFX.h>

#include <Adafruit_ST7735.h>

#include <Adafruit_VL53L0X.h>

#include <Adafruit_AMG88xx.h>

#include <MAX30105.h>

#include <SparkFunMLX90614.h>

#include <DFRobot_ID809.h>

#include "bmpHeader.h"

#include <SD.h>

#include <Adafruit_MPU6050.h>

#include <Adafruit_Sensor.h>

#include <pu2clr_pcf8574.h>

Library Modification

// In this Library : #include <SparkFunMLX90614.h> 
//Change the following line in the bool IRTherm::I2CReadWord(byte reg, int16_t * dest) routine.
//
//  I2C processing change needed for Arduino Due implementation
//
// Comment Out Line Below
//	_i2cPort->requestFrom(_deviceAddress, (uint8_t) 3, (uint8_t) true); 

// Add Line Below
      _i2cPort->requestFrom(_deviceAddress, (uint8_t) 3, (uint32_t)reg, (uint8_t)1, (uint8_t)true);

Code Listing

Pseudo-Medical Monitor Code

Video

YouTube Demo Video

Return to Index

The JAC Project Index