Difference between revisions of "Pseudo-Medical Monitor Device Design"

From LVL1
Jump to navigation Jump to search
Line 804: Line 804:
  
 
{| class="wikitable"
 
{| class="wikitable"
 +
!colspan="3"|
 
|-
 
|-
 
| Device
 
| Device
|  
+
!colspan="2"|  
 
|-
 
|-
 
|
 
|

Revision as of 01:01, 10 December 2021

Pseudo-Medical Monitor

This Amazing, Affordable, Earth Changing Device, for which no endorsement is to be inferred, is designed as a collection of layers.

Main Unit Sensor Layer

Components

General Components
Device Name Use
JAC MED MON PROTOTYPE SHIELD PART.jpg

Arduino DUE Prototyping Shield

Base PCB for layer

JAC MED MON TFT.jpg
* 160x128 LCD TFT SPI 1.8" Module with SD Socket (Heyaodz111208)

Display and SD Card Socket

JAC MED MON HEADER PARTS.jpg
Headers Divided into various length for mounting sensors and other devices

Sensors

Sensors
Device Name Description Interface
JAC MED MON AMG8833.jpg
AMG8833 Thermal Imager Sensor (TinyCircuits) 8x8 thermal image sensor I2C Address 0x69
JAC MED MON FP SCANNER.jpg
Capacitive Touch Fingerprint Scanner (DFROBOT) ID809 high-performance processor and semiconductor fingerprint sensor Serial UART
JAC MED MON MAX30102.jpg
MAX30102 Pulse and O2 Saturation Sensor (MH-ET Live) IR and Visible Pulse and O2 Saturation Measurement I2C Address 0x57
JAC MED MON MLX90614.jpg
MLX90614 Contactless Temperature Sensor Field and object temperature sensor I2C Address 0x5A
JAC MED MON VL53L0X.jpg
VL53L0X TOF Laser Distance Sensor (Onyehn) IR Laser time of flight distance sensor I2C Address 0x29

Shield Wiring

JAC MED MON MAIN SENSOR LAYER.jpg
Pin Mapping
Due Shield Pin Function MLX90614 AMG8833 VL53L0X MAX30102 FP Scan TFT SD Socket Control Panel Analog Test Socket
2 Interrupt INT
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 SDA
21 SCL SCL SCL SCL SCL SCL
A0 Signal
SPI MISO SD_MISO
SPI MOSI SDA SD_MOSI
SPI SCK SCK SD_SCK

Assembly

JAC MED MON PROTO SHIELD POPULATED.jpg

Control Panel

Components

Control Panel Part
Device Name Use
JAC MED MON CONTROL PANEL PCB BARE.jpg
RadioShack PCB 276-150 Control Panel PCB
JAC MED MON HEADER PINS.jpg
Header Pins (various colors) Connector to Main Sensor Layer and configuration jumpers
JAC MED MON JUMPER PART.jpg
Jumper/Short Configure Control Panel I2C Address
JAC MED MON PCF8574 PART.jpg
PCF8574 Remote 8-Bit I/O Expander Monitor Rotary Encoders and Set LED Condition
JAC MED MON LED PART.jpg
LEDs Provide visual ques to user
JAC MED MON ROTARY ENCODER PART.jpg
Rotary Encoder User interface device
JAC MED MON CONTROL PANEL BRACKETS.jpg
Mounting Brackets Control Panel mounting brackets to Main Sensor Layer

Control Panel Wiring

Device Schematic
JAC MED MON ENCODERS.jpg
Pin Mapping
Device SIGNAL DUE Shield 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
JAC MED MON CONTROL PANEL SCHEMATIC.jpg

Assembly

JAC MED MON CONTROL PANEL FACE.jpg

JAC MED MON CONTROL PANEL REVERSE.jpg


Audio Layer

Components

General Components
Device Name Use
JAC MED MON PROTOTYPE SHIELD PART.jpg

Arduino DUE Prototyping Shield

Base PCB for layer

JAC MED MON VS1103 MODULE.jpg
Breakout Board for VS1103 MIDI Decoder Provide audio to user
JAC MED MON STEREO PHONO JACK.jpg
Stereo Phono Jack Audio output

Shield Wiring

JAC MED MON AUDIO SHIELD.jpg
Pin Mapping
Device SIGNAL DUE Shield 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

Assembly

JAC MED MON AUDIO SHIELD.jpg


Ports Layer

Components

General Components
Device Name Use
JAC MED MON PROTOTYPE SHIELD PART.jpg

Arduino DUE Prototyping Shield

Base PCB for layer

JAC MED MON TCA9548A PART.jpg

TCA9548A 1-to-8 I2C Multiplexer Breakout

  • Provide separate I2C bus isolation for each port
  • I2C Address 0x1E
JAC MED MON DUAL RJ45 PORT PART.jpg

Dual RJ45 Port Box

Provide External Unit connectivity to device

Shield Wiring

Device Notes
JAC MED MON PORTS LAYER ISOLATED.jpg
Pin Mapping
Port # Line # DUE Shield Pin Function Port # Line # DUE Shield Pin Function Port # Line # DUE Shield Pin Function Port # Line # DUE Shield 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 MUX-SD0 1 3 MUX-SD1 2 3 MUX-SD2 3 3 MUX-SD3
0 4 MUX-SC0 1 4 MUX-SC1 2 4 MUX-SC2 3 4 MUX-SC3
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
  • Pull-Up Resistors added to second I2C bus on DUE Shield
  • TCA9548A Module is the I2C-MUX
  • I2C-MUX is connected to the second I2C bus on DUE Shield
  • I2C-MUX Reset is connected to DUE Shield PIN D23

Assembly

JAC MED MON PORTS LAYER.jpg

Processor Layer

component

Processor Layer
Device Name Use
JAC MED MON ARDUINO DUE.jpg
Arduino Due Generic Clone (ITEADUINO DUE) Main Processor
JAC MED MON PORT MOUNTING BRACKETS.jpg
Mounting Brackets Mounting brackets support RJ45 Dual Port Boxes from Ports Layer

Wiring

Device
DUE Pin DUE Function Device DUE Pin DUE Function Device
0 RX_0 Serial0 13
1 TX_0 Serial0 14 TX_3
2 CP_INT 15 RX_3
3 FP_IRQ 16 TX_2 VS_RX
4 HB_INT 17 RX_2 VS_TX
5 AMG_INT 18 TX_1 FP_RX
6 VL_GPIO01 19 RX_1 FP_TX
7 VL_XSHUT 20 SDA Multiple
8 SD_CS 21 SCL Multiple
9 TFT_RST SDA1 I2C-MUX_SDA
10 TFT_CS SCL1 I2C-MUX_SCL
11 TFT_A0 MISO Multiple
12 MOSI Multiple
SCLK Multiple
DUE Pin DUE Function Device DUE Pin DUE Function Device
A0 RX_0 A8 Port 2-A2
A1 TX_0 A9 Port 2-A1
A2 Port 3-A3 A10 Port 2-A0
A3 Port 3-A2 A11 Port 1-A0
A4 Port 3-A1 DAC0 DAC
A5 Port 3-A0 DAC1 DAC
A6 Port 1-A0 CANRX CAN
A7 Port 2-A3 CANTX CAN
DUE Pin DUE Function Device DUE Pin DUE Function Device
22 VS_CS 23 I2C-MUX_RST
24 VS_DREQ 25
26 VS_XDCS 27 Port 1-GPIO0
28 VS_RST 29 Port 1-GPIO1
30 VS_GPIO0 31 Port 1-GPIO2
32 VS_GPIO1 33
34 35
36 37
38 39
40 41
42 43
44 45
46 47
48 49 Port 0-GPIO2
50 51 Port 0-GPIO1
52 53 Port 0-GPIO0
Prefix Device Prefix Device Prefix Device
VS VS1103 Breakout Board VL VL53L0X HB MAX30102
CP PCF8574A Control Panel FP Fingerprint Scanner AMG AMG8833
TFT ST7735 TFT Display Port X RJ45 Port I2C-MUX TCS9548A
SD SD Card Socket CT MLX90614

Assembly

JAC MED MON ARDUINO DUE PROFILE.jpg

JAC MED MON ARDUINO DUE ASSEMBLY.jpg

JAC MED MON ARDUINO DUE ASSEMBLY UNDERSIDE.jpg


Parts List

ATTINY85 TOKEN/NEOPIXEL CONTROLLER/TONE CONTROLLER PARTS
Device Name
JAC MED MON ATTINY85.jpg
* ATTiny85
JAC MED MON TACTILE SWITCH.jpg
* Tactile Momentary Switch
JAC MED MON ATTINY85 TOKEN BOX PARTS.jpg
* Enclosure Parts
EXTERNAL UNIT PARTS
Device Name
JAC MED MON TMP36 SENSOR.jpg
* TMP36 Temperature Sensor
JAC MED MON PULSE SENSOR.jpg
* IR Pulse Sensor with incorrect Labelling (Qty. 2)
JAC MED MON BNO055 PART.jpg
JAC MED MON NEOPIXEL PART.jpg
JAC MED MON MPU6050 PART.jpg
JAC MED MON PCF8574 PART.jpg
JAC MED MON PIEZO PART.jpg
JAC MED MON TCA9548A PART.jpg
JAC MED MON TCRT5000 PART.jpg
JAC MED MON LED PART.jpg
JAC MED MON MOMENTARY SWITCH PART.jpg
JAC MED MON ROTARY ENCODER PART.jpg
JAC MED MON VIBRATING MOTOR PART.jpg
JAC MED MON PROTOTYPE SHIELD PART.jpg
JAC MED MON CONTROL PANEL BRACKETS.jpg
JAC MED MON PORT MOUNTING BRACKETS.jpg

3D Print Elements

Pseudo Medical Monitor Device 3D Print

Shield Levels And Panels

SHIELDS
Shield Name Pinouts
JAC MED MON PROTO SHIELD.jpg
* Arduino Mega Prototype Shield Generic Clone (alternative: KEYESTUDIO) (Analog Testing connector added after photo)
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
JAC MED MON AUDIO SHIELD.jpg
* Audio Shield with VS1103
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
JAC MED MON PORT SHIELDx.jpg
* 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
JAC MED MON ENCODERS.jpg
* 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

Assemblies

ASSEMBLIES
Assembly Name Notes Schematics
JAC MED MON ENCODERS.jpg
Control Panel
  • PCA8574 I/O Expander
  • Dual rotary Encoders
  • Two LEDs
JAC MED MON CONTROL PANEL SCHEMATIC.jpg
JAC MED MON HAND HELD UNIT PCB.jpg
Hand Held Unit PCB
  • MPU6050
  • Vibrating Motor Circuit
JAC MED MON VM SCHEMATIC.jpg
JAC MED MON BioAmp EXG Pill.jpg
BioAmp EXG Pill
JAC MED MON EXG BIO AMP SCHEMATIC.jpg
JAC MED MON BioAmp EXG Pill EEG BOARD.jpg
BioAmp EXG Pill Modification for EEG
JAC MED MON BioAmp EXG QUAD SCHEMATIC.jpg
JAC MED MON EKG BREATHING DETECTOR SIGNAL AMP.jpg
Breathing Detector Signal Amplifier
  • Basic Op-Amp
JAC MED MON RESPIRATORY SENSOR SCHEMATIC.jpg
JAC MED MON GSR CIRCUIT.jpg
GSR
  • TL074 Op-Amp
  • PCB acts as central wiring hub for External Unit
JAC MED MON GSR SCHEMATIC.jpg
JAC MED MON NeoPixel ATTINY85.jpg
NeoPixel I2C Controller
  • ATTINY85
  • TinyWireS Library
  • Single NeoPixel
  • Local Reset Button
JAC MED MON ATTINY85 NEOPIXEL UNIT SCHEMATIC.jpg
JAC MED MON TONE ATTINY85.jpg
Tone I2C Controller
  • ATTINY85 (Specific Core Selection Needed)
  • TinyWireS Library
  • Single Piezo Speaker
  • Local Reset Button
JAC MED MON ATTINY85 TONE UNIT SCHEMATIC.jpg
JAC MED MON GOGGLES 7.jpg
Eye Tracking Goggles
  • Three IR Reflectance Sensors
  • BNO055 IMU
  • Semi-Reflective IR Reduction Filter
  • Under Review Due To Blindness Hazard
JAC MED MON GOGGLES SIMPLE SCHEMATIC.jpg
JAC MED MON ATTINY85 TOKEN BOX.jpg
ATTiny85 Token Box
  • ATTiny85 Token
  • Reset Switch
  • PCB

Box/Case

x200xp

Units

Breakdowns

ATTiny85 Token

JAC MED MON ATTINY85 TOKEN PARTS.jpg
JAC MED MON ATTINY85 TOKEN BARE.jpg
JAC MED MON ATTINY85 TOKEN BOX PARTS.jpg
JAC MED MON ATTINY85 TOKEN BOX.jpg

External EKG-Respiration Unit

BioApm EXG Pill EKG Circuit JAC MED MON BioAmp EXG Pill BOXED.jpg

JAC MED MON NeoPixel ATTINY85.jpg NeoPixel I2C Controller JAC MED MON BioAmp EXG Pill BOXED WITH NEOPIXEL.jpg

JAC MED MON RESP MODEL RENDER.jpg Respiration Detection Sensor Assembly Render JAC MED MON RESPIRATORY SENSOR UNBOXED.jpg Respiration Detector Signal Conditioner

JAC MED MON EKG RESP CHAIN.jpg Assembly without Harness JAC MED MON RESP MODEL 1.jpg Respiration Detection Sensor Assembly Attached to Harness

External Hand Held Unit

JAC MED MON Hand Unit EXPLODED.jpg JAC MED MON Hand Unit UNCOVERED.jpg JAC MED MON Hand Unit COVERED.jpg JAC MED MON GRIP UNIT.jpg

External Poly-Liar Unit

JAC MED MON RESP MODEL 2 RENDER.jpg Respiration Detection Sensor Rendered Model JAC MED MON RESP MODEL 2 TOP.jpg Respiration Detection Sensor Attached to Harness

JAC MED MON GSR CIRCUIT.jpg GSR Circuit JAC MED MON POLY LIAR UNIT TONE.jpg Tone I2C Controller

JAC MED MON POLY LIAR PULSE SENSOR.jpg Pulse Sensor JAC MED MON POLY LIAR TEMPERATURE SENSOR.jpg TMP36 Temperature Sensor

JAC MED MON POLY LIAR GSR CONTACTS.jpg GSR Finger Contacts

JAC MED MON POLY LIAR HAND HOOKUP.jpg

Goggles Simple Unit

JAC MED MON GOGGLES SIMPLE DRIVER.jpg Basic Driver Board JAC MED MON GOGGLES SIMPLE DRIVER BOXED.jpg Boxed

JAC MED MON GOGGLES 1.jpg JAC MED MON GOGGLES 2.jpg

JAC MED MON GOGGLES MPU.jpg MPU Replaced with IMU JAC MED MON GOGGLES SIMPLE UNIT.jpg Prototype for Testing

JAC MED MON GOGGLES 3.jpg JAC MED MON GOGGLES 4.jpg

JAC MED MON GOGGLES 5.jpg JAC MED MON GOGGLES 6.jpg

JAC MED MON GOGGLES 7.jpg

External EEG Simple Unit

JAC MED MON BioAmp EXG Pill EEG BOARD.jpg JAC MED MON EEG SIMPLE ENCASED.jpg

JAC MED MON EEG ENCASED.jpg Under Construction

Connections

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

Main Pseudo-Medical Monitor Page

Pseudo-Medical Monitor