Pseudo-Medical Monitor
QUACK-A-THON 2025
This is NOT A VALID MEDICAL DEVICE IN ANY KNOWN UNIVERSE, ACTUAL OR FICTIONAL!!!
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.
Monitoring
Tests
| Test | |
|---|---|
| Configuration | Procedure |
| Eye Test | |
|
Instructions for the one being tested are displayed on the unit's screen. The one tested will be shown an "E" symbol of various sizes and orientations. The display will be activated based on distance readings from the Base Device distance sensor. After the display distance and time are met, the one tested will use a Rotary Encoder and Switch function, on the Control Panel, to select orientation on the "E" symbol. The process will be repeated with success or failure counts by orientation and distance will be recorded. |
| Hearing Test | |
|
Instructions for the one being tested are displayed on the unit's screen. A series of tones of various frequencies and volumes are played to each ear in variable patterns. Upon detection of the Tone, the tested is required to signal detection by depressing the appropriate Hand Held Unit Button of Rotary Encoder. Tones are tested for a determined time and a timeout condition is considered to be non-detection. Repeat of the "missed" Tones can be retested for confirmation. |
| Grip and Reflex Test | |
|
Instructions for the one being tested are displayed on the unit's screen. The one tested will be asked to grip the Hand Held Units multiple times to set a baseline for grip pressure readings for each Unit used. The one tested will then be required to register detection of the Units vibrating motor. The operating time of the motor will be varied. Detection of the vibration and time to detection are recorded. Detection will be based on grip detection and Unit Button depression as instructed during test. |
| EKG and Respiration Test A | |
|
Instructions for the one being tested are displayed on the unit's screen. The victim/one tested will be appropriately "Wired Up" to the device. The sensor readings will be displayed to screen. If the one tested has a pulse and breathing is detected, the the one tested will be considered "NOT DEAD". If (a pulse but not breathing) or (breathing but no pulse) is detected the the one tested will be considered "NOT QUITE DEAD". If neither pulse or breathing is detected then the one tested could simply be "PINING FOR THE FJORDS" or "NOT ALIVE" but no assertion will be made as to their death. |
| EKG and Respiration Test B | |
|
Instructions for the one being tested are displayed on the unit's screen. The victim/one tested will be appropriately "Wired Up" to the device. The sensor readings will be displayed to screen. Regardless of the sensor readings, the NeoPixel Unit on the EKG Unit will be cycled through various colors, brightness and/or sequences. Changes to sensor readings will then be wrecklessly assigned to conjecture as well as confession through projection interpretations. |
| EEG Test | |
|
Instructions for the one being tested are displayed on the unit's screen. The victim/one tested will be appropriately "Wired Up" to the device. The sensor readings will be displayed to screen. Regardless of the sensor readings, the NeoPixel Unit on the EEG Unit will be cycled through various colors, brightness and/or sequences. Changes to sensor readings will then be wrecklessly assigned to conjecture as well as confession through projection interpretations. This is a test of higher validity due to there being more lines displayed on the screen then the EKG and Respiration Tests. |
| Poly-Liar Test | |
|
Instructions for the one being tested are displayed on the unit's screen. The victim/one tested will be appropriately "Wired Up" to the device. The sensor readings will be displayed to screen. After a series of harmless questions are asked and answered, the one tested will be subjected to scandalous and salacious questions and accusations. Every sensor change or stable reading will be left to predefined biased impressions and be held against the tested one's integrity. A Tone device may sound at random causing reading changes. These changes can be ignored or used as grounds to doubt the veracity of answers given. |
| Eye Tracking Analyzer Test A | |
|
Instructions for the one being tested are displayed on the unit's screen. The one being tested is warned, discouraged and berated to NOT take this test. Eye Safety has NOT BEEN ESTABLISHED. |
| Eye Tracking Analyzer Test B | |
|
Instructions for the one being tested are displayed on the unit's screen. The one being tested is asked to track a moving object with their eyes only. Movement of the head is tracked via the goggle's MPU. The ability of the tested one to hold head still is rated. Eye Safety has NOT BEEN ESTABLISHED. |
Design
This Amazing, Affordable, Earth Changing Device, for which no endorsement is to be inferred, is designed as a collection of layers.
- Layers
- Main Unit Sensor Layer
- Audio Layer
- Port Unit Layer
- Processor Layer
The device is flanked by two sets of two RJ45 Socket Units. A Controls Unit is placed at one end.
Parts List
Shield Levels
| SHIELDS | |
|---|---|
| Shield | Name |
| * Arduino Mega Prototype Shield Generic Clone (alternative: KEYESTUDIO) (Analog Testing connector added after photo) | |
| * Audio Shield with VS1103 | |
| * Ports Shield | |
Assemblies
Units
Breakdowns
External EKG-Respiration Unit
Respiration Detection Sensor Assembly Render
Respiration Detector Signal Conditioner
Assembly without Harness
Respiration Detection Sensor Assembly Attached to Harness
External Hand Held Unit
External Poly-Liar Unit
Respiration Detection Sensor Rendered Model
Respiration Detection Sensor Attached to Harness
GSR Circuit
Tone I2C Controller
Pulse Sensor
TMP36 Temperature Sensor
Goggles Simple Unit
External EEG Simple Unit
Under Construction
Connections
Arduino DUE Pin Usage Baseline 1
Main Shield
| Pin Mapping | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Due Pin | Function | MLX90614 | AMG8833 | VL53L0X | MAX30102 | FP Scan | TFT | SD Socket | Analog Test Socket |
| 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 | ||||||
Control 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 |
Audio 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 | Port # | Line # | DUE Pin | Function | Port # | Line # | DUE Pin | Function | Port # | Line # | DUE Pin | Function | |||
| 0 | 1 | 3.3V | Power | 1 | 1 | 3.3V | Power | 2 | 1 | 3.3V | Power | 3 | 1 | 3.3V | Power | |||
| 0 | 2 | GND | Power | 1 | 2 | GND | Power | 2 | 2 | GND | Power | 3 | 2 | GND | Power | |||
| 0 | 3 | 70 | I2C-SDA | 1 | 3 | 70 | I2C-SDA | 2 | 3 | 70 | I2C-SDA | 3 | 3 | 70 | I2C-SDA | |||
| 0 | 4 | 71 | I2C-SCL | 1 | 4 | 71 | I2C-SCL | 2 | 4 | 71 | I2C-SCL | 3 | 4 | 71 | I2C-SCL | |||
| 0 | 5 | 53 | GPIO0 | 1 | 5 | 27 | GPIO0 | 2 | 5 | A10/64 | Analog0 | 3 | 5 | A5/59 | Analog0 | |||
| 0 | 6 | 51 | GPIO1 | 1 | 6 | 29 | GPIO1 | 2 | 6 | A9/63 | Analog1 | 3 | 6 | A4/58 | Analog1 | |||
| 0 | 7 | 49 | GPIO2 | 1 | 7 | 31 | GPIO2 | 2 | 7 | A8/62 | Analog2 | 3 | 7 | A3/57 | Analog2 | |||
| 0 | 8 | A11/65 | Analog0 | 1 | 8 | A6/60 | Analog0 | 2 | 8 | A7/61 | Analog3 | 3 | 8 | A2/56 | Analog3 | |||
External Hand-Held Unit : Valid Ports (0-3)
| 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 : Valid Ports (2-3)
| Pin Mapping | |||
|---|---|---|---|
| Line # | Device Signal | Function | |
| 1 | 3.3V | Power | |
| 2 | GND | Power | |
| 3 | NeoPixel Controller | I2C-SDA | |
| 4 | NeoPixel Controller | I2C-SCL | |
| 5 | Respiration Detection | Analog | |
| 6 | Respiration Detection Adjust | Analog | |
| 7 | N/C | Analog | |
| 8 | Heart Beat Signal | Analog | |
External EEG Simple Unit : Valid Ports (2-3)
| Pin Mapping | |||
|---|---|---|---|
| Line # | Device Signal | Function | |
| 1 | 3.3V | Power | |
| 2 | GND | Power | |
| 3 | N/C | I2C-SDA | |
| 4 | N/C | I2C-SCL | |
| 5 | Signal 0 | Analog | |
| 6 | Signal 1 | Analog | |
| 7 | Signal 2 | Analog | |
| 8 | Singal 3 | Analog | |
External Poly-Liar Unit : Valid Ports (2-3)
| Pin Mapping | |||
|---|---|---|---|
| Line # | Device Signal | Function | |
| 1 | 3.3V | Power | |
| 2 | GND | Power | |
| 3 | Tone Controller | I2C-SDA | |
| 4 | Tone Controller | I2C-SCL | |
| 5 | Respiration Detection | Analog | |
| 6 | Skin Temperature | Analog | |
| 7 | Pulse Detection | Analog | |
| 8 | GSR Signal | Analog | |
External Goggles Simple Unit : Valid Ports (2-3)
| Pin Mapping | |||
|---|---|---|---|
| Line # | Device Signal | Function | |
| 1 | 3.3V | Power | |
| 2 | GND | Power | |
| 3 | N/C | I2C-SDA | |
| 4 | N/C | I2C-SCL | |
| 5 | Top Sensor | Analog0 | |
| 6 | Bottom Right Sensor | Analog1 | |
| 7 | Bottom Left Sensor | Analog2 | |
| 8 | N/C | ||
Schematics
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);






























































