Science Tricorder by Olympus Heavy Industries

A multi-mode scanner and data logger based on Adafruit Feather & Arduino

Similar projects worth following
This is a project I've been tinkering with for a couple years now and it actually started out as a non-functional prop. Modeled after the Tricorder devices seen in Star Trek and heavily inspired by similar projects found online. The ultimate goal is to create a functioning handheld sensor platform that can analyze, store and transmit all sensor data collected by the unit.

It’s been a hell of a journey learning how to build this thing, 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:    Gamma/Xray 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

Currently, the Tricorder Version 6 is made up of the following:

This is now the 6th iteration of the Tricorder (the first was a prop build, not functioning), running v.o-10 code.

OHI Science Tricorder V6 Chassis - Rev3 NOT FINAL.7z

Rough-draft for the V6 Tricorder 3d-printable chassis, a work-in-progress

7-Zip - 2.55 MB - 08/08/2019 at 02:31


Tricorder Legacy Code (everything up to 4o-v9.rar

This is all of the code that I've written for the various iterations of the Tricorder over the past 2 years. Covers up to 4Ov9

RAR Archive - 79.19 kB - 06/09/2018 at 20:41



Updated 2018/06/04. Added functionality to Radiation scan mode and working further on UI changes.

7-Zip - 14.25 kB - 06/04/2018 at 22:50


Arduino Libraries - OHI Tricorder.7z

These are all of the libraries needed to compile the tricorder's firmware.

7-Zip - 42.46 MB - 04/13/2018 at 02:27


OHITricorder Code-4O.9.7z

Code from up-to 04/13/2018.

7-Zip - 13.79 kB - 04/13/2018 at 00:15


  • 1 × Adafruit Feather M0 Adalogger ( ) Primary microcontroller for the unit
  • 1 × Adafruit CAP1188 ( Capacitive Touch controller
  • 2 × Adafruit Neopixel ( Controllable tri-color LEDs, used for display and messaging
  • 1 × MPU9250 Add-Ons for Ladybug + BME280 ( ) 9-DOF and Atmospheric sensor board
  • 1 × Generic SI1145 ( UV Index IR intensity sensor board

View all 15 components

  • And for the rough-draft

    Queadlunn08/08/2019 at 02:35 0 comments

    Added (really) rough-draft files for the V6 3d-printable chassis:
    "OHI Science Tricorder V6 Chassis - Rev3 NOT FINAL.7z"

  • Now in 3d!

    Queadlunn08/07/2019 at 06:15 0 comments

    After quite a while I've started to work on the next version of the Tricorder! I've had the hardware partially built for a while now but I'm starting to get the casing worked out in 3d so I (and anyone that wants to) can print it. It's going to take a lot of work since it's my first 3d design like this. Once I test it out and can make some changes I'll upload an STL and the original 123dx files.

  • More Progress, building Version 6

    Queadlunn01/15/2019 at 05:22 0 comments

    After a long lag I'm working on the hardware for the next version of the Tricorder!

    It's not a huge change from the Version 5 to Version 6, more of cleaning up the current design that the Version 5 ended up with. The soldering work is about half done right now, I still need to finish up the sensor array, additional sensors and the door assembly.

    The current Version 5 will have some of it's sensors moved to the V.6 (the GridEYE, 9-DOF/ATM, UV sensors) and everything else will be the same sensors in smaller breakout boards.

    Changes with the Version 6:

    • Slightly re-designed, a bit wider and shorter to allow a touch more room
    • Different sensors for:
    •      Gas sensing, got the newer version of the sensor board
    •      LUX, IR sensors replaced with same IC but smaller breakout board
    • This Feather M0 has a Packet Radio for if I make any hand scanners in the future, still unsure of that

    Ultimately I want to keep the older version working, likely remaking the casing so I can fit bulkier sensors into it (like the shape of the TNG Medical Tricorder). Since both will be using the same Feather M0 boards I also want to write one firmware that will work on both units if possible.

    Right now I'm focusing on the hardware and will resume on the code afterwords.

  • Code updated to v10, a bit of work done...

    Queadlunn06/04/2018 at 22:58 0 comments

    Small update- Got a bit of work done on the code today, expanded the Radiation scan mode's functionality. Now it shows avg pulses/second, avg pulse strength (in uSv/h) along with the last pulse detected.

    Part of this was making a timer based off of the RTC to count how long the scan mode has been on, this could be useful in other modes later on as well.

    I also got a bit further on in building a framework to allow a more interactive UI. The ultimate goal is to have the ALT button switch the button pad's functionality to that of a D-PAD along with Confirm, Cancel and Back. This'll give me a lot more to work with, like highlighting scan elements or using a menu structure. A lot of work to do on this however...

    The updated code has been attached to the project, v10.

  • Bringing it up-to-speed

    Queadlunn04/13/2018 at 02:17 0 comments

    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.

    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.

View all 5 project logs

Enjoy this project?



Tim Rightnour wrote 4 days ago point

I like the idea of averaging 3 temperature sensors.  How does that play out in practice?  Do they diverge alot?

  Are you sure? yes | no

Daemon informatica wrote 08/07/2019 at 13:06 point

Did you know there is (or used to be) a project where people are challenged to build medical tricorders to detect / diagnose symptoms and deceases? ^_^ Quite a monetary incentive too, if I recall correctly..

Nice work. I've been messing around with ideas to build one myself, but mostly because I once got a medical tricorder prop somewhere in the past, and been meaning to extend it with actual hardware.

  Are you sure? yes | no

Ken Yap wrote 08/07/2019 at 15:10 point

>detect / diagnose symptoms and deceases

As in "He's dead Jim"? 😉

  Are you sure? yes | no

Queadlunn wrote 08/07/2019 at 17:00 point

I would like to build a medical tricorder at some point, but I don't trust my skills enough to use something for critical needs like anything medical, sadly...

  Are you sure? yes | no

Ken Yap wrote 08/07/2019 at 04:23 point

Hahaha cute 👍. You also need to make one of those cylindrical flashers used by Bones for body scans. That one doesn't need to do anything but flash and make a woo woo sound.

  Are you sure? yes | no

Queadlunn wrote 08/12/2019 at 16:53 point

I did make a hand scanner at one point, just some neopixels that were triggered by a cheap magnetometer:

  Are you sure? yes | no

TheotherMike wrote 02/11/2019 at 16:33 point

Not bad! Unfortunately I was never able to finish my own one. I´m still not sure about the basic strategy how to build it. You´re using a µC with on board radio, that´s useful in the long term I think. I also thought of using only limited amount of sensors within the main unit which might give long runtime, small size and weight. Using LoRa etc. one could shift all heavy duty sensors out to accessorie units... 

  Are you sure? yes | no

TheotherMike wrote 02/11/2019 at 12:09 point

Hah, cool Project ! I found it because of your comment on another tricorder build... ;-)

You really have a hell of a lot of sensors in tis package.

How Long can it rum from batteries?

  Are you sure? yes | no

Queadlunn wrote 02/11/2019 at 16:13 point

The current version will run for about 3 hours on the 500mAh battery. The newer version will hopefully have a 700 mAh battery though which should make it run a bit longer.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates