I always wanted to have a tricorder from Startrek.
Not just a prop, but a real working device.
Now the tech is good enough that I can build my own.
Part One: Cheat
For the shell of my Tricorder I decided I didn't need to reinvent the wheel. Diamond Select makes as great Tricorder prop. It's full sized, looks pretty good, and it's affordable. Once I ripped all the guts out of it I had enough space to start cramming my own gear in there.
Part Two: A Brain
I needed a computer to be the brain of my Tricorder. A tiny, low power, high speed, general computing device. Now that may sound like a tall order but we are currently living in a golden age of little computers.
Cell phones seemed like a good start. They have their own power sources and even have a lot pf sensors built into them, but they are hard to reprogram and hard to interface with external hardware. Another contender was Arduino microcontrollers. They can be programmed easily and can interface with a wide variety of sensors, but they have extremely limited display options.
In the end, this wasn't a tough decision for me because I already have a lot of experience working with Raspberry Pi mini computers. They are easy to program, easy to interface with external sensors, and have great display options. The only new part for me in this regard was that I wanted to use a Raspberry Pi Zero, which is the cut-down little brother of the regular Pi. I needed it to be as small as possible and have low power consumption.
Part Three: Display
In an earlier incarnation of this project I was planning to use an LCD character display. They are fairly simple in appearance but easy to program for. They also have pretty low power consumption. In the end though I decided I needed something that better matched the classic appearance of a Tricorder display, which meant I needed to source the perfect little LCD screen.
I had a few different challenges to overcome with an LCD screen. Not only did it have to be small enough to fit in the Tricorder housing, but it also needed to be roughly the right shape. The screen in original Tricorder prop from the 60's had a 4:3 aspect ratio, just like the TVs that America watched them on. Most of the small screens these days use wider aspect ratios to reflect the dimensions of modern monitors and televisions. I also needed a screen that could interface with a Raspberry Pi without a ton of conversion cables or extra boards. And finally, I needed a screen that could run on just 5 volts, since I wanted to power the whole thing with a USB battery. Almost all small screens run on 12 volts, since they are generally designed to be used with backup cameras in cars.
This pile of requirements left me looking for the LCD equivalent of a unicorn, and after a lot of research I finally managed to find one. Adafruit makes a 2inch 4:3 display that can (just barely!) run on 5 volts, and can accept a simple composite signal. I was very lucky that the Rasperry Pi Zero retains the composite video feature it inherited from it's big brother. When they were cutting out components to make a smaller Pi that could easily have chosen to nix the rarely used composite output. Granted, I had to solder a headed on to the board to use it, but I appreciate that they gave me the option.
Part Four: Sensors
What separates a Tricorder from any other mobile computer is the ability to detect and log it's environment with a variety of sensors. There are a number of cheap tiny sensors that can be connected to a Raspberry Pi. Each has it's own limitations and interfacing with each one is a different programming problem since they don't share a common interface or language. Lucky for me though, someone else has already done a lot of the work for me.
The Astro-Pi project was a collaboration between the makers of the Raspberry Pi and the European Space Administration. A small, light, circuit board was designed that could attach to a Raspberry Pi and provide a number of sensors and indicator lights. A number of Astro-Pi's were sent to the International Space Station and students from around the world were able to run their own experiments on them. This amazing hardware was later released to the general public as the Sense HAT. While I plan to add some additional sensors of my own, the Sense HAT gave me a great foundation to start from. The Sense HAT includes sensors for temperature, air pressure, humidity, magnetic fields and acceleration. It also comes with a really easy to use API for Python which makes it simple to program for.
Part Five: More Sensors
While Sense HAT give me a lot of bang for my buck, I'd also like to add a few of additional sensors. There's a fairly small geiger counter kit for detecting radiation, but it's a little expensive and I'm not sure if I can fit it in the shell. I've been experimenting with building my own EM field field detector as well but that's still a work in progress.
Some Work in progress pictures