OHI’s Ongoing Tricorder Project
Queadlunn- It’s been quite some time since I posted the Tricorder I’ve been working on for over 2 years now.
In the past year the external appearance of the unit hasn’t changed much, it’s all been internal hardware and code changes. As the photos show, the mainboard is getting to be a rat’s-nest of wiring with all of the changes and adaptation that I’ve done. The code, actually, is a lot cleaner than when I was at the same point last year. It’s able to do a fair bit more but isn’t using much more of the Arduino’s (Adafruit Feather M0 Adalogger) memory (still hovering around 30% at this point).
The sensors in the unit haven’t changed a huge deal, I’ve gotten them to work a bit better though and have even been able to adapt the libraries for the Gas sensor to work with the M0 controller (more brute-force really but it works). The total sensor list is posted below.
At the moment I’ve gotten 2 replacement sensor part. One to replace the Grideye sensor so it’s smaller (I can’t do surface-mount soldering yet) and one to replace both the atmospheric sensor board and the 9-depth-of-field sensor board that captures movement. The second will combine both the ATM and 9-DOF into one very small package, saving on the limited internal space within the Tricorder.
There are a few things I want to add into the unit so far: GPS (for both location data and accurate clock updates), Haptics (feedback from button presses, sensor alarms), and finding a replacement and higher quality display are my biggest. The largest hurtle right now is getting the code solid, using the display to give clear and accurate readouts of the sensor data, and eventually rebuilding the mainboard and chassis. The chassis’ ABS/aluminum/polycarbonate construction is rock-solid (it’s been hanging out in my camera bag for the last year) but I want to clean it up since the off-square lines in the current one bother me a bit.
It’s been a hell of a journey, all started when I saw prop tricorders at Star Trek cons in the mid ‘90s as a little kid. I’d never believe that I’d have one like this if I told past me of it…
I’ll post more as things happen
Current scan data points:
Atmospheric: Ambient temperature (averaged across 3 sensors), relative humidity, barometric pressure, Target Temp, GRIDeye temp (8x8 grid of IR thermal detectors)
Electromagnetic: UV Index, IR intensity, RGB Color, Visible light intensity in Lux, UV intensity
Radiation: Beta and Gamma detection
Gasses: Carbon monoxide, Nitrogen dioxide, Ethanol, Hydrogen, Ammonia, Methane, Propane, Isobutane
Mechanical: 3-axis Accelerometer, 3-axis Digital Gyroscope, 3-axis Hall Effect Magnetometer
Adafruit Feather M0 Adalogger (https://www.adafruit.com/product/2796 )
MPU9250 Add-Ons for Ladybug + BME280 (https://www.tindie.com/products/TleraCorp/mpu9250-add-ons-for-ladybug/ ) - Ambient temperature, relative humidity, barometric pressure, 3-axis Gyro, 3-axis Accelerometer, 3-axis Magnetometer
Adafruit SI1145 (https://www.adafruit.com/product/1777 ) - UV Index, IR intensity
Adafruit TCS34725 (https://www.adafruit.com/product/1334 ) - RGB Color sense
Adafruit TSL2561 (https://www.adafruit.com/product/439 ) - Visible light intensity in Lux
Adafruit VEML6070 (https://www.adafruit.com/product/2899 ) - UV intensity
Generic MLX90614 (https://www.adafruit.com/product/1747 ) - Target Temp
Panasonic GridEye (https://www.tindie.com/products/onehorse/grid-eye-8-x-8-ir-array/ ) - ATM: GridEye
RadiationWatch Pocket Geiger (http://www.radiation-watch.org/p/english.html ) - Radiation
Xadow Multichannel Gas Sensor (http://wiki.seeed.cc/Xadow_Multichannel_Gas_Sensor/ ) - GAS
Adafruit CAP1188 (https://www.adafruit.com/product/1602) - Capacitive touch
Adafruit 2.4" TFT LCD (https://www.adafruit.com/product/2478) - LCD
Adafruit DS3231 (https://www.adafruit.com/product/3013) - Real time clock
Adafruit TCA9548A (https://www.adafruit.com/product/2717) - i2C multiplexer
Adafruit Neopixel (https://www.adafruit.com/product/1558) - Cool lights
Ublox GPS Compatible NEO-6M [clone] (https://www.amazon.com/gp/product/B075DD5746) - If I can figure out space for the board and the antenna this could be good to have, both for the location data and for the clock
Here’s a link to my (barely working [poorly formatted {inefficient}]) code.
Be aware, if you use the code, double-check the i2C addresses since I’ve changed some stuff around.
My big inspiration for the project has been the Open Source Science Tricorder by Peter Jansen. It’s an incredible project and I have major respect to the creator.