The TR-109 Picorder 2 project aims to develop and produce a portable, self contained, Raspberry Pi based sensor data acquisition platform in the shape of a Tricorder.
It is the successor to the original Picorder. Originally the projects goal was to make a single Tricorder replica, but the Picorder 2 project has slowly lead to a set of standards for the Picorder family of devices I want to make.
Prototype 01 is now mostly complete. I'm working to refine the software for the final prototype.
-Refine software -Make plans for the next prototype
- 1 Software
- 2 Hardware
- 3 Gallery
- 4 Media Coverage
Picorder 2 uses PicorderOS a python library that unifies a number of different modules under a custom user interface.
All of the TR-109's build files are freely available and hosted at the Git repo.
Basic Parts List
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:
- Raspberry Pi Zero W or drop-in-compatible SBC
- St7735 Screen
- Stemma Speaker Module
- Tiny Ups 3.0 or comparable DC-DC boost module.
- 1000 mAh Lithium Ion Polymer Battery
An initial "proof of concept" build. Using the first revision of the custom mainboard pcb as well as several off-the-shelf breakout boards from adafruit. Sensor board was a pi-hat protoboard with adafruit sensor breakouts. Unit 00 also served as a test bed for shift register controlled lighting, sticker fit and finish, and printed light diffusers. This prototype utilized a development sensor array and cap and was not indicative of the final version. Construction of this prototype is considered "complete".
This "production" prototype will be used to iron out the remaining problems with integrated systems and hardware. It features a revision 3 mainboard and sensorboard PCB. Unit 01 employs a new case design that attempts to more accurately capture the shape of the Tr-590 Mark VI Tricorder. The case changes are completely superficial and no changes have been made to the underlaying chassis-rail system. Early chassis designs will still work with this new enclosure.
This final prototype will be used to finalize the means of assembly. It will likely be the last Picorder of this series.
Custom PCBs are being produced for this project, they are designed in KiCad and will be available to the public when finished.
The Main Board hosts all the control electronics for capacitive touch, LED indication (operator facing), door close hall effect sensors, and graphical and audio output.
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.
- Raspberry Pi Zero W
- Like my original picorder, the TR109 will be by a Raspberry Pi Zero W. Power consumption was a major problem with the first Picorder, I have found a really good article on some ways to reduce power consumption.
The intention of the Picorder project is to create a device that can accept any arbitrary sensor arrangement and map it (assuming the appropriate software has been written to support it). But the TR109 PCBs and case is planned to be capable of supporting 3 main sensor packages on it forward facing array:
- Bm860 VOC, Temp, Humidity, Pressure sensor
- The BME680 is a basic environmental sensor. VOC is a nice added feature that adds some real world use, but interpreting the reading requires some analysis. This sensor will mostly be to provide ambient environmental information. For prototyping I found a good guide for how to connect it to a Pi and used Adafruits circuitpython library to integrate it into PicorderOS. Because the BME680 includes 4 seperate data sources in one device I am making it the "base model" sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.
- AMG8833 IR Thermal Camera
- The AMG8833 is a relatively low resolution and low range thermal camera. It will basically only be useful for detecting dramatic temperature difference. It is also relatively cheap and so I am going to include it. This sensor will provide quasi-accurate contextual temperature information at range.
- MLX90614 Non Contact Thermometer
- A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own circuitpython implementation and this page looks fruitful too.
Other possible sensor options include
- I was turned onto the idea of an 8 gas sensor by the ODROID-GO Ticorder project where they used this IC to measure carbon minoxide, nitrogen dioxide, hydrogen, ammonia, methane, propane, and iso-butane. I found a great blogpost on some ways to use it. Because it is an analog sensor I would need to use an ADC and some way to connect it to the Pi.
- An EMF sensor of some kind.
- Probably a resistor on an ADC to give me basic environmental electrical readings. I found this site that shows you how you can use at AT tiny as an i2c device, which I could use with this guide to make a small EMF detector to read low frequency interference. Another option suggested to me by reddit user 2CNK is to use an Elektrosluch like device to convert ambient EMI into some kind of data. I found a circuit example that might prove useful.
Audio is provided by a Stemma Speaker Module for now, but I hope to have audio integrated into the mainboard.
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the Git repo.
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure
The current design of the Picorder 2 shell incorporates a main body and chassis with a lower door. All of the major components are housed in the main body with the lower door being used for extra buttons and battery storage. The mainboard PCB is attached to the chassis, along with the Raspberry Pi, the sensor board and all internal lighting. The chassis slides in and out of the main body on tracks, and is secured to the main body with 4 M2 screws.
Custom printed stickers are used for the labeled button areas.
- CAP1208 Capacitive Touch Sensor IC
- Originally I was going to use the MPR121, I found a good guide on how to use it, but since the chip is discontinued I decided to look for other options. I became interested in a chip I saw mentioned in the documentation for a pimoroni product; the CAP1208.
- The chip includes a number of features like hold detection, and has an interrupt pin. The entire CAP1xxx series is supported by a library maintained by Pimoroni and I have been pleased with its performance.
- Generic ST7735 LCD Display
- I've been using screens with of this type with the Luma.lcd python module. I bet you could also use FBTFT to use it as a display target (requires additional software modifications, but makes it usable as a small computer). The display I found (pictured) had no pins listed as MOSI or MISO (for SPI) but I found a pin chart in the Luma docs that helped.
- I found this was a decent source for these screens.
I had considered the idea of also supporting a low cost screen, but the availability is poor.:
- Nokia 5110 LCD screen
- To provide low power information output to the user, and maybe to play some snake. I looked in a number of places to find a good guide on how to connect the Adafruit part I have with various descriptions around the web. I found this guide to have some important information, but the wiring information seemed incorrect. This guide lays out how to connect the screen properly..
As with the original picorder I want to make sure that this one has a feel of the actual prop. The LEDs on the TR-109 are designed to be as faithful as possible to the original Mark Vii prop as possible, while making some compromises for layout and electronic constraints.
The LEDs on the sensor board and the light riser board are entirely SMD, but on the main board the ABGD lights are 3mm Green LEDS.
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.
I've been releasing update videos to catalogue my progess.
I'm delighted that my project has been noticed by some online publications
- Raspberry Pi Tricorder: The Next Generation - Ian Evenden, Tom's Hardware
- "TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC" - Lewin Day, Hackaday