<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://squaredwave.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Directive0</id>
		<title>Squared Wave - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://squaredwave.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Directive0"/>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Special:Contributions/Directive0"/>
		<updated>2026-06-28T07:39:56Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.3</generator>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=677</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=677"/>
				<updated>2025-03-11T16:43:33Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All of the production prototypes have been given away. I am now working on building two units that I am calling &amp;quot;Mark 3&amp;quot;. They adopt some small quality of life changes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Unit 02 Assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:TR109-02-SHELL-ASSEMBLY.jpg| Unit 02 is a further refinement in what I learned in Unit 01. It will incorporate the same basic electronics packages, but use new tweaks to the case. I will use the oppourtunity to streamline the assembly process and make any final adjustments.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs were designed for the project. KiCAD files are available at the [https://github.com/directive0/TR-109/tree/main/pcb_design github page].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Main Board Pinout&lt;br /&gt;
|-&lt;br /&gt;
! BCM Pin !! IC Pin !! TR109 Device&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 27 || CAP1208 Event Ready Pin&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 28 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3 || I2C SDA&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 5 || I2C SCL&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 7 || Hall Effect Sensor 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 29 || Power Status GPIO&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 31 || Mainboard Shift Register Latch&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 26 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 24 || Screen (CS)&lt;br /&gt;
|-&lt;br /&gt;
| 9 || 21 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 19 || Screen (SDA)&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 23 || Screen (SCK)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 32 || Hall Effect Sensor 1&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 33 || Audio Out&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 8 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 10 || Screen (LED)&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 36 || Shift Register Serial&lt;br /&gt;
|-&lt;br /&gt;
| 17 || 11 || GPIO Button 1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 12 || PocketGeiger (Noise)&lt;br /&gt;
|-&lt;br /&gt;
| 19 || 35 || Sensor Board Shift Register Serial&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 38 || Main Board Shift Register Clock&lt;br /&gt;
|-&lt;br /&gt;
| 21 || 40 || Sensor Board Shift Register Latch&lt;br /&gt;
|-&lt;br /&gt;
| 22 || 14 || GPIO Button 3&lt;br /&gt;
|-&lt;br /&gt;
| 23 || 16 || Screen (AO)&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 18 || Screen (RESET)&lt;br /&gt;
|-&lt;br /&gt;
| 25 || 22 || PocketGeiger (Signal)&lt;br /&gt;
|-&lt;br /&gt;
| 26 || 37 || Sensor Board Shift Register Clock&lt;br /&gt;
|-&lt;br /&gt;
| 27 || 13 || GPIO Button 2&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Capacative touch is provided by a CAP1208 capacitive touch sensor, LED operation is driven by an 8-bit Shift Register, Bipolar Hall Effect sensors are used for the door state detection. Audio is not yet finalized, and so an external audio connection can be bodged.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
&lt;br /&gt;
The TR-109 is designed to use a:&lt;br /&gt;
&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
;[https://www.banana-pi.org/m2z.html BPI-M2 Zero]&lt;br /&gt;
: The quad core Banana Pi M2 Zero is a great candidate for this project, offering multiple cores and more ram. But the practicality of using a BPI has proven a problem. The BPI uses a custom Raspbian distro that needs seperate GPIO modules and has different setup requirements.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ BME680 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/FyRxHhpjpfk&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Tr1090 cappads.jpg | Unit 02's possible Cap Pad assembly before soldering.&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=676</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=676"/>
				<updated>2024-03-17T03:30:52Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: /* PCBs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now complete. Unit 02 construction is now underway.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Unit 02 Assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:TR109-02-SHELL-ASSEMBLY.jpg| Unit 02 is a further refinement in what I learned in Unit 01. It will incorporate the same basic electronics packages, but use new tweaks to the case. I will use the oppourtunity to streamline the assembly process and make any final adjustments.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs were designed for the project. KiCAD files are available at the [https://github.com/directive0/TR-109/tree/main/pcb_design github page].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin:auto&amp;quot;&lt;br /&gt;
|+ Main Board Pinout&lt;br /&gt;
|-&lt;br /&gt;
! BCM Pin !! IC Pin !! TR109 Device&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 27 || CAP1208 Event Ready Pin&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 28 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3 || I2C SDA&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 5 || I2C SCL&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 7 || Hall Effect Sensor 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 29 || Power Status GPIO&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 31 || Mainboard Shift Register Latch&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 26 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 24 || Screen (CS)&lt;br /&gt;
|-&lt;br /&gt;
| 9 || 21 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 19 || Screen (SDA)&lt;br /&gt;
|-&lt;br /&gt;
| 11 || 23 || Screen (SCK)&lt;br /&gt;
|-&lt;br /&gt;
| 12 || 32 || Hall Effect Sensor 1&lt;br /&gt;
|-&lt;br /&gt;
| 13 || 33 || Audio Out&lt;br /&gt;
|-&lt;br /&gt;
| 14 || 8 || Unused&lt;br /&gt;
|-&lt;br /&gt;
| 15 || 10 || Screen (LED)&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 36 || Shift Register Serial&lt;br /&gt;
|-&lt;br /&gt;
| 17 || 11 || GPIO Button 1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || 12 || PocketGeiger (Noise)&lt;br /&gt;
|-&lt;br /&gt;
| 19 || 35 || Sensor Board Shift Register Serial&lt;br /&gt;
|-&lt;br /&gt;
| 20 || 38 || Main Board Shift Register Clock&lt;br /&gt;
|-&lt;br /&gt;
| 21 || 40 || Sensor Board Shift Register Latch&lt;br /&gt;
|-&lt;br /&gt;
| 22 || 14 || GPIO Button 3&lt;br /&gt;
|-&lt;br /&gt;
| 23 || 16 || Screen (AO)&lt;br /&gt;
|-&lt;br /&gt;
| 24 || 18 || Screen (RESET)&lt;br /&gt;
|-&lt;br /&gt;
| 25 || 22 || PocketGeiger (Signal)&lt;br /&gt;
|-&lt;br /&gt;
| 26 || 37 || Sensor Board Shift Register Clock&lt;br /&gt;
|-&lt;br /&gt;
| 27 || 13 || GPIO Button 2&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Capacative touch is provided by a CAP1208 capacitive touch sensor, LED operation is driven by an 8-bit Shift Register, Bipolar Hall Effect sensors are used for the door state detection. Audio is not yet finalized, and so an external audio connection can be bodged.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
&lt;br /&gt;
The TR-109 is designed to use a:&lt;br /&gt;
&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
;[https://www.banana-pi.org/m2z.html BPI-M2 Zero]&lt;br /&gt;
: The quad core Banana Pi M2 Zero is a great candidate for this project, offering multiple cores and more ram. But the practicality of using a BPI has proven a problem. The BPI uses a custom Raspbian distro that needs seperate GPIO modules and has different setup requirements.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ BME680 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/FyRxHhpjpfk&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Tr1090 cappads.jpg | Unit 02's possible Cap Pad assembly before soldering.&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder&amp;diff=675</id>
		<title>Picorder</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder&amp;diff=675"/>
				<updated>2024-03-14T21:04:57Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: /* Youtube Video */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Picorder.jpg|thumb|The TR-108 Environmental Picorder]]&lt;br /&gt;
&lt;br /&gt;
The TR-108 (or Picorder) is a Raspberry Pi Zero based system that includes a sensor package, battery, display and supplemental components to provide a satisfying and accurate [https://en.wikipedia.org/wiki/Tricorder Tricorder] experience. In the interest of inspiring others to build on what I have done I am providing all of the documentation I can.&lt;br /&gt;
&lt;br /&gt;
The original TR-108 has now been succeeded by the TR-109 (or [[Picorder 2]])&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
The Picorder was constructed over about 6-8 months. It utilizes a Raspberry Pi Zero W as its CPU. I decided to use a Diamond Select TOS Tricorder toy as my base, since it was the biggest Tricorder easily available. The screen is an off the shelf 6 Volt Composite screen, by adafruit. Originally I had planned to use seperate descrete sensor components, but eventually decided on the Sensehat sensor board, as it provided good value and completeness. For power the Picorder uses an 18650 LiPo battery that is part of an off the shelf portable battery pack that charges and boosts the battery to 5Volts and can supply about 2 Amps of power.&lt;br /&gt;
&lt;br /&gt;
Internally the Picorder uses a perforated protoboard as a circuit backplane so all the components can lay flat within the enclosure. The backplane is affixed to the back panel of the Tricorder enclosure with Apoxie Sculpt mounds that have nuts embedded into them. &lt;br /&gt;
&lt;br /&gt;
The screen enclosure had to be destructively dissasembled, and the standoffs that were broken were fully removed to provide maximum space within the case. The original button and LED pcb was removed and discarded, a new PCB replaced it that merely passed signals to and from the Pi. Everything is held in place with Apoxie Scuplt and so is very crude.&lt;br /&gt;
&lt;br /&gt;
The current status of the Picorder is somewhat complete. Basic functionality has been achieved; the program logs values from the sense hat and displays them. &lt;br /&gt;
&lt;br /&gt;
==Errors==&lt;br /&gt;
The screen selected for this project is 6 Volts, not 5. I had to use a boost module to provide the screen with a steady 6+ volts so it would work without flickering.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Wiring==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Picorder_wiring.png|none|200px|thumb|Picorder Wiring Diagram]]&lt;br /&gt;
|[[File:Backplane assembled.jpg|none|200px|thumb|Picorder Backplane with sensehat attached]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
This project was made possible by information and inspiration provided by these sources:&lt;br /&gt;
&lt;br /&gt;
- https://hackaday.io/project/5437-star-trek-tos-picorder&lt;br /&gt;
- https://github.com/tobykurien/rpi_lcars&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
===Hardware===&lt;br /&gt;
You can find all the necessary construction documents in the &amp;quot;construction&amp;quot; folder at the [https://github.com/directive0/picorder github link].&lt;br /&gt;
&lt;br /&gt;
Adafruit parts Wishlist is here:&lt;br /&gt;
http://www.adafruit.com/wishlists/435166&lt;br /&gt;
&lt;br /&gt;
The base I used for the tricorder:&lt;br /&gt;
https://www.amazon.ca/gp/product/B001820194/ref=ox_sc_sfl_title_6?ie=UTF8&amp;amp;psc=1&amp;amp;smid=A3DWYIK6Y9EEQB&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
Originally the Picorder ran on [https://github.com/directive0/picorder/blob/master/README.md standalone software], but now is supported by [[PicorderOS]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media==&lt;br /&gt;
[https://www.reddit.com/r/startrek/comments/bwqis/does_anyone_else_really_want_a_working_tricorder/ This] is the reddit post I made in 2009 that first started me on the journey.&lt;br /&gt;
&lt;br /&gt;
====Youtube Video====&lt;br /&gt;
I decided to make a youtube video under my [[Obso1337]] channel to walk through how I designed and built this device.&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://www.youtube.com/watch?v=tcB4Tia2YYU&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Later I made a video detailing the tear down of the original build in preparation for a rebuild (still to come).&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://www.youtube.com/watch?v=Va_liZ-Un3k&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Media Coverage====&lt;br /&gt;
The Picorder has been discussed in a couple places so far. I'm honoured to have a project of mine covered by these publications.&lt;br /&gt;
&lt;br /&gt;
* http://hackaday.com/2017/08/18/picorder-raspberry-pi-stands-in-for-stone-knives-and-bearskins/&lt;br /&gt;
: A very nice piece written for Hackaday by Al Williams.&lt;br /&gt;
&lt;br /&gt;
* https://www.neoteo.com/picorder-un-tricorder-basado-en-el-raspberry-pi/&lt;br /&gt;
: A story for Neoteo. Written in Spanish by Lisandro Pardo&lt;br /&gt;
&lt;br /&gt;
===Similar and Clone Devices===&lt;br /&gt;
&lt;br /&gt;
* https://www.youtube.com/watch?v=UepVcfApy7A&lt;br /&gt;
: Somewhat rudimentary, but nevertheless effective clone of the TR-108. Uses a standard project box instead of the DS Tricorder Toy.&lt;br /&gt;
&lt;br /&gt;
* https://www.youtube.com/watch?v=mOXdTw0fTD4&lt;br /&gt;
: A clone of the tr-108 with extended capabilities and features. Very nice build into a DS Tricorder toy but with improved accuracy to screen prop.&lt;br /&gt;
&lt;br /&gt;
* https://www.youtube.com/watch?v=Xh7VfrmUPGU&lt;br /&gt;
: Completely unique device. Not a clone of the tr-108 but an entirely new device built into a TNG Tricorder using the BM680 and AGM88 sensor packages.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder&amp;diff=674</id>
		<title>Picorder</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder&amp;diff=674"/>
				<updated>2024-03-14T20:44:55Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Picorder.jpg|thumb|The TR-108 Environmental Picorder]]&lt;br /&gt;
&lt;br /&gt;
The TR-108 (or Picorder) is a Raspberry Pi Zero based system that includes a sensor package, battery, display and supplemental components to provide a satisfying and accurate [https://en.wikipedia.org/wiki/Tricorder Tricorder] experience. In the interest of inspiring others to build on what I have done I am providing all of the documentation I can.&lt;br /&gt;
&lt;br /&gt;
The original TR-108 has now been succeeded by the TR-109 (or [[Picorder 2]])&lt;br /&gt;
&lt;br /&gt;
==Construction==&lt;br /&gt;
&lt;br /&gt;
The Picorder was constructed over about 6-8 months. It utilizes a Raspberry Pi Zero W as its CPU. I decided to use a Diamond Select TOS Tricorder toy as my base, since it was the biggest Tricorder easily available. The screen is an off the shelf 6 Volt Composite screen, by adafruit. Originally I had planned to use seperate descrete sensor components, but eventually decided on the Sensehat sensor board, as it provided good value and completeness. For power the Picorder uses an 18650 LiPo battery that is part of an off the shelf portable battery pack that charges and boosts the battery to 5Volts and can supply about 2 Amps of power.&lt;br /&gt;
&lt;br /&gt;
Internally the Picorder uses a perforated protoboard as a circuit backplane so all the components can lay flat within the enclosure. The backplane is affixed to the back panel of the Tricorder enclosure with Apoxie Sculpt mounds that have nuts embedded into them. &lt;br /&gt;
&lt;br /&gt;
The screen enclosure had to be destructively dissasembled, and the standoffs that were broken were fully removed to provide maximum space within the case. The original button and LED pcb was removed and discarded, a new PCB replaced it that merely passed signals to and from the Pi. Everything is held in place with Apoxie Scuplt and so is very crude.&lt;br /&gt;
&lt;br /&gt;
The current status of the Picorder is somewhat complete. Basic functionality has been achieved; the program logs values from the sense hat and displays them. &lt;br /&gt;
&lt;br /&gt;
==Errors==&lt;br /&gt;
The screen selected for this project is 6 Volts, not 5. I had to use a boost module to provide the screen with a steady 6+ volts so it would work without flickering.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Wiring==&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Picorder_wiring.png|none|200px|thumb|Picorder Wiring Diagram]]&lt;br /&gt;
|[[File:Backplane assembled.jpg|none|200px|thumb|Picorder Backplane with sensehat attached]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
This project was made possible by information and inspiration provided by these sources:&lt;br /&gt;
&lt;br /&gt;
- https://hackaday.io/project/5437-star-trek-tos-picorder&lt;br /&gt;
- https://github.com/tobykurien/rpi_lcars&lt;br /&gt;
&lt;br /&gt;
==Resources==&lt;br /&gt;
===Hardware===&lt;br /&gt;
You can find all the necessary construction documents in the &amp;quot;construction&amp;quot; folder at the [https://github.com/directive0/picorder github link].&lt;br /&gt;
&lt;br /&gt;
Adafruit parts Wishlist is here:&lt;br /&gt;
http://www.adafruit.com/wishlists/435166&lt;br /&gt;
&lt;br /&gt;
The base I used for the tricorder:&lt;br /&gt;
https://www.amazon.ca/gp/product/B001820194/ref=ox_sc_sfl_title_6?ie=UTF8&amp;amp;psc=1&amp;amp;smid=A3DWYIK6Y9EEQB&lt;br /&gt;
&lt;br /&gt;
===Software===&lt;br /&gt;
Originally the Picorder ran on [https://github.com/directive0/picorder/blob/master/README.md standalone software], but now is supported by [[PicorderOS]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media==&lt;br /&gt;
[https://www.reddit.com/r/startrek/comments/bwqis/does_anyone_else_really_want_a_working_tricorder/ This] is the reddit post I made in 2009 that first started me on the journey.&lt;br /&gt;
&lt;br /&gt;
====Youtube Video====&lt;br /&gt;
I decided to make a youtube video under my [[Obso1337]] channel to walk through how I designed and built this device.&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://www.youtube.com/watch?v=tcB4Tia2YYU&amp;amp;t=782s&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====Media Coverage====&lt;br /&gt;
The Picorder has been discussed in a couple places so far. I'm honoured to have a project of mine covered by these publications.&lt;br /&gt;
&lt;br /&gt;
* http://hackaday.com/2017/08/18/picorder-raspberry-pi-stands-in-for-stone-knives-and-bearskins/&lt;br /&gt;
: A very nice piece written for Hackaday by Al Williams.&lt;br /&gt;
&lt;br /&gt;
* https://www.neoteo.com/picorder-un-tricorder-basado-en-el-raspberry-pi/&lt;br /&gt;
: A story for Neoteo. Written in Spanish by Lisandro Pardo&lt;br /&gt;
&lt;br /&gt;
===Similar and Clone Devices===&lt;br /&gt;
&lt;br /&gt;
* https://www.youtube.com/watch?v=UepVcfApy7A&lt;br /&gt;
: Somewhat rudimentary, but nevertheless effective clone of the TR-108. Uses a standard project box instead of the DS Tricorder Toy.&lt;br /&gt;
&lt;br /&gt;
* https://www.youtube.com/watch?v=mOXdTw0fTD4&lt;br /&gt;
: A clone of the tr-108 with extended capabilities and features. Very nice build into a DS Tricorder toy but with improved accuracy to screen prop.&lt;br /&gt;
&lt;br /&gt;
* https://www.youtube.com/watch?v=Xh7VfrmUPGU&lt;br /&gt;
: Completely unique device. Not a clone of the tr-108 but an entirely new device built into a TNG Tricorder using the BM680 and AGM88 sensor packages.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Main_Page&amp;diff=673</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Main_Page&amp;diff=673"/>
				<updated>2024-03-14T20:38:17Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Squared Wave is the private wiki for [[Chris_Barrett | Chris &amp;quot;directive0&amp;quot; Barrett]]. My hope is to use this wiki to save and share my projects so that others can replicate and build on what I've done. &lt;br /&gt;
&lt;br /&gt;
==Categories==&lt;br /&gt;
[[:Category:Electronics|Electronics]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Software|Software]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Games|Games]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Obsolete|Obsolete]]&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
&lt;br /&gt;
;[[Picorder 2]] - &amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;In Development&amp;lt;/span&amp;gt;&lt;br /&gt;
: A new Pi based Tricorder.&lt;br /&gt;
&lt;br /&gt;
;[[Apogee]] -  &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Stalled&amp;lt;/span&amp;gt;&lt;br /&gt;
: A 2D game written in the Godot engine.&lt;br /&gt;
&lt;br /&gt;
;[[Pillbox]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A 3D printed enclosure for a Raspberry Pi Zero that integrates Neopixel LEDs.&lt;br /&gt;
&lt;br /&gt;
;[[Close Quarters Battle]] - &amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Somewhat In Development&amp;lt;/span&amp;gt;&lt;br /&gt;
: A mobile phone game based on SpaceWar for the Palm OS.&lt;br /&gt;
&lt;br /&gt;
;[[Nablin Loot]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A 2D sprite based steal-em-up with stealth elements.&lt;br /&gt;
&lt;br /&gt;
;[[HeadsUp]] -  &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A Pygame based heads up display with simple features and IFTTT integration.&lt;br /&gt;
&lt;br /&gt;
;[[Obso1337]] - &amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;In Development&amp;lt;/span&amp;gt;&lt;br /&gt;
: A video series dedicated to recently deceased products and various projects and editorials.&lt;br /&gt;
&lt;br /&gt;
;[[Picorder]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A functional replica of a Star Trek Tricorder that uses a Raspberry Pi Zero and a SensorHat.&lt;br /&gt;
&lt;br /&gt;
;[[Virtual Pet Maturation Interface]] - &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Stalled&amp;lt;/span&amp;gt;&lt;br /&gt;
: A test bed to directly control the speed and operation of a Digimon (or really any) virtual pet and hopefully control its maturation.&lt;br /&gt;
&lt;br /&gt;
;[[Salt Diffuser]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A mood lamp using NeoPixels diffused through a Salt Lamp, governed by an Arduino.&lt;br /&gt;
&lt;br /&gt;
;[[The ARC Tesla Coil]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A small tesla coil built from mostly cheap off the shelf components.&lt;br /&gt;
&lt;br /&gt;
;[[The Sonic A1 Work Cell]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A simple mock robotic workcell using a PBasic Stamp.&lt;br /&gt;
&lt;br /&gt;
;[[Ontariolongboarding.com]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A long defunct webforum for alternative skateboarding in Ontario&lt;br /&gt;
&lt;br /&gt;
==Handy Pages==&lt;br /&gt;
&lt;br /&gt;
[[Linux_cheat_sheet]]&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
===Hackaday===&lt;br /&gt;
http://hackaday.com/2017/08/18/picorder-raspberry-pi-stands-in-for-stone-knives-and-bearskins/&lt;br /&gt;
&lt;br /&gt;
http://hackaday.com/2009/11/12/set-phasers-to-blind/&lt;br /&gt;
&lt;br /&gt;
===NextThingCo===&lt;br /&gt;
http://blog.nextthing.co/train-your-pocketc-h-i-p-to-train-your-digimon/&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=672</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=672"/>
				<updated>2024-03-14T20:37:15Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have been working at Barrett Architect inc. since 2007 as an [https://en.wikipedia.org/wiki/Architectural_rendering Architectural Previzualization] Artist creating 2D and 3D renderings of proposed and existing buildings for planning and design. I am proficient in many CAD and 3D modelling programs, as well as vector and raster 2D image manipulation tools.&lt;br /&gt;
&lt;br /&gt;
I went to George Brown College in Toronto for my Electromechanical Technicians Certificate. There I developed skills related to circuit design, PCB fabrication, programming and mechatronics. I have used this knowledge to create props for small films, toys and useful equipment.&lt;br /&gt;
&lt;br /&gt;
A love of Star Trek has lead to a lot of personal projects involving creating real life examples of Star Trek technology. I am currently working to create a [[Picorder_2|Tricorder replica]] with actual working sensors.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to develop video games. Starting in the 90's I used packages like [https://en.wikipedia.org/wiki/World_Builder World Builder] to create simple games with my friends. Today I use packages like [https://godotengine.org Godot] and [https://www.unrealengine.com Unreal] to create fun little diversions. So far I have created 2 android based games that are available in a limited capacity through the Google Play Store.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=671</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=671"/>
				<updated>2024-03-14T20:36:41Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have been working at Barrett Architect inc. since 2007 as an [https://en.wikipedia.org/wiki/Architectural_rendering Architectural Previzualization] Artist creating 2D and 3D renderings of proposed and existing buildings for planning and design. I am proficient in many CAD and 3D modelling programs, as well as vector and raster 2D image manipulation tools.&lt;br /&gt;
&lt;br /&gt;
I went to George Brown College in Toronto for my Electromechanical Technicians Certificate. There I developed skills related to circuit design, PCB fabrication, programming and mechatronics. I have used this knowledge to create props for small films, toys and useful equipment.&lt;br /&gt;
&lt;br /&gt;
A love of Star Trek has lead to a lot of personal projects involving creating real life examples of Star Trek technology. I am currently working to create a [[Picorder_2|Tricorder replica]] with actual working sensors.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to develop video games. Starting in the 90's I used packages like [https://en.wikipedia.org/wiki/World_Builder World Builder] to create simple games with my friends. Today I use packages like [https://godotengine.org Godot] and [https://www.unrealengine.com Unreal] to create fun little diversions.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=670</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=670"/>
				<updated>2024-03-14T20:32:42Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have been working at Barrett Architect inc. since 2007 as an [https://en.wikipedia.org/wiki/Architectural_rendering Architectural Previzualization] Artist. I have experience working with 3D modelling and 2D graphics.&lt;br /&gt;
&lt;br /&gt;
I went to George Brown College in Toronto for my Electromechanical Technicians Certificate. There I developed skills related to circuit design, PCB fabrication, programming and mechatronics. I have used this knowledge to create props for small films, toys and useful equipment.&lt;br /&gt;
&lt;br /&gt;
I love Star Trek, which has lead to a lot of personal projects involving creating real life examples of Star Trek technology. I am currently working to create a Tricorder replica with actual working sensors.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to develop video games. Starting in the 90's I used packages like [https://en.wikipedia.org/wiki/World_Builder World Builder] to create simple games with my friends. Today I use packages like [https://godotengine.org Godot] and [https://www.unrealengine.com Unreal] to create fun little diversions.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=669</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=669"/>
				<updated>2024-03-14T20:31:44Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have been working at Barrett Architect inc. since 2007 working as a Architectural Previzualization Artist. I have experience working with 3D modelling and 2D graphics.&lt;br /&gt;
&lt;br /&gt;
I went to George Brown College in Toronto for my Electromechanical Technicians Certificate. There I developed skills related to circuit design, PCB fabrication, programming and mechatronics. I have used this knowledge to create props for small films, toys and useful equipment.&lt;br /&gt;
&lt;br /&gt;
I love Star Trek, which has lead to a lot of personal projects involving creating real life examples of Star Trek technology. I am currently working to create a Tricorder replica with actual working sensors.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to develop video games. Starting in the 90's I used packages like [https://en.wikipedia.org/wiki/World_Builder World Builder] to create simple games with my friends. Today I use packages like [https://godotengine.org Godot] and [https://www.unrealengine.com Unreal] to create fun little diversions.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=668</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=668"/>
				<updated>2024-03-14T20:30:40Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have been working at Barrett Architect inc. since 2007 working as a Architectural Previzualization Artist. I have experience working with 3D modelling and 2D graphics.&lt;br /&gt;
&lt;br /&gt;
I went to George Brown College in Toronto for my Electromechanical Technicians Certificate. There I developed skills related to circuit design, PCB fabrication, programming and mechatronics. I have used this knowledge to create props for small films, toys and useful equipment.&lt;br /&gt;
&lt;br /&gt;
I love Star Trek, which has lead to a lot of personal projects involving creating real life examples of Star Trek technology. I am currently working to create a Tricorder replica with actual working sensors.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to develop video games. Starting in the 90's I used packages like [https://en.wikipedia.org/wiki/World_Builder|World Builder] to create simple games with my friends. Today I use packages like [https://godotengine.org|Godot] and [https://www.unrealengine.com|Unreal] to create fun little diversions.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=667</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=667"/>
				<updated>2024-03-14T20:28:38Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have been working at Barrett Architect inc. since 2007 working as a Architectural Previzualization Artist. I have experience working with 3D modelling and 2D graphics.&lt;br /&gt;
&lt;br /&gt;
I went to George Brown College in Toronto for my Electromechanical Technicians Certificate. There I developed skills related to circuit design, PCB fabrication, programming and mechatronics. I have used this knowledge to create props for small films, toys and useful equipment.&lt;br /&gt;
&lt;br /&gt;
I love Star Trek, which has lead to a lot of personal projects involving creating real life examples of Star Trek technology. I am currently working to create a Tricorder replica with actual working sensors.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to develop video games. Starting in the 90's I used packages like [https://en.wikipedia.org/wiki/World_Builder/ World Builder] to create simple games with my friends. Today I use packages like [https://godotengine.org/ Godot] and [https://www.unrealengine.com/ Unreal] to create fun little diversions.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=666</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=666"/>
				<updated>2024-03-14T20:27:34Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have been working at Barrett Architect inc. since 2007 working as a Architectural Previzualization Artist. I have experience working with 3D modelling and 2D graphics.&lt;br /&gt;
&lt;br /&gt;
I went to George Brown College in Toronto for my Electromechanical Technicians Certificate. There I developed skills related to circuit design, PCB fabrication, programming and mechatronics. I have used this knowledge to create props for small films, toys and useful equipment.&lt;br /&gt;
&lt;br /&gt;
I love Star Trek, which has lead to a lot of personal projects involving creating real life examples of Star Trek technology. I am currently working to create a Tricorder replica with actual working sensors.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to develop video games. Starting in the 90's I used packages like [https://en.wikipedia.org/wiki/World_Builder/| World Builder] to create simple games with my friends. Today I use packages like [https://godotengine.org/| Godot] and [https://www.unrealengine.com/| Unreal] to create fun little diversions.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=665</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=665"/>
				<updated>2024-03-14T20:26:03Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have been working at Barrett Architect inc. since 2007 working as a Architectural Previzualization Artist. I have experience working with 3D modelling and 2D graphics.&lt;br /&gt;
&lt;br /&gt;
I went to George Brown College in Toronto for my Electromechanical Technicians Certificate. There I developed skills related to circuit design, PCB fabrication, programming and mechatronics. I have used this knowledge to create props for small films, toys and useful equipment.&lt;br /&gt;
&lt;br /&gt;
I love Star Trek, which has lead to a lot of personal projects involving creating real life examples of Star Trek technology. I am currently working to create a Tricorder replica with actual working sensors.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to develop video games. Starting in the 90's I used packages like [https://en.wikipedia.org/wiki/World_Builder| World Builder] to create simple games with my friends. Today I use packages like [https://godotengine.org/| Godot] and [https://www.unrealengine.com/| Unreal] to create fun little diversions.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=664</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=664"/>
				<updated>2024-03-14T20:25:47Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have been working at Barrett Architect inc. since 2007 working as a Architectural Previzualization Artist. I have experience working with 3D modelling and 2D graphics.&lt;br /&gt;
&lt;br /&gt;
I went to George Brown College in Toronto for my Electromechanical Technicians Certificate. There I developed skills related to circuit design, PCB fabrication, programming and mechatronics. I have used this knowledge to create props for small films, toys and useful equipment.&lt;br /&gt;
&lt;br /&gt;
I love Star Trek, which has lead to a lot of personal projects involving creating real life examples of Star Trek technology. I am currently working to create a Tricorder replica with actual working sensors.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to develop video games. Starting in the 90's I used packages like [https://en.wikipedia.org/wiki/World_Builder| World Builder] to create simple games with my friends. Today I use packages like [Godot | https://godotengine.org/] and [https://www.unrealengine.com/| Unreal] to create fun little diversions.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=663</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=663"/>
				<updated>2024-03-14T20:25:38Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have been working at Barrett Architect inc. since 2007 working as a Architectural Previzualization Artist. I have experience working with 3D modelling and 2D graphics.&lt;br /&gt;
&lt;br /&gt;
I went to George Brown College in Toronto for my Electromechanical Technicians Certificate. There I developed skills related to circuit design, PCB fabrication, programming and mechatronics. I have used this knowledge to create props for small films, toys and useful equipment.&lt;br /&gt;
&lt;br /&gt;
I love Star Trek, which has lead to a lot of personal projects involving creating real life examples of Star Trek technology. I am currently working to create a Tricorder replica with actual working sensors.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to develop video games. Starting in the 90's I used packages like [https://en.wikipedia.org/wiki/World_Builder| World Builder] to create simple games with my friends. Today I use packages like [Godot | https://godotengine.org/] and [https://www.unrealengine.com/ | Unreal] to create fun little diversions.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=662</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=662"/>
				<updated>2024-03-05T19:20:34Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: /* Video Updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now complete. Unit 02 construction is now underway.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Unit 02 Assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:TR109-02-SHELL-ASSEMBLY.jpg| Unit 02 is a further refinement in what I learned in Unit 01. It will incorporate the same basic electronics packages, but use new tweaks to the case. I will use the oppourtunity to streamline the assembly process and make any final adjustments.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs were designed for the project. KiCAD files are available at the [https://github.com/directive0/TR-109/tree/main/pcb_design github page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Capacative touch is provided by a CAP1208 capacitive touch sensor, LED operation is driven by an 8-bit Shift Register, Bipolar Hall Effect sensors are used for the door state detection. Audio is not yet finalized, and so an external audio connection can be bodged.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
&lt;br /&gt;
The TR-109 is designed to use a:&lt;br /&gt;
&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
;[https://www.banana-pi.org/m2z.html BPI-M2 Zero]&lt;br /&gt;
: The quad core Banana Pi M2 Zero is a great candidate for this project, offering multiple cores and more ram. But the practicality of using a BPI has proven a problem. The BPI uses a custom Raspbian distro that needs seperate GPIO modules and has different setup requirements.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ BME680 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/FyRxHhpjpfk&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Tr1090 cappads.jpg | Unit 02's possible Cap Pad assembly before soldering.&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=661</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=661"/>
				<updated>2024-03-05T19:19:12Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am Chris Barrett and this is my website.&lt;br /&gt;
&lt;br /&gt;
What are my qualifications?&lt;br /&gt;
&lt;br /&gt;
I have been working at Barrett Architect inc. since 2007 working as a Architectural Previzualization Artist. As a result I have in depth experience working with 3D modelling and computer aided design.&lt;br /&gt;
&lt;br /&gt;
I went to George Brown College in Toronto for my Electromechanical Technicians Certificate. There I developed skills related to circuit design, PCB fabrication, programming and mechatronics. I have used this knowledge to create props for small films, toys and useful equipment.&lt;br /&gt;
&lt;br /&gt;
I love Star Trek, which has lead to a lot of personal projects involving creating real life examples of Star Trek technology. I am currently working to create a Tricorder replica with actual working sensors.&lt;br /&gt;
&lt;br /&gt;
I have always wanted to develop video games. Starting in the 90's I used packages like World Builder and Game Maker to create simple games with my friends. Today I use packages like Godot and Unreal to create fun little diversions. One day I would love to work on a large project that would allow me to tell stories through the medium of video games.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Main_Page&amp;diff=660</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Main_Page&amp;diff=660"/>
				<updated>2024-02-27T20:18:52Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Squared Wave is the private wiki for [[Chris_Barrett | Chris &amp;quot;directive0&amp;quot; Barrett]]. My hope is to use this wiki to save and share my projects so that others can replicate and build on what I've done. &lt;br /&gt;
&lt;br /&gt;
==Categories==&lt;br /&gt;
[[:Category:Electronics|Electronics]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Software|Software]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Games|Games]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Obsolete|Obsolete]]&lt;br /&gt;
&lt;br /&gt;
==Projects==&lt;br /&gt;
&lt;br /&gt;
;[[Picorder 2]] - &amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;In Development&amp;lt;/span&amp;gt;&lt;br /&gt;
: A new Pi based Tricorder.&lt;br /&gt;
&lt;br /&gt;
;[[Apogee]] -  &amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;In Development&amp;lt;/span&amp;gt;&lt;br /&gt;
: A 2D game written in the Godot engine.&lt;br /&gt;
&lt;br /&gt;
;[[Pillbox]] - &amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;In Development&amp;lt;/span&amp;gt;&lt;br /&gt;
: A 3D printed enclosure for a Raspberry Pi Zero that integrates Neopixel LEDs.&lt;br /&gt;
&lt;br /&gt;
;[[Close Quarters Battle]] - &amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Somewhat In Development&amp;lt;/span&amp;gt;&lt;br /&gt;
: A mobile phone game based on SpaceWar for the Palm OS.&lt;br /&gt;
&lt;br /&gt;
;[[Nablin Loot]] - &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Somewhat Stalled&amp;lt;/span&amp;gt;&lt;br /&gt;
: A 2D sprite based steal-em-up with stealth elements.&lt;br /&gt;
&lt;br /&gt;
;[[HeadsUp]] -  &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A Pygame based heads up display with simple features and IFTTT integration.&lt;br /&gt;
&lt;br /&gt;
;[[Obso1337]] - &amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;In Development&amp;lt;/span&amp;gt;&lt;br /&gt;
: A video series dedicated to recently deceased products and various projects and editorials.&lt;br /&gt;
&lt;br /&gt;
;[[Picorder]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A functional replica of a Star Trek Tricorder that uses a Raspberry Pi Zero and a SensorHat.&lt;br /&gt;
&lt;br /&gt;
;[[Virtual Pet Maturation Interface]] - &amp;lt;span style=&amp;quot;color:#FF0000&amp;quot;&amp;gt;Stalled&amp;lt;/span&amp;gt;&lt;br /&gt;
: A test bed to directly control the speed and operation of a Digimon (or really any) virtual pet and hopefully control its maturation.&lt;br /&gt;
&lt;br /&gt;
;[[Salt Diffuser]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A mood lamp using NeoPixels diffused through a Salt Lamp, governed by an Arduino.&lt;br /&gt;
&lt;br /&gt;
;[[The ARC Tesla Coil]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A small tesla coil built from mostly cheap off the shelf components.&lt;br /&gt;
&lt;br /&gt;
;[[The Sonic A1 Work Cell]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A simple mock robotic workcell using a PBasic Stamp.&lt;br /&gt;
&lt;br /&gt;
;[[Ontariolongboarding.com]] - &amp;lt;span style=&amp;quot;color:#808080&amp;quot;&amp;gt;Completed&amp;lt;/span&amp;gt;&lt;br /&gt;
: A long defunct webforum for alternative skateboarding in Ontario&lt;br /&gt;
&lt;br /&gt;
==Handy Pages==&lt;br /&gt;
&lt;br /&gt;
[[Linux_cheat_sheet]]&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
===Hackaday===&lt;br /&gt;
http://hackaday.com/2017/08/18/picorder-raspberry-pi-stands-in-for-stone-knives-and-bearskins/&lt;br /&gt;
&lt;br /&gt;
http://hackaday.com/2009/11/12/set-phasers-to-blind/&lt;br /&gt;
&lt;br /&gt;
===NextThingCo===&lt;br /&gt;
http://blog.nextthing.co/train-your-pocketc-h-i-p-to-train-your-digimon/&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=659</id>
		<title>Chris Barrett</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Chris_Barrett&amp;diff=659"/>
				<updated>2024-02-27T20:15:42Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: Created page with &amp;quot;Chris Barrett is an experienced technician with 15+ years experience working with 2D/3D video graphics and computer aided design. Has an extensive background in the technical...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Chris Barrett is an experienced technician with 15+ years experience working with 2D/3D video graphics and computer aided design. Has an extensive background in the technical fields of electronics and programming and a passion for technology and science communication.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=658</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=658"/>
				<updated>2024-02-26T04:57:24Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: /* Prototype Units */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now complete. Unit 02 construction is now underway.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Unit 02 Assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:TR109-02-SHELL-ASSEMBLY.jpg| Unit 02 is a further refinement in what I learned in Unit 01. It will incorporate the same basic electronics packages, but use new tweaks to the case. I will use the oppourtunity to streamline the assembly process and make any final adjustments.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs were designed for the project. KiCAD files are available at the [https://github.com/directive0/TR-109/tree/main/pcb_design github page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Capacative touch is provided by a CAP1208 capacitive touch sensor, LED operation is driven by an 8-bit Shift Register, Bipolar Hall Effect sensors are used for the door state detection. Audio is not yet finalized, and so an external audio connection can be bodged.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
&lt;br /&gt;
The TR-109 is designed to use a:&lt;br /&gt;
&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
;[https://www.banana-pi.org/m2z.html BPI-M2 Zero]&lt;br /&gt;
: The quad core Banana Pi M2 Zero is a great candidate for this project, offering multiple cores and more ram. But the practicality of using a BPI has proven a problem. The BPI uses a custom Raspbian distro that needs seperate GPIO modules and has different setup requirements.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ BME680 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Tr1090 cappads.jpg | Unit 02's possible Cap Pad assembly before soldering.&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=657</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=657"/>
				<updated>2024-02-26T04:57:11Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: /* Prototype Units */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now complete. Unit 02 construction is now underway.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Unit 02 Assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:TR109-02-SHELL-ASSEMBLY.jpg| Unit 02 is a further refinement in what I learned in Unit 01. It will incorporate the same basic electronics packages, but use new tweaks to the case. I will use the oppourtunity to streamline the assembly process and make any final adjustments.&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs were designed for the project. KiCAD files are available at the [https://github.com/directive0/TR-109/tree/main/pcb_design github page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Capacative touch is provided by a CAP1208 capacitive touch sensor, LED operation is driven by an 8-bit Shift Register, Bipolar Hall Effect sensors are used for the door state detection. Audio is not yet finalized, and so an external audio connection can be bodged.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
&lt;br /&gt;
The TR-109 is designed to use a:&lt;br /&gt;
&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
;[https://www.banana-pi.org/m2z.html BPI-M2 Zero]&lt;br /&gt;
: The quad core Banana Pi M2 Zero is a great candidate for this project, offering multiple cores and more ram. But the practicality of using a BPI has proven a problem. The BPI uses a custom Raspbian distro that needs seperate GPIO modules and has different setup requirements.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ BME680 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Tr1090 cappads.jpg | Unit 02's possible Cap Pad assembly before soldering.&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=File:TR109-02-SHELL-ASSEMBLY.jpg&amp;diff=656</id>
		<title>File:TR109-02-SHELL-ASSEMBLY.jpg</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=File:TR109-02-SHELL-ASSEMBLY.jpg&amp;diff=656"/>
				<updated>2024-02-26T04:56:58Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=655</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=655"/>
				<updated>2024-02-26T04:53:19Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now complete. Unit 02 construction is now underway.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Unit 02 Assembly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
Unit 02 is a further refinement in what I learned in Unit 01. It will incorporate the same basic electronics packages, but use new tweaks to the case. I will use the oppourtunity to streamline the assembly process and make any final adjustments.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs were designed for the project. KiCAD files are available at the [https://github.com/directive0/TR-109/tree/main/pcb_design github page].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Capacative touch is provided by a CAP1208 capacitive touch sensor, LED operation is driven by an 8-bit Shift Register, Bipolar Hall Effect sensors are used for the door state detection. Audio is not yet finalized, and so an external audio connection can be bodged.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
&lt;br /&gt;
The TR-109 is designed to use a:&lt;br /&gt;
&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
;[https://www.banana-pi.org/m2z.html BPI-M2 Zero]&lt;br /&gt;
: The quad core Banana Pi M2 Zero is a great candidate for this project, offering multiple cores and more ram. But the practicality of using a BPI has proven a problem. The BPI uses a custom Raspbian distro that needs seperate GPIO modules and has different setup requirements.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ BME680 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Tr1090 cappads.jpg | Unit 02's possible Cap Pad assembly before soldering.&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=PicorderOS&amp;diff=654</id>
		<title>PicorderOS</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=PicorderOS&amp;diff=654"/>
				<updated>2023-12-08T15:02:58Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:PicorderOS logo.png|frame|Logo for the PicorderOS project]]&lt;br /&gt;
PicorderOS is a Python based set of modules that provides a quick and easy way to use a Raspberry Pi as a handheld sensing device. The real goal of PicorderOS is not just to operate my various Picorder projects as a monolithic entity but to work as a set of modules that the user can enable and disable at will.&lt;br /&gt;
&lt;br /&gt;
By design it will support a wide range of arbitrary selected sensors, displays and form factors. Development is proceeding simultaneously on all elements.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Variants===&lt;br /&gt;
&lt;br /&gt;
PicorderOS is written to support two specific variants of Picorder, though modification and customization is definitely possible and it is a goal that any sensor supported by PicorderOS can be used on any variant of Picorder.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|[[Picorder|TR-108]]&lt;br /&gt;
|[[Picorder 2|TR-109]]&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Tr108.png|80px]]&lt;br /&gt;
|[[File:Tr109.png|60px]]&lt;br /&gt;
|-&lt;br /&gt;
|The TR-108 by default uses a Sensehat module and pygame to draw elements to screen using the composite or HDMI video connection. It is easily constructed of mostly off-the-shelf components.&lt;br /&gt;
|The TR-109 is designed to use a number of optional sensors and uses the SPI bus to address a small TFT LCD screen. It is almost entirely custom built and requires a 3D printer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Basic Structure===&lt;br /&gt;
[[File:PicorderOS diagram.png|500px]]&lt;br /&gt;
&lt;br /&gt;
====Objects====&lt;br /&gt;
The Objects module contains some basic functions that are shared by many elements of the program. Most importantly it contains the &amp;quot;configuration&amp;quot; object that holds settings for the program. The user can edit this file to change settings quickly.&lt;br /&gt;
&lt;br /&gt;
====Main====&lt;br /&gt;
PicorderOS's basic functional structure starts with the Main module. Main creates and directs all the elements necessary for a picorder session and directs the flow of information to and from each element.&lt;br /&gt;
&lt;br /&gt;
====Sensor====&lt;br /&gt;
The sensor object is different depending on the physical sensors present. While the means of pulling sensor data may be different between different sensor types the purpose of the sensor object is to pull each value from the sensor and prepare it into a *sensor fragment*. Sensor fragments are lists (sort of like arrays) that contain the most recent sensor value and information for the program to put that value in context like the upper and lower possible ranges of the senor, the unit, symbol, and the name of the item itself. Many parts of the program will need to access this information so it is important for these elements to be available. Any sensor data can be accessed by PicorderOS so long as it follows these standards.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
Things I'd like to add:&lt;br /&gt;
&lt;br /&gt;
* A real database module. Data analysis is a big part of the idea of a Tricorder. I haven't had a chance to learn it yet.&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
https://github.com/directive0/picorder2&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
PicorderOS requires quite a few python libraries to work. &lt;br /&gt;
&lt;br /&gt;
==Requirements:==&lt;br /&gt;
PicorderOS uses a number of modules to operate, specifically:&lt;br /&gt;
&lt;br /&gt;
* [https://www.pygame.org/news Pygame] - Handles screen drawing and Luma.LCD emulation&lt;br /&gt;
* [https://pypi.org/project/luma.lcd/ Luma.LCD] - Supports a number of displays.&lt;br /&gt;
* [https://pythonhosted.org/sense-hat/ Sensehat] - For the TR-108 or any Picorder using a Sensehat&lt;br /&gt;
* [https://github.com/adafruit/Adafruit_CircuitPython_AMG88xx amg8833] - Supports the AMG8833 8x8 Pixel Thermal Camera&lt;br /&gt;
* [https://github.com/pimoroni/bme680-python BME680] - Supports the BME680 Environmental Sensor IC&lt;br /&gt;
* [https://pypi.org/project/RPi.GPIO/ RPi.GPIO] - General IO&lt;br /&gt;
* sys&lt;br /&gt;
* time&lt;br /&gt;
* math&lt;br /&gt;
* os&lt;br /&gt;
* psutil -for PC stats&lt;br /&gt;
&lt;br /&gt;
Be sure you have these modules installed before attempting to run the main module.&lt;br /&gt;
&lt;br /&gt;
Open a terminal and follow the next instructions:&lt;br /&gt;
* We must first enable SPI and I2C for sensor and display communications.&lt;br /&gt;
** Open Raspi Config &amp;lt;code&amp;gt;sudo raspi-config&amp;lt;/code&amp;gt;&lt;br /&gt;
** Select &amp;quot;Interfacing Options&amp;quot; (Item 5)&lt;br /&gt;
** Scroll down to SPI and when prompted enable it following the onscreen dialogue&lt;br /&gt;
** Do the same for I2C&lt;br /&gt;
* Ensure you have Python3 and Pip3 installed (should already be there on Raspbian) &amp;lt;code&amp;gt;sudo apt-get install python3-pip python3-dev&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install Sensor Libraries&lt;br /&gt;
** If using the BME680 I recommend the [https://github.com/pimoroni/bme680-python Pimoroni bme680 module],  install it using pip3 &amp;lt;code&amp;gt;sudo pip3 install bme680&amp;lt;/code&amp;gt;&lt;br /&gt;
* Install [https://luma-lcd.readthedocs.io/en/latest/index.html luma.lcd] for the displays &amp;lt;code&amp;gt;sudo pip3 install luma.lcd&amp;lt;/code&amp;gt;&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
&lt;br /&gt;
==Operation==&lt;br /&gt;
PicorderOS is run from main.py.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
PicorderOS depends on a number of python modules to function. Before the main loop can be run we need to install the dependencies.&lt;br /&gt;
&lt;br /&gt;
Below is an experimental list of commands that are used to prepare a asRpberry Pi OS install.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
pip3 install --upgrade psutil numpy luma.lcd luma.emulator adafruit-circuitpython-bme680 pandas colour adafruit-circuitpython-mpr121&lt;br /&gt;
&lt;br /&gt;
sudo apt-get install libatlas-base-dev libsdl2-dev libopenjp2-7-de libtiff5&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Beepy&amp;diff=653</id>
		<title>Beepy</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Beepy&amp;diff=653"/>
				<updated>2023-08-19T03:40:58Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I just recently acquired a [https://beepy.sqfmi.com/ beepy] (previously beepberry, prior to threats of litigation from whoever or whatever blackberry is now) a mobile display and keyboard for the [https://en.wikipedia.org/wiki/Raspberry_Pi raspberry pi zero] or compatible SBC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Helpful links I found ==&lt;br /&gt;
[https://github.com/w4ilun/bbqX0kbd_driver#keyboard-layout keyboard layout]&lt;br /&gt;
&lt;br /&gt;
Excel is a community member who has been developing drivers for the beepy that improve functionality&lt;br /&gt;
&lt;br /&gt;
[https://ardangelo.github.io/beepy-ppa Excel Drivers Git]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Beepy&amp;diff=652</id>
		<title>Beepy</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Beepy&amp;diff=652"/>
				<updated>2023-08-13T16:54:44Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I just recently acquired a [https://beepy.sqfmi.com/ beepy] (previously beepberry, prior to threats of litigation from whoever or whatever blackberry is now) a mobile display and keyboard for the [https://en.wikipedia.org/wiki/Raspberry_Pi raspberry pi zero] or compatible SBC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Helpful links I found ==&lt;br /&gt;
[https://github.com/sqfmi/bbqX0kbd_driver#keyboard-layout keyboard layout]&lt;br /&gt;
&lt;br /&gt;
Excel is a community member who has been developing drivers for the beepy that improve functionality&lt;br /&gt;
&lt;br /&gt;
[https://ardangelo.github.io/beepy-ppa Excel Drivers Git]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Beepy&amp;diff=651</id>
		<title>Beepy</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Beepy&amp;diff=651"/>
				<updated>2023-08-11T04:19:37Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I just recently acquired a [https://beepy.sqfmi.com/ beepy] (previously beepberry, prior to threats of litigation from whoever or whatever blackberry is now) a mobile display and keyboard for the [https://en.wikipedia.org/wiki/Raspberry_Pi raspberry pi zero] or compatible SBC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Helpful links I found ==&lt;br /&gt;
[https://github.com/sqfmi/bbqX0kbd_driver#keyboard-layout keyboard layout]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Beepy&amp;diff=650</id>
		<title>Beepy</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Beepy&amp;diff=650"/>
				<updated>2023-08-11T03:06:16Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: Created page with &amp;quot;I just recently acquired a [https://beepy.sqfmi.com/ beepy] (previously beepberry, prior to threats of litigation from whoever or whatever blackberry is now).  It is perhaps b...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I just recently acquired a [https://beepy.sqfmi.com/ beepy] (previously beepberry, prior to threats of litigation from whoever or whatever blackberry is now).&lt;br /&gt;
&lt;br /&gt;
It is perhaps best described as a mobile display and keyboard for the [https://en.wikipedia.org/wiki/Raspberry_Pi raspberry pi zero] or compatible SBC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Helpful links I found ==&lt;br /&gt;
[https://github.com/sqfmi/bbqX0kbd_driver#keyboard-layout keyboard layout]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=649</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=649"/>
				<updated>2023-06-17T16:25:45Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now mostly complete. I'm working to refine the software for the final prototype.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Refine software&lt;br /&gt;
-Make plans for the next prototype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
This final prototype will be used to finalize the means of assembly. It will likely be the last Picorder of this series.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs are being produced for this project, they are designed in KiCad and will be available to the public when finished.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
&lt;br /&gt;
The TR-109 is designed to use a:&lt;br /&gt;
&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
;[https://www.banana-pi.org/m2z.html BPI-M2 Zero]&lt;br /&gt;
: The quad core Banana Pi M2 Zero is a great candidate for this project, offering multiple cores and more ram. But the practicality of using a BPI has proven a problem. The BPI uses a custom Raspbian distro that needs seperate GPIO modules and has different setup requirements.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ BME680 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Tr1090 cappads.jpg | Unit 02's possible Cap Pad assembly before soldering.&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=File:Tr1090_cappads.jpg&amp;diff=648</id>
		<title>File:Tr1090 cappads.jpg</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=File:Tr1090_cappads.jpg&amp;diff=648"/>
				<updated>2023-06-17T16:24:45Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Linux_cheat_sheet&amp;diff=647</id>
		<title>Linux cheat sheet</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Linux_cheat_sheet&amp;diff=647"/>
				<updated>2023-05-10T14:55:54Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: /* get st7735 screen working on pi02w */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These tips seem to work with Raspbian and in some cases Ubuntu.&lt;br /&gt;
&lt;br /&gt;
==Run a process beyond an SSH session==&lt;br /&gt;
Useful for SSH’n into a machine and then starting a process and being able to close the session without killing the job. Also useful for running multiple programs in one ssh session.&lt;br /&gt;
&lt;br /&gt;
Install [https://linux.die.net/man/1/screen screen] if you haven’t already&lt;br /&gt;
&lt;br /&gt;
    sudo apt-get install screen -y&lt;br /&gt;
&lt;br /&gt;
Run screen on the server and use -S flag to give the session a name. &lt;br /&gt;
&lt;br /&gt;
    screen -S myjob&lt;br /&gt;
&lt;br /&gt;
Log in via ssh from the remote machine and use the -x flag to attach to that session&lt;br /&gt;
&lt;br /&gt;
    screen -x myjob&lt;br /&gt;
&lt;br /&gt;
Press ctl-a and then ctl-d to switch back without closing, or issue the command&lt;br /&gt;
&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
to close the screen session.&lt;br /&gt;
&lt;br /&gt;
==Run a program on a remote display==&lt;br /&gt;
When you run graphical programs over SSH the server will often throw errors about no screen being present. You need to put the display you want have the program to display to in your environment. You can do this by first runing “w” to see connected displays and then:&lt;br /&gt;
&lt;br /&gt;
Run export to bring the proper display into your environment.&lt;br /&gt;
&lt;br /&gt;
    export DISPLAY=:0&lt;br /&gt;
&lt;br /&gt;
Run your program.&lt;br /&gt;
&lt;br /&gt;
    python3 samplepythoncode.py&lt;br /&gt;
&lt;br /&gt;
==Quickly determine Pi CPU temperature==&lt;br /&gt;
Run the following command in terminal.&lt;br /&gt;
&lt;br /&gt;
    /opt/vc/bin/vcgencmd measure_temp&lt;br /&gt;
&lt;br /&gt;
==Set up wifi on a Pi with simple file==&lt;br /&gt;
Create a file called “wpa_supplicant.conf” with the following content and place at root of “boot”&lt;br /&gt;
&lt;br /&gt;
    network={&lt;br /&gt;
    ssid=&amp;quot;SSID Name&amp;quot;&lt;br /&gt;
    psk=&amp;quot;Password&amp;quot;&lt;br /&gt;
    key_mgmt=WPA-PSK&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
==Run Process At Startup==&lt;br /&gt;
&lt;br /&gt;
You can add the job to the crontab&lt;br /&gt;
    crontab -e&lt;br /&gt;
    @reboot sleep 60;export DISPLAY=:0 &amp;amp;&amp;amp; export XAUTHORITY=/home/user/.Xauthority &amp;amp;&amp;amp; cd /home/pi/picorder/ &amp;amp;&amp;amp; python picorder.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Or add it to /etc/rc.local&lt;br /&gt;
    cd /home/pi/Documents/picorderOS/&lt;br /&gt;
    su pi -c &amp;quot;python3 main.py&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
==Swap Keyboard Key==&lt;br /&gt;
&lt;br /&gt;
    xmodmap -e &amp;quot;keycode 94 = Shift_L&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Get Pygame2 to work properly on raspberry pi==&lt;br /&gt;
    &lt;br /&gt;
    sudo apt-get install libsdl2-mixer-2.0-0&lt;br /&gt;
    sudo apt-get install libsdl-ttf2.0-0&lt;br /&gt;
    sudo apt-get install libsdl-gfx1.2-5&lt;br /&gt;
    sudo apt-get install libsdl2-image-2.0-0&lt;br /&gt;
&lt;br /&gt;
==get st7735 screen working on pi02w as display==&lt;br /&gt;
&lt;br /&gt;
https://github.com/degzero/st7735fb&lt;br /&gt;
&lt;br /&gt;
https://github.com/degzero/Python_ST7735&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=dj0WrkpPRho&amp;amp;ab_channel=Prajnith&lt;br /&gt;
&lt;br /&gt;
sudo nano /boot/cmdline.txt&lt;br /&gt;
fbcon=map:10 fbcon=font:VGA8x8&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://tejaswid.github.io/wikitm/rpi/pi-tft-display&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Linux_cheat_sheet&amp;diff=646</id>
		<title>Linux cheat sheet</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Linux_cheat_sheet&amp;diff=646"/>
				<updated>2023-05-09T05:39:35Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: /* get st7735 screen working on pi02w */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These tips seem to work with Raspbian and in some cases Ubuntu.&lt;br /&gt;
&lt;br /&gt;
==Run a process beyond an SSH session==&lt;br /&gt;
Useful for SSH’n into a machine and then starting a process and being able to close the session without killing the job. Also useful for running multiple programs in one ssh session.&lt;br /&gt;
&lt;br /&gt;
Install [https://linux.die.net/man/1/screen screen] if you haven’t already&lt;br /&gt;
&lt;br /&gt;
    sudo apt-get install screen -y&lt;br /&gt;
&lt;br /&gt;
Run screen on the server and use -S flag to give the session a name. &lt;br /&gt;
&lt;br /&gt;
    screen -S myjob&lt;br /&gt;
&lt;br /&gt;
Log in via ssh from the remote machine and use the -x flag to attach to that session&lt;br /&gt;
&lt;br /&gt;
    screen -x myjob&lt;br /&gt;
&lt;br /&gt;
Press ctl-a and then ctl-d to switch back without closing, or issue the command&lt;br /&gt;
&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
to close the screen session.&lt;br /&gt;
&lt;br /&gt;
==Run a program on a remote display==&lt;br /&gt;
When you run graphical programs over SSH the server will often throw errors about no screen being present. You need to put the display you want have the program to display to in your environment. You can do this by first runing “w” to see connected displays and then:&lt;br /&gt;
&lt;br /&gt;
Run export to bring the proper display into your environment.&lt;br /&gt;
&lt;br /&gt;
    export DISPLAY=:0&lt;br /&gt;
&lt;br /&gt;
Run your program.&lt;br /&gt;
&lt;br /&gt;
    python3 samplepythoncode.py&lt;br /&gt;
&lt;br /&gt;
==Quickly determine Pi CPU temperature==&lt;br /&gt;
Run the following command in terminal.&lt;br /&gt;
&lt;br /&gt;
    /opt/vc/bin/vcgencmd measure_temp&lt;br /&gt;
&lt;br /&gt;
==Set up wifi on a Pi with simple file==&lt;br /&gt;
Create a file called “wpa_supplicant.conf” with the following content and place at root of “boot”&lt;br /&gt;
&lt;br /&gt;
    network={&lt;br /&gt;
    ssid=&amp;quot;SSID Name&amp;quot;&lt;br /&gt;
    psk=&amp;quot;Password&amp;quot;&lt;br /&gt;
    key_mgmt=WPA-PSK&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
==Run Process At Startup==&lt;br /&gt;
&lt;br /&gt;
You can add the job to the crontab&lt;br /&gt;
    crontab -e&lt;br /&gt;
    @reboot sleep 60;export DISPLAY=:0 &amp;amp;&amp;amp; export XAUTHORITY=/home/user/.Xauthority &amp;amp;&amp;amp; cd /home/pi/picorder/ &amp;amp;&amp;amp; python picorder.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Or add it to /etc/rc.local&lt;br /&gt;
    cd /home/pi/Documents/picorderOS/&lt;br /&gt;
    su pi -c &amp;quot;python3 main.py&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
==Swap Keyboard Key==&lt;br /&gt;
&lt;br /&gt;
    xmodmap -e &amp;quot;keycode 94 = Shift_L&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Get Pygame2 to work properly on raspberry pi==&lt;br /&gt;
    &lt;br /&gt;
    sudo apt-get install libsdl2-mixer-2.0-0&lt;br /&gt;
    sudo apt-get install libsdl-ttf2.0-0&lt;br /&gt;
    sudo apt-get install libsdl-gfx1.2-5&lt;br /&gt;
    sudo apt-get install libsdl2-image-2.0-0&lt;br /&gt;
&lt;br /&gt;
==get st7735 screen working on pi02w==&lt;br /&gt;
&lt;br /&gt;
https://github.com/degzero/st7735fb&lt;br /&gt;
&lt;br /&gt;
https://github.com/degzero/Python_ST7735&lt;br /&gt;
&lt;br /&gt;
https://www.youtube.com/watch?v=dj0WrkpPRho&amp;amp;ab_channel=Prajnith&lt;br /&gt;
&lt;br /&gt;
sudo nano /boot/cmdline.txt&lt;br /&gt;
fbcon=map:10 fbcon=font:VGA8x8&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Linux_cheat_sheet&amp;diff=645</id>
		<title>Linux cheat sheet</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Linux_cheat_sheet&amp;diff=645"/>
				<updated>2023-05-09T05:39:20Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These tips seem to work with Raspbian and in some cases Ubuntu.&lt;br /&gt;
&lt;br /&gt;
==Run a process beyond an SSH session==&lt;br /&gt;
Useful for SSH’n into a machine and then starting a process and being able to close the session without killing the job. Also useful for running multiple programs in one ssh session.&lt;br /&gt;
&lt;br /&gt;
Install [https://linux.die.net/man/1/screen screen] if you haven’t already&lt;br /&gt;
&lt;br /&gt;
    sudo apt-get install screen -y&lt;br /&gt;
&lt;br /&gt;
Run screen on the server and use -S flag to give the session a name. &lt;br /&gt;
&lt;br /&gt;
    screen -S myjob&lt;br /&gt;
&lt;br /&gt;
Log in via ssh from the remote machine and use the -x flag to attach to that session&lt;br /&gt;
&lt;br /&gt;
    screen -x myjob&lt;br /&gt;
&lt;br /&gt;
Press ctl-a and then ctl-d to switch back without closing, or issue the command&lt;br /&gt;
&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
to close the screen session.&lt;br /&gt;
&lt;br /&gt;
==Run a program on a remote display==&lt;br /&gt;
When you run graphical programs over SSH the server will often throw errors about no screen being present. You need to put the display you want have the program to display to in your environment. You can do this by first runing “w” to see connected displays and then:&lt;br /&gt;
&lt;br /&gt;
Run export to bring the proper display into your environment.&lt;br /&gt;
&lt;br /&gt;
    export DISPLAY=:0&lt;br /&gt;
&lt;br /&gt;
Run your program.&lt;br /&gt;
&lt;br /&gt;
    python3 samplepythoncode.py&lt;br /&gt;
&lt;br /&gt;
==Quickly determine Pi CPU temperature==&lt;br /&gt;
Run the following command in terminal.&lt;br /&gt;
&lt;br /&gt;
    /opt/vc/bin/vcgencmd measure_temp&lt;br /&gt;
&lt;br /&gt;
==Set up wifi on a Pi with simple file==&lt;br /&gt;
Create a file called “wpa_supplicant.conf” with the following content and place at root of “boot”&lt;br /&gt;
&lt;br /&gt;
    network={&lt;br /&gt;
    ssid=&amp;quot;SSID Name&amp;quot;&lt;br /&gt;
    psk=&amp;quot;Password&amp;quot;&lt;br /&gt;
    key_mgmt=WPA-PSK&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
==Run Process At Startup==&lt;br /&gt;
&lt;br /&gt;
You can add the job to the crontab&lt;br /&gt;
    crontab -e&lt;br /&gt;
    @reboot sleep 60;export DISPLAY=:0 &amp;amp;&amp;amp; export XAUTHORITY=/home/user/.Xauthority &amp;amp;&amp;amp; cd /home/pi/picorder/ &amp;amp;&amp;amp; python picorder.py&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Or add it to /etc/rc.local&lt;br /&gt;
    cd /home/pi/Documents/picorderOS/&lt;br /&gt;
    su pi -c &amp;quot;python3 main.py&amp;quot; &amp;amp;&lt;br /&gt;
&lt;br /&gt;
==Swap Keyboard Key==&lt;br /&gt;
&lt;br /&gt;
    xmodmap -e &amp;quot;keycode 94 = Shift_L&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Get Pygame2 to work properly on raspberry pi==&lt;br /&gt;
    &lt;br /&gt;
    sudo apt-get install libsdl2-mixer-2.0-0&lt;br /&gt;
    sudo apt-get install libsdl-ttf2.0-0&lt;br /&gt;
    sudo apt-get install libsdl-gfx1.2-5&lt;br /&gt;
    sudo apt-get install libsdl2-image-2.0-0&lt;br /&gt;
&lt;br /&gt;
==get st7735 screen working on pi02w==&lt;br /&gt;
https://github.com/degzero/st7735fb&lt;br /&gt;
https://github.com/degzero/Python_ST7735&lt;br /&gt;
https://www.youtube.com/watch?v=dj0WrkpPRho&amp;amp;ab_channel=Prajnith&lt;br /&gt;
&lt;br /&gt;
sudo nano /boot/cmdline.txt&lt;br /&gt;
fbcon=map:10 fbcon=font:VGA8x8&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=644</id>
		<title>Retro render farm</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=644"/>
				<updated>2021-12-06T03:51:48Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you want to make your own Infini-D 4.5 render farm from old Macs? Congratulations. You’ve embarked on a journey of discovery that few have enjoyed. Once I was like you; completely unaware of the joys of networking old macs together to make bad computer generated images of checkerboard floors with floating raytraced spheres. Until a friendly internet stranger decided to bestow upon me the gift of the Infini-D 4.5 Network License Serial Number and the teachings of the Retro Render Farm. Now I am productive, creative, and especially more efficient; and I think you will be too. Are you ready?&lt;br /&gt;
&lt;br /&gt;
Below is some of the wisdom the internet stranger shared with me to get a Retro Render Farm started:&lt;br /&gt;
&lt;br /&gt;
You'll need at least TWO Mac OS 9 capable machines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main machine:&lt;br /&gt;
&lt;br /&gt;
- a full copy of Infini-D installed, with both an application serial number, and a network serial number supplied (both available at the link).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Worker machines:&lt;br /&gt;
&lt;br /&gt;
-On these machines you only need the engine and control panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QUIRK: you have to move &amp;quot;Infini-D 4.5 Engine&amp;quot; out of the &amp;quot;Network Rendering Software&amp;quot; folder and into the same folder as &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can move &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot; into the &amp;quot;Network Rendering Software&amp;quot; folder. &lt;br /&gt;
&lt;br /&gt;
If both computers are on the same network (either TCP/IP or AppleTalk) the main machine will see the worker. Once this happens, the two will try and communicate. &lt;br /&gt;
&lt;br /&gt;
This occurs on Application launch if a Network serial number has already been entered or right after the Network SN is added. &lt;br /&gt;
&lt;br /&gt;
When the communication begins a blank error message will appear on the worker machine and one of two error messages will appear on the master under the Engines tab: Agent Malfunction or Incompatible Version.&lt;br /&gt;
&lt;br /&gt;
Be sure to set a computer name and owner in the File Sharing control panel. You don't actually have to turn on File Sharing nor Program Sharing though. ID uses the network name to say which host is connect to which slave. I also did all this without enabling TCP/IP within ID.&lt;br /&gt;
&lt;br /&gt;
This is the IBM PowerPC Instruction set manual I referenced to figure out what each instruction does:&lt;br /&gt;
https://www.ibm.com/docs/en/aix/7.2?topic=reference-instruction-set&lt;br /&gt;
&lt;br /&gt;
This is the Macintosh Toolbox Essentials manual I referenced for possible breakpoints in MacsBug:&lt;br /&gt;
https://mirror.informatimago.com/next/developer.apple.com/documentation/mac/Toolbox/Toolbox-227.html&lt;br /&gt;
&lt;br /&gt;
I'm going to use these two acronyms in this email:&lt;br /&gt;
ID - Infini-D&lt;br /&gt;
IDA - Interactive Disassembler (a reverse engineering program by HexRays)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are three steps to getting the network (or any) serial number:&lt;br /&gt;
&lt;br /&gt;
1 - Find the check algorithm&lt;br /&gt;
2 - Figure out what the algorithm does&lt;br /&gt;
3 - Write a keygen based on the algorithm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1 - Find the check algorithm==&lt;br /&gt;
&lt;br /&gt;
Every program is a series of CPU instructions. By using MacsBug (one of the few tools available at the time), it is possible to see the assembly-language CPU instructions as the program is running. By stepping through these instructions, we can peek under the hood of the application and see exactly how the computer's memory is being manipulated. Groups of instructions are called subroutines (&amp;quot;functions&amp;quot; in higher-level programming languages). If we can find the subroutine for the check algorithm, we can analyze its instructions and see the math behind the serial number validation.&lt;br /&gt;
&lt;br /&gt;
Figuring out where exactly the instructions are for the check algorithm is quite difficult. ID has over 14,000 subroutines, each having dozens or hundreds of instructions! Which one is the check algorithm? We can narrow it down by setting strategic breakpoints in MacsBug. In the videos, I'm setting a breakpoint (bp) on NewCWindow. This is the MacOS subroutine that ID calls to create the &amp;quot;Bad Serial Number&amp;quot; dialog box. I then step through the instructions until I get to the end of the NewCWindow routine (a blr instruction is the end of a routine). I'm now back in the assembly instructions for ID and I see the address is now 3E21F220. This should be the address of the instruction called immediately after NewCWindow. If I can go back through the instructions and subroutines, I'll eventually get to the routine that says, &amp;quot;This serial number is bad, show the alert (call NewCWindow); or, this serial number is good, add it to the list.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I now switch over to IDA. IDA is a modern tool that aids in reverse engineering. It disassembles the entire program at once. It's killer feature is the Graph View, which breaks routines up into blocks, showing where different locations will branch off into one another within the routine. In IDA, I go to the entry point of the subroutine calling NewCWindow and see what other subroutines call this one. There are two. I then set a breakpoint in MacsBug on the address of each subroutine to see which one breaks when I try and add the serial number. The first one doesn't break so I don't have to worry about it -- it must be used somewhere else in the program and have nothing to do with the serial number check. The second one does break! I then go to the top of that subroutine and repeat the process, seeing which routines are being called when I click the plus button in ID.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2 - Figure out what the algorithm does==&lt;br /&gt;
&lt;br /&gt;
With a lot of trial and error and bit of luck, eventually I get to a routine that looks like it's doing a ton math and there's tons of branching. It's huge. I might even see the serial number I entered right there in plain sight in MacsBug in a register (the numbers down the left column in MacsBug). We've finally found something a check algorithm candidate, so we have to go through it instruction by instruction in both IDA and MacsBug to see the memory and see the disassembly. IDA also includes a decompiler, which creates C-like pseudocode based on the disassembly. This is getting close to the original source code, but nothing is meaningfully named, just var1, var2, etc. This window is very convenient since it's easy to add comments and is usually easier to digest than pages of assembly instructions. As we go through each instruction in both programs, we can start to give meaningful names to variables, name sub-routines, and add comments to the decompilation. Slowly the algorithm becomes clearer. As we follow along, we can see where the program will branch if a certain calculation means the serial number is good, or where the result of a calculation equates to a bad serial number. It might be making sure that the seventh character of the serial number is a 1 (if not, it immediately exits the subroutine and shows an alert), or it might be doing something more intensive like adding up all the digits, dividing by a particular number, and then checking to see if the remainder is zero (if not, it quickly exits again).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3 - Write a keygen based on the algorithm==&lt;br /&gt;
&lt;br /&gt;
Once we have figured out the algorithm, we simplify it (usually they're obfuscated to confuse/deter/slow/anger reverse engineers) and write it in our own software: a keygen. A keygen feeds random numbers through the algorithm, returning only numbers that satisfy all the checks. Since even the slowest computer can check tens of thousands of random numbers a second, we quickly find valid serial numbers. We can even narrow down the guessing if we know certain numbers have to be within a certain range -- we better make sure that the seventh character is always 1!&lt;br /&gt;
&lt;br /&gt;
And that's pretty much it. It's an incredibly difficult, complicated, and involved process. I hope I've done a decent job explaining it at a high level. If you have any questions or need me to film anything else, I'll be glad to help.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=643</id>
		<title>Retro render farm</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=643"/>
				<updated>2021-12-06T03:50:35Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you want to make your own Infini-D 4.5 render farm from old Macs? Congratulations. You’ve embarked on a journey of discovery that few have enjoyed. Once I was like you; completely unaware of the joys of networking old macs together to make bad computer generated images of checkerboard floors with floating raytraced spheres. Until a friendly internet stranger decided to bestow upon me the gift of the Infini-D 4.5 Network License Serial Number and the teachings of the Retro Render Farm. Now I am productive, creative, and especially more efficient; and I think you will be too. Are you ready?&lt;br /&gt;
&lt;br /&gt;
Below is some of the wisdom the internet stranger shared with me to get a Retro Render Farm started:&lt;br /&gt;
&lt;br /&gt;
You'll need at least TWO Mac OS 9 capable machines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main machine:&lt;br /&gt;
&lt;br /&gt;
- a full copy of Infini-D installed, with both an application serial number, and a network serial number supplied (both available at the link).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Worker machines:&lt;br /&gt;
&lt;br /&gt;
-On these machines you only need the engine and control panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QUIRK: you have to move &amp;quot;Infini-D 4.5 Engine&amp;quot; out of the &amp;quot;Network Rendering Software&amp;quot; folder and into the same folder as &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can move &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot; into the &amp;quot;Network Rendering Software&amp;quot; folder. &lt;br /&gt;
&lt;br /&gt;
If both computers are on the same network (either TCP/IP or AppleTalk) the main machine will see the worker. Once this happens, the two will try and communicate. &lt;br /&gt;
&lt;br /&gt;
This occurs on Application launch if a Network serial number has already been entered or right after the Network SN is added. &lt;br /&gt;
&lt;br /&gt;
When the communication begins a blank error message will appear on the worker machine and one of two error messages will appear on the master under the Engines tab: Agent Malfunction or Incompatible Version.&lt;br /&gt;
&lt;br /&gt;
Be sure to set a computer name and owner in the File Sharing control panel. You don't actually have to turn on File Sharing nor Program Sharing though. ID uses the network name to say which host is connect to which slave. I also did all this without enabling TCP/IP within ID.&lt;br /&gt;
&lt;br /&gt;
This is the IBM PowerPC Instruction set manual I referenced to figure out what each instruction does:&lt;br /&gt;
https://www.ibm.com/docs/en/aix/7.2?topic=reference-instruction-set&lt;br /&gt;
&lt;br /&gt;
This is the Macintosh Toolbox Essentials manual I referenced for possible breakpoints in MacsBug:&lt;br /&gt;
https://mirror.informatimago.com/next/developer.apple.com/documentation/mac/Toolbox/Toolbox-227.html&lt;br /&gt;
&lt;br /&gt;
I'm going to use these two acronyms in this email:&lt;br /&gt;
ID - Infini-D&lt;br /&gt;
IDA - Interactive Disassembler (a reverse engineering program by HexRays)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are three steps to getting the network (or any) serial number:&lt;br /&gt;
&lt;br /&gt;
1 - Find the check algorithm&lt;br /&gt;
2 - Figure out what the algorithm does&lt;br /&gt;
3 - Write a keygen based on the algorithm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==1 - Find the check algorithm (debugging*.mp4)&lt;br /&gt;
&lt;br /&gt;
Every program is a series of CPU instructions. By using MacsBug (one of the few tools available at the time), it is possible to see the assembly-language CPU instructions as the program is running. By stepping through these instructions, we can peek under the hood of the application and see exactly how the computer's memory is being manipulated. Groups of instructions are called subroutines (&amp;quot;functions&amp;quot; in higher-level programming languages). If we can find the subroutine for the check algorithm, we can analyze its instructions and see the math behind the serial number validation.&lt;br /&gt;
&lt;br /&gt;
Figuring out where exactly the instructions are for the check algorithm is quite difficult. ID has over 14,000 subroutines, each having dozens or hundreds of instructions! Which one is the check algorithm? We can narrow it down by setting strategic breakpoints in MacsBug. In the videos, I'm setting a breakpoint (bp) on NewCWindow. This is the MacOS subroutine that ID calls to create the &amp;quot;Bad Serial Number&amp;quot; dialog box. I then step through the instructions until I get to the end of the NewCWindow routine (a blr instruction is the end of a routine). I'm now back in the assembly instructions for ID and I see the address is now 3E21F220. This should be the address of the instruction called immediately after NewCWindow. If I can go back through the instructions and subroutines, I'll eventually get to the routine that says, &amp;quot;This serial number is bad, show the alert (call NewCWindow); or, this serial number is good, add it to the list.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I now switch over to IDA. IDA is a modern tool that aids in reverse engineering. It disassembles the entire program at once. It's killer feature is the Graph View, which breaks routines up into blocks, showing where different locations will branch off into one another within the routine. In IDA, I go to the entry point of the subroutine calling NewCWindow and see what other subroutines call this one. There are two. I then set a breakpoint in MacsBug on the address of each subroutine to see which one breaks when I try and add the serial number. The first one doesn't break so I don't have to worry about it -- it must be used somewhere else in the program and have nothing to do with the serial number check. The second one does break! I then go to the top of that subroutine and repeat the process, seeing which routines are being called when I click the plus button in ID.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==2 - Figure out what the algorithm does (ida*.mp4, macsbug*.mp4)&lt;br /&gt;
&lt;br /&gt;
With a lot of trial and error and bit of luck, eventually I get to a routine that looks like it's doing a ton math and there's tons of branching. It's huge. I might even see the serial number I entered right there in plain sight in MacsBug in a register (the numbers down the left column in MacsBug). We've finally found something a check algorithm candidate, so we have to go through it instruction by instruction in both IDA and MacsBug to see the memory and see the disassembly. IDA also includes a decompiler, which creates C-like pseudocode based on the disassembly. This is getting close to the original source code, but nothing is meaningfully named, just var1, var2, etc. This window is very convenient since it's easy to add comments and is usually easier to digest than pages of assembly instructions. As we go through each instruction in both programs, we can start to give meaningful names to variables, name sub-routines, and add comments to the decompilation. Slowly the algorithm becomes clearer. As we follow along, we can see where the program will branch if a certain calculation means the serial number is good, or where the result of a calculation equates to a bad serial number. It might be making sure that the seventh character of the serial number is a 1 (if not, it immediately exits the subroutine and shows an alert), or it might be doing something more intensive like adding up all the digits, dividing by a particular number, and then checking to see if the remainder is zero (if not, it quickly exits again).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==3 - Write a keygen based on the algorithm (keygen*.mp4)&lt;br /&gt;
&lt;br /&gt;
Once we have figured out the algorithm, we simplify it (usually they're obfuscated to confuse/deter/slow/anger reverse engineers) and write it in our own software: a keygen. A keygen feeds random numbers through the algorithm, returning only numbers that satisfy all the checks. Since even the slowest computer can check tens of thousands of random numbers a second, we quickly find valid serial numbers. We can even narrow down the guessing if we know certain numbers have to be within a certain range -- we better make sure that the seventh character is always 1!&lt;br /&gt;
&lt;br /&gt;
And that's pretty much it. It's an incredibly difficult, complicated, and involved process. I hope I've done a decent job explaining it at a high level. If you have any questions or need me to film anything else, I'll be glad to help.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=642</id>
		<title>Retro render farm</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=642"/>
				<updated>2021-12-06T03:49:15Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you want to make your own Infini-D 4.5 render farm from old Macs? Congratulations. You’ve embarked on a journey of discovery that few have enjoyed. Once I was like you; completely unaware of the joys of networking old macs together to make bad computer generated images of checkerboard floors with floating raytraced spheres. Until a friendly internet stranger decided to bestow upon me the gift of the Infini-D 4.5 Network License Serial Number and the teachings of the Retro Render Farm. Now I am productive, creative, and especially more efficient; and I think you will be too. Are you ready?&lt;br /&gt;
&lt;br /&gt;
Below is some of the wisdom the internet stranger shared with me to get a Retro Render Farm started:&lt;br /&gt;
&lt;br /&gt;
You'll need at least TWO Mac OS 9 capable machines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main machine:&lt;br /&gt;
&lt;br /&gt;
- a full copy of Infini-D installed, with both an application serial number, and a network serial number supplied (both available at the link).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Worker machines:&lt;br /&gt;
&lt;br /&gt;
-On these machines you only need the engine and control panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QUIRK: you have to move &amp;quot;Infini-D 4.5 Engine&amp;quot; out of the &amp;quot;Network Rendering Software&amp;quot; folder and into the same folder as &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can move &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot; into the &amp;quot;Network Rendering Software&amp;quot; folder. &lt;br /&gt;
&lt;br /&gt;
If both computers are on the same network (either TCP/IP or AppleTalk) the main machine will see the worker. Once this happens, the two will try and communicate. &lt;br /&gt;
&lt;br /&gt;
This occurs on Application launch if a Network serial number has already been entered or right after the Network SN is added. &lt;br /&gt;
&lt;br /&gt;
When the communication begins a blank error message will appear on the worker machine and one of two error messages will appear on the master under the Engines tab: Agent Malfunction or Incompatible Version.&lt;br /&gt;
&lt;br /&gt;
Be sure to set a computer name and owner in the File Sharing control panel. You don't actually have to turn on File Sharing nor Program Sharing though. ID uses the network name to say which host is connect to which slave. I also did all this without enabling TCP/IP within ID.&lt;br /&gt;
&lt;br /&gt;
This is the IBM PowerPC Instruction set manual I referenced to figure out what each instruction does:&lt;br /&gt;
https://www.ibm.com/docs/en/aix/7.2?topic=reference-instruction-set&lt;br /&gt;
&lt;br /&gt;
This is the Macintosh Toolbox Essentials manual I referenced for possible breakpoints in MacsBug:&lt;br /&gt;
https://mirror.informatimago.com/next/developer.apple.com/documentation/mac/Toolbox/Toolbox-227.html&lt;br /&gt;
&lt;br /&gt;
I'm going to use these two acronyms in this email:&lt;br /&gt;
ID - Infini-D&lt;br /&gt;
IDA - Interactive Disassembler (a reverse engineering program by HexRays)&lt;br /&gt;
&lt;br /&gt;
=====&lt;br /&gt;
&lt;br /&gt;
There are three steps to getting the network (or any) serial number:&lt;br /&gt;
&lt;br /&gt;
1 - Find the check algorithm&lt;br /&gt;
2 - Figure out what the algorithm does&lt;br /&gt;
3 - Write a keygen based on the algorithm&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
1 - Find the check algorithm (debugging*.mp4)&lt;br /&gt;
===&lt;br /&gt;
Every program is a series of CPU instructions. By using MacsBug (one of the few tools available at the time), it is possible to see the assembly-language CPU instructions as the program is running. By stepping through these instructions, we can peek under the hood of the application and see exactly how the computer's memory is being manipulated. Groups of instructions are called subroutines (&amp;quot;functions&amp;quot; in higher-level programming languages). If we can find the subroutine for the check algorithm, we can analyze its instructions and see the math behind the serial number validation.&lt;br /&gt;
&lt;br /&gt;
Figuring out where exactly the instructions are for the check algorithm is quite difficult. ID has over 14,000 subroutines, each having dozens or hundreds of instructions! Which one is the check algorithm? We can narrow it down by setting strategic breakpoints in MacsBug. In the videos, I'm setting a breakpoint (bp) on NewCWindow. This is the MacOS subroutine that ID calls to create the &amp;quot;Bad Serial Number&amp;quot; dialog box. I then step through the instructions until I get to the end of the NewCWindow routine (a blr instruction is the end of a routine). I'm now back in the assembly instructions for ID and I see the address is now 3E21F220. This should be the address of the instruction called immediately after NewCWindow. If I can go back through the instructions and subroutines, I'll eventually get to the routine that says, &amp;quot;This serial number is bad, show the alert (call NewCWindow); or, this serial number is good, add it to the list.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I now switch over to IDA. IDA is a modern tool that aids in reverse engineering. It disassembles the entire program at once. It's killer feature is the Graph View, which breaks routines up into blocks, showing where different locations will branch off into one another within the routine. In IDA, I go to the entry point of the subroutine calling NewCWindow and see what other subroutines call this one. There are two. I then set a breakpoint in MacsBug on the address of each subroutine to see which one breaks when I try and add the serial number. The first one doesn't break so I don't have to worry about it -- it must be used somewhere else in the program and have nothing to do with the serial number check. The second one does break! I then go to the top of that subroutine and repeat the process, seeing which routines are being called when I click the plus button in ID.&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
2 - Figure out what the algorithm does (ida*.mp4, macsbug*.mp4)&lt;br /&gt;
===&lt;br /&gt;
With a lot of trial and error and bit of luck, eventually I get to a routine that looks like it's doing a ton math and there's tons of branching. It's huge. I might even see the serial number I entered right there in plain sight in MacsBug in a register (the numbers down the left column in MacsBug). We've finally found something a check algorithm candidate, so we have to go through it instruction by instruction in both IDA and MacsBug to see the memory and see the disassembly. IDA also includes a decompiler, which creates C-like pseudocode based on the disassembly. This is getting close to the original source code, but nothing is meaningfully named, just var1, var2, etc. This window is very convenient since it's easy to add comments and is usually easier to digest than pages of assembly instructions. As we go through each instruction in both programs, we can start to give meaningful names to variables, name sub-routines, and add comments to the decompilation. Slowly the algorithm becomes clearer. As we follow along, we can see where the program will branch if a certain calculation means the serial number is good, or where the result of a calculation equates to a bad serial number. It might be making sure that the seventh character of the serial number is a 1 (if not, it immediately exits the subroutine and shows an alert), or it might be doing something more intensive like adding up all the digits, dividing by a particular number, and then checking to see if the remainder is zero (if not, it quickly exits again).&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
3 - Write a keygen based on the algorithm (keygen*.mp4)&lt;br /&gt;
===&lt;br /&gt;
Once we have figured out the algorithm, we simplify it (usually they're obfuscated to confuse/deter/slow/anger reverse engineers) and write it in our own software: a keygen. A keygen feeds random numbers through the algorithm, returning only numbers that satisfy all the checks. Since even the slowest computer can check tens of thousands of random numbers a second, we quickly find valid serial numbers. We can even narrow down the guessing if we know certain numbers have to be within a certain range -- we better make sure that the seventh character is always 1!&lt;br /&gt;
&lt;br /&gt;
And that's pretty much it. It's an incredibly difficult, complicated, and involved process. I hope I've done a decent job explaining it at a high level. If you have any questions or need me to film anything else, I'll be glad to help.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=641</id>
		<title>Retro render farm</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=641"/>
				<updated>2021-12-06T03:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you want to make your own Infini-D 4.5 render farm from old Macs? Congratulations. You’ve embarked on a journey of discovery that few have enjoyed. Once I was like you; completely unaware of the joys of networking old macs together to make bad computer generated images of checkerboard floors with floating raytraced spheres. Until a friendly internet stranger decided to bestow upon me the gift of the Infini-D 4.5 Network License Serial Number and the teachings of the Retro Render Farm. Now I am productive, creative, and especially more efficient; and I think you will be too. Are you ready?&lt;br /&gt;
&lt;br /&gt;
Below is some of the wisdom the internet stranger shared with me to get a Retro Render Farm started:&lt;br /&gt;
&lt;br /&gt;
You'll need at least TWO Mac OS 9 capable machines.&lt;br /&gt;
&lt;br /&gt;
Main machine:&lt;br /&gt;
&lt;br /&gt;
- a full copy of Infini-D installed, with both an application serial number, and a network serial number supplied (both available at the link).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Worker machines:&lt;br /&gt;
&lt;br /&gt;
-On these machines you only need the engine and control panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QUIRK: you have to move &amp;quot;Infini-D 4.5 Engine&amp;quot; out of the &amp;quot;Network Rendering Software&amp;quot; folder and into the same folder as &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can move &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot; into the &amp;quot;Network Rendering Software&amp;quot; folder. &lt;br /&gt;
&lt;br /&gt;
If both computers are on the same network (either TCP/IP or AppleTalk) the main machine will see the worker. Once this happens, the two will try and communicate. &lt;br /&gt;
&lt;br /&gt;
This occurs on Application launch if a Network serial number has already been entered or right after the Network SN is added. &lt;br /&gt;
&lt;br /&gt;
When the communication begins a blank error message will appear on the worker machine and one of two error messages will appear on the master under the Engines tab: Agent Malfunction or Incompatible Version.&lt;br /&gt;
&lt;br /&gt;
Be sure to set a computer name and owner in the File Sharing control panel. You don't actually have to turn on File Sharing nor Program Sharing though. ID uses the network name to say which host is connect to which slave. I also did all this without enabling TCP/IP within ID.&lt;br /&gt;
&lt;br /&gt;
This is the IBM PowerPC Instruction set manual I referenced to figure out what each instruction does:&lt;br /&gt;
https://www.ibm.com/docs/en/aix/7.2?topic=reference-instruction-set&lt;br /&gt;
&lt;br /&gt;
This is the Macintosh Toolbox Essentials manual I referenced for possible breakpoints in MacsBug:&lt;br /&gt;
https://mirror.informatimago.com/next/developer.apple.com/documentation/mac/Toolbox/Toolbox-227.html&lt;br /&gt;
&lt;br /&gt;
I'm going to use these two acronyms in this email:&lt;br /&gt;
ID - Infini-D&lt;br /&gt;
IDA - Interactive Disassembler (a reverse engineering program by HexRays)&lt;br /&gt;
&lt;br /&gt;
=====&lt;br /&gt;
&lt;br /&gt;
There are three steps to getting the network (or any) serial number:&lt;br /&gt;
&lt;br /&gt;
1 - Find the check algorithm&lt;br /&gt;
2 - Figure out what the algorithm does&lt;br /&gt;
3 - Write a keygen based on the algorithm&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
1 - Find the check algorithm (debugging*.mp4)&lt;br /&gt;
===&lt;br /&gt;
Every program is a series of CPU instructions. By using MacsBug (one of the few tools available at the time), it is possible to see the assembly-language CPU instructions as the program is running. By stepping through these instructions, we can peek under the hood of the application and see exactly how the computer's memory is being manipulated. Groups of instructions are called subroutines (&amp;quot;functions&amp;quot; in higher-level programming languages). If we can find the subroutine for the check algorithm, we can analyze its instructions and see the math behind the serial number validation.&lt;br /&gt;
&lt;br /&gt;
Figuring out where exactly the instructions are for the check algorithm is quite difficult. ID has over 14,000 subroutines, each having dozens or hundreds of instructions! Which one is the check algorithm? We can narrow it down by setting strategic breakpoints in MacsBug. In the videos, I'm setting a breakpoint (bp) on NewCWindow. This is the MacOS subroutine that ID calls to create the &amp;quot;Bad Serial Number&amp;quot; dialog box. I then step through the instructions until I get to the end of the NewCWindow routine (a blr instruction is the end of a routine). I'm now back in the assembly instructions for ID and I see the address is now 3E21F220. This should be the address of the instruction called immediately after NewCWindow. If I can go back through the instructions and subroutines, I'll eventually get to the routine that says, &amp;quot;This serial number is bad, show the alert (call NewCWindow); or, this serial number is good, add it to the list.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I now switch over to IDA. IDA is a modern tool that aids in reverse engineering. It disassembles the entire program at once. It's killer feature is the Graph View, which breaks routines up into blocks, showing where different locations will branch off into one another within the routine. In IDA, I go to the entry point of the subroutine calling NewCWindow and see what other subroutines call this one. There are two. I then set a breakpoint in MacsBug on the address of each subroutine to see which one breaks when I try and add the serial number. The first one doesn't break so I don't have to worry about it -- it must be used somewhere else in the program and have nothing to do with the serial number check. The second one does break! I then go to the top of that subroutine and repeat the process, seeing which routines are being called when I click the plus button in ID.&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
2 - Figure out what the algorithm does (ida*.mp4, macsbug*.mp4)&lt;br /&gt;
===&lt;br /&gt;
With a lot of trial and error and bit of luck, eventually I get to a routine that looks like it's doing a ton math and there's tons of branching. It's huge. I might even see the serial number I entered right there in plain sight in MacsBug in a register (the numbers down the left column in MacsBug). We've finally found something a check algorithm candidate, so we have to go through it instruction by instruction in both IDA and MacsBug to see the memory and see the disassembly. IDA also includes a decompiler, which creates C-like pseudocode based on the disassembly. This is getting close to the original source code, but nothing is meaningfully named, just var1, var2, etc. This window is very convenient since it's easy to add comments and is usually easier to digest than pages of assembly instructions. As we go through each instruction in both programs, we can start to give meaningful names to variables, name sub-routines, and add comments to the decompilation. Slowly the algorithm becomes clearer. As we follow along, we can see where the program will branch if a certain calculation means the serial number is good, or where the result of a calculation equates to a bad serial number. It might be making sure that the seventh character of the serial number is a 1 (if not, it immediately exits the subroutine and shows an alert), or it might be doing something more intensive like adding up all the digits, dividing by a particular number, and then checking to see if the remainder is zero (if not, it quickly exits again).&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
3 - Write a keygen based on the algorithm (keygen*.mp4)&lt;br /&gt;
===&lt;br /&gt;
Once we have figured out the algorithm, we simplify it (usually they're obfuscated to confuse/deter/slow/anger reverse engineers) and write it in our own software: a keygen. A keygen feeds random numbers through the algorithm, returning only numbers that satisfy all the checks. Since even the slowest computer can check tens of thousands of random numbers a second, we quickly find valid serial numbers. We can even narrow down the guessing if we know certain numbers have to be within a certain range -- we better make sure that the seventh character is always 1!&lt;br /&gt;
&lt;br /&gt;
And that's pretty much it. It's an incredibly difficult, complicated, and involved process. I hope I've done a decent job explaining it at a high level. If you have any questions or need me to film anything else, I'll be glad to help.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=640</id>
		<title>Retro render farm</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=640"/>
				<updated>2021-12-06T03:33:11Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you want to make your own Infini-D 4.5 render farm from old Macs? Congratulations. You’ve embarked on a journey of discovery that few have enjoyed. Once I was like you; completely unaware of the joys of networking old macs together to make bad computer generated images of checkerboard floors with floating raytraced spheres. Until a friendly internet stranger decided to bestow upon me the gift of the Infini-D 4.5 Network License Serial Number and the teachings of the Retro Render Farm. Now I am productive, creative, and especially more efficient; and I think you will be too. Are you ready?&lt;br /&gt;
&lt;br /&gt;
Below is some of the wisdom the internet stranger shared with me to get a Retro Render Farm started:&lt;br /&gt;
&lt;br /&gt;
You'll need at least TWO Mac OS 9 capable machines. I would also probably work for &lt;br /&gt;
&lt;br /&gt;
Main machine:&lt;br /&gt;
&lt;br /&gt;
- a full copy of Infini-D installed, with both an application serial number, and a network serial number supplied (both available at the link).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Worker machines:&lt;br /&gt;
&lt;br /&gt;
-On these machines you only need the engine and control panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QUIRK: you have to move &amp;quot;Infini-D 4.5 Engine&amp;quot; out of the &amp;quot;Network Rendering Software&amp;quot; folder and into the same folder as &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can move &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot; into the &amp;quot;Network Rendering Software&amp;quot; folder. &lt;br /&gt;
&lt;br /&gt;
If both computers are on the same network (either TCP/IP or AppleTalk) the main machine will see the worker. Once this happens, the two will try and communicate. &lt;br /&gt;
&lt;br /&gt;
This occurs on Application launch if a Network serial number has already been entered or right after the Network SN is added. &lt;br /&gt;
&lt;br /&gt;
When the communication begins a blank error message will appear on the worker machine and one of two error messages will appear on the master under the Engines tab: Agent Malfunction or Incompatible Version.&lt;br /&gt;
&lt;br /&gt;
Be sure to set a computer name and owner in the File Sharing control panel. You don't actually have to turn on File Sharing nor Program Sharing though. ID uses the network name to say which host is connect to which slave. I also did all this without enabling TCP/IP within ID.&lt;br /&gt;
&lt;br /&gt;
This is the IBM PowerPC Instruction set manual I referenced to figure out what each instruction does:&lt;br /&gt;
https://www.ibm.com/docs/en/aix/7.2?topic=reference-instruction-set&lt;br /&gt;
&lt;br /&gt;
This is the Macintosh Toolbox Essentials manual I referenced for possible breakpoints in MacsBug:&lt;br /&gt;
https://mirror.informatimago.com/next/developer.apple.com/documentation/mac/Toolbox/Toolbox-227.html&lt;br /&gt;
&lt;br /&gt;
I'm going to use these two acronyms in this email:&lt;br /&gt;
ID - Infini-D&lt;br /&gt;
IDA - Interactive Disassembler (a reverse engineering program by HexRays)&lt;br /&gt;
&lt;br /&gt;
=====&lt;br /&gt;
&lt;br /&gt;
There are three steps to getting the network (or any) serial number:&lt;br /&gt;
&lt;br /&gt;
1 - Find the check algorithm&lt;br /&gt;
2 - Figure out what the algorithm does&lt;br /&gt;
3 - Write a keygen based on the algorithm&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
1 - Find the check algorithm (debugging*.mp4)&lt;br /&gt;
===&lt;br /&gt;
Every program is a series of CPU instructions. By using MacsBug (one of the few tools available at the time), it is possible to see the assembly-language CPU instructions as the program is running. By stepping through these instructions, we can peek under the hood of the application and see exactly how the computer's memory is being manipulated. Groups of instructions are called subroutines (&amp;quot;functions&amp;quot; in higher-level programming languages). If we can find the subroutine for the check algorithm, we can analyze its instructions and see the math behind the serial number validation.&lt;br /&gt;
&lt;br /&gt;
Figuring out where exactly the instructions are for the check algorithm is quite difficult. ID has over 14,000 subroutines, each having dozens or hundreds of instructions! Which one is the check algorithm? We can narrow it down by setting strategic breakpoints in MacsBug. In the videos, I'm setting a breakpoint (bp) on NewCWindow. This is the MacOS subroutine that ID calls to create the &amp;quot;Bad Serial Number&amp;quot; dialog box. I then step through the instructions until I get to the end of the NewCWindow routine (a blr instruction is the end of a routine). I'm now back in the assembly instructions for ID and I see the address is now 3E21F220. This should be the address of the instruction called immediately after NewCWindow. If I can go back through the instructions and subroutines, I'll eventually get to the routine that says, &amp;quot;This serial number is bad, show the alert (call NewCWindow); or, this serial number is good, add it to the list.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I now switch over to IDA. IDA is a modern tool that aids in reverse engineering. It disassembles the entire program at once. It's killer feature is the Graph View, which breaks routines up into blocks, showing where different locations will branch off into one another within the routine. In IDA, I go to the entry point of the subroutine calling NewCWindow and see what other subroutines call this one. There are two. I then set a breakpoint in MacsBug on the address of each subroutine to see which one breaks when I try and add the serial number. The first one doesn't break so I don't have to worry about it -- it must be used somewhere else in the program and have nothing to do with the serial number check. The second one does break! I then go to the top of that subroutine and repeat the process, seeing which routines are being called when I click the plus button in ID.&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
2 - Figure out what the algorithm does (ida*.mp4, macsbug*.mp4)&lt;br /&gt;
===&lt;br /&gt;
With a lot of trial and error and bit of luck, eventually I get to a routine that looks like it's doing a ton math and there's tons of branching. It's huge. I might even see the serial number I entered right there in plain sight in MacsBug in a register (the numbers down the left column in MacsBug). We've finally found something a check algorithm candidate, so we have to go through it instruction by instruction in both IDA and MacsBug to see the memory and see the disassembly. IDA also includes a decompiler, which creates C-like pseudocode based on the disassembly. This is getting close to the original source code, but nothing is meaningfully named, just var1, var2, etc. This window is very convenient since it's easy to add comments and is usually easier to digest than pages of assembly instructions. As we go through each instruction in both programs, we can start to give meaningful names to variables, name sub-routines, and add comments to the decompilation. Slowly the algorithm becomes clearer. As we follow along, we can see where the program will branch if a certain calculation means the serial number is good, or where the result of a calculation equates to a bad serial number. It might be making sure that the seventh character of the serial number is a 1 (if not, it immediately exits the subroutine and shows an alert), or it might be doing something more intensive like adding up all the digits, dividing by a particular number, and then checking to see if the remainder is zero (if not, it quickly exits again).&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
3 - Write a keygen based on the algorithm (keygen*.mp4)&lt;br /&gt;
===&lt;br /&gt;
Once we have figured out the algorithm, we simplify it (usually they're obfuscated to confuse/deter/slow/anger reverse engineers) and write it in our own software: a keygen. A keygen feeds random numbers through the algorithm, returning only numbers that satisfy all the checks. Since even the slowest computer can check tens of thousands of random numbers a second, we quickly find valid serial numbers. We can even narrow down the guessing if we know certain numbers have to be within a certain range -- we better make sure that the seventh character is always 1!&lt;br /&gt;
&lt;br /&gt;
And that's pretty much it. It's an incredibly difficult, complicated, and involved process. I hope I've done a decent job explaining it at a high level. If you have any questions or need me to film anything else, I'll be glad to help.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=639</id>
		<title>Retro render farm</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Retro_render_farm&amp;diff=639"/>
				<updated>2021-12-06T03:24:36Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: Created page with &amp;quot;So you want to make your own Infini-D 4.5 render farm from old Macs? Congratulations. You’ve embarked on a journey of discovery that few have enjoyed. Once I was like you; c...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you want to make your own Infini-D 4.5 render farm from old Macs? Congratulations. You’ve embarked on a journey of discovery that few have enjoyed. Once I was like you; completely unaware of the joys of networking old macs together to make bad computer generated images of checkerboard floors with floating raytraced spheres. Until a friendly internet stranger decided to bestow upon me the gift of the Infini-D 4.5 Network License Serial Number and the teachings of the Retro Render Farm. Now I am productive, creative, and especially more efficient; and I think you will be too. Are you ready?&lt;br /&gt;
&lt;br /&gt;
Below is some of the wisdom the internet stranger shared with me to get a Retro Render Farm started:&lt;br /&gt;
&lt;br /&gt;
You'll need at least TWO Mac OS 9 capable machines. I would also probably work for &lt;br /&gt;
&lt;br /&gt;
Main machine:&lt;br /&gt;
- a full copy of Infini-D installed, with both an application serial number, and a network serial number supplied (both available at the link).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Worker machines:&lt;br /&gt;
-On these machines you only need the engine and control panel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QUIRK: you have to move &amp;quot;Infini-D 4.5 Engine&amp;quot; out of the &amp;quot;Network Rendering Software&amp;quot; folder and into the same folder as &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
Alternatively, you can move &amp;quot;Infini-D 4.5 Resources.rsr&amp;quot; into the &amp;quot;Network Rendering Software&amp;quot; folder. &lt;br /&gt;
&lt;br /&gt;
If both computers are on the same network (either TCP/IP or AppleTalk) the main machine will see the worker. Once this happens, the two will try and communicate. &lt;br /&gt;
&lt;br /&gt;
This occurs on Application launch if a Network serial number has already been entered or right after the Network SN is added. &lt;br /&gt;
&lt;br /&gt;
When the communication begins a blank error message will appear on the worker machine and one of two error messages will appear on the master under the Engines tab: Agent Malfunction or Incompatible Version.&lt;br /&gt;
&lt;br /&gt;
Be sure to set a computer name and owner in the File Sharing control panel. You don't actually have to turn on File Sharing nor Program Sharing though. ID uses the network name to say which host is connect to which slave. I also did all this without enabling TCP/IP within ID.&lt;br /&gt;
&lt;br /&gt;
This is the IBM PowerPC Instruction set manual I referenced to figure out what each instruction does:&lt;br /&gt;
https://www.ibm.com/docs/en/aix/7.2?topic=reference-instruction-set&lt;br /&gt;
&lt;br /&gt;
This is the Macintosh Toolbox Essentials manual I referenced for possible breakpoints in MacsBug:&lt;br /&gt;
https://mirror.informatimago.com/next/developer.apple.com/documentation/mac/Toolbox/Toolbox-227.html&lt;br /&gt;
&lt;br /&gt;
I'm going to use these two acronyms in this email:&lt;br /&gt;
ID - Infini-D&lt;br /&gt;
IDA - Interactive Disassembler (a reverse engineering program by HexRays)&lt;br /&gt;
&lt;br /&gt;
=====&lt;br /&gt;
&lt;br /&gt;
There are three steps to getting the network (or any) serial number:&lt;br /&gt;
&lt;br /&gt;
1 - Find the check algorithm&lt;br /&gt;
2 - Figure out what the algorithm does&lt;br /&gt;
3 - Write a keygen based on the algorithm&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
1 - Find the check algorithm (debugging*.mp4)&lt;br /&gt;
===&lt;br /&gt;
Every program is a series of CPU instructions. By using MacsBug (one of the few tools available at the time), it is possible to see the assembly-language CPU instructions as the program is running. By stepping through these instructions, we can peek under the hood of the application and see exactly how the computer's memory is being manipulated. Groups of instructions are called subroutines (&amp;quot;functions&amp;quot; in higher-level programming languages). If we can find the subroutine for the check algorithm, we can analyze its instructions and see the math behind the serial number validation.&lt;br /&gt;
&lt;br /&gt;
Figuring out where exactly the instructions are for the check algorithm is quite difficult. ID has over 14,000 subroutines, each having dozens or hundreds of instructions! Which one is the check algorithm? We can narrow it down by setting strategic breakpoints in MacsBug. In the videos, I'm setting a breakpoint (bp) on NewCWindow. This is the MacOS subroutine that ID calls to create the &amp;quot;Bad Serial Number&amp;quot; dialog box. I then step through the instructions until I get to the end of the NewCWindow routine (a blr instruction is the end of a routine). I'm now back in the assembly instructions for ID and I see the address is now 3E21F220. This should be the address of the instruction called immediately after NewCWindow. If I can go back through the instructions and subroutines, I'll eventually get to the routine that says, &amp;quot;This serial number is bad, show the alert (call NewCWindow); or, this serial number is good, add it to the list.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I now switch over to IDA. IDA is a modern tool that aids in reverse engineering. It disassembles the entire program at once. It's killer feature is the Graph View, which breaks routines up into blocks, showing where different locations will branch off into one another within the routine. In IDA, I go to the entry point of the subroutine calling NewCWindow and see what other subroutines call this one. There are two. I then set a breakpoint in MacsBug on the address of each subroutine to see which one breaks when I try and add the serial number. The first one doesn't break so I don't have to worry about it -- it must be used somewhere else in the program and have nothing to do with the serial number check. The second one does break! I then go to the top of that subroutine and repeat the process, seeing which routines are being called when I click the plus button in ID.&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
2 - Figure out what the algorithm does (ida*.mp4, macsbug*.mp4)&lt;br /&gt;
===&lt;br /&gt;
With a lot of trial and error and bit of luck, eventually I get to a routine that looks like it's doing a ton math and there's tons of branching. It's huge. I might even see the serial number I entered right there in plain sight in MacsBug in a register (the numbers down the left column in MacsBug). We've finally found something a check algorithm candidate, so we have to go through it instruction by instruction in both IDA and MacsBug to see the memory and see the disassembly. IDA also includes a decompiler, which creates C-like pseudocode based on the disassembly. This is getting close to the original source code, but nothing is meaningfully named, just var1, var2, etc. This window is very convenient since it's easy to add comments and is usually easier to digest than pages of assembly instructions. As we go through each instruction in both programs, we can start to give meaningful names to variables, name sub-routines, and add comments to the decompilation. Slowly the algorithm becomes clearer. As we follow along, we can see where the program will branch if a certain calculation means the serial number is good, or where the result of a calculation equates to a bad serial number. It might be making sure that the seventh character of the serial number is a 1 (if not, it immediately exits the subroutine and shows an alert), or it might be doing something more intensive like adding up all the digits, dividing by a particular number, and then checking to see if the remainder is zero (if not, it quickly exits again).&lt;br /&gt;
&lt;br /&gt;
===&lt;br /&gt;
3 - Write a keygen based on the algorithm (keygen*.mp4)&lt;br /&gt;
===&lt;br /&gt;
Once we have figured out the algorithm, we simplify it (usually they're obfuscated to confuse/deter/slow/anger reverse engineers) and write it in our own software: a keygen. A keygen feeds random numbers through the algorithm, returning only numbers that satisfy all the checks. Since even the slowest computer can check tens of thousands of random numbers a second, we quickly find valid serial numbers. We can even narrow down the guessing if we know certain numbers have to be within a certain range -- we better make sure that the seventh character is always 1!&lt;br /&gt;
&lt;br /&gt;
And that's pretty much it. It's an incredibly difficult, complicated, and involved process. I hope I've done a decent job explaining it at a high level. If you have any questions or need me to film anything else, I'll be glad to help.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=638</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=638"/>
				<updated>2021-11-20T05:05:49Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now mostly complete. I'm working to refine the software for the final prototype.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Refine software&lt;br /&gt;
-Make plans for the next prototype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
This final prototype will be used to finalize the means of assembly. It will likely be the last Picorder of this series.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs are being produced for this project, they are designed in KiCad and will be available to the public when finished.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
&lt;br /&gt;
The TR-109 is designed to use a:&lt;br /&gt;
&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
;[https://www.banana-pi.org/m2z.html BPI-M2 Zero]&lt;br /&gt;
: The quad core Banana Pi M2 Zero is a great candidate for this project, offering multiple cores and more ram. But the practicality of using a BPI has proven a problem. The BPI uses a custom Raspbian distro that needs seperate GPIO modules and has different setup requirements.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ BME680 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=637</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=637"/>
				<updated>2021-10-10T20:20:16Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: /* Sensors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now mostly complete. I'm working to refine the software for the final prototype.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Refine software&lt;br /&gt;
-Make plans for the next prototype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
This final prototype will be used to finalize the means of assembly. It will likely be the last Picorder of this series.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs are being produced for this project, they are designed in KiCad and will be available to the public when finished.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
&lt;br /&gt;
The TR-109 is designed to use a:&lt;br /&gt;
&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
;[https://www.banana-pi.org/m2z.html BPI-M2 Zero]&lt;br /&gt;
: The quad core Banana Pi M2 Zero is a great candidate for this project, offering multiple cores and more ram. But the practicality of using a BPI has proven a problem. The BPI uses a custom Raspbian distro that needs seperate GPIO modules and has different setup requirements.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ BME680 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=636</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=636"/>
				<updated>2021-10-01T16:23:07Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: /* CPU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now mostly complete. I'm working to refine the software for the final prototype.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Refine software&lt;br /&gt;
-Make plans for the next prototype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
This final prototype will be used to finalize the means of assembly. It will likely be the last Picorder of this series.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs are being produced for this project, they are designed in KiCad and will be available to the public when finished.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
&lt;br /&gt;
The TR-109 is designed to use a:&lt;br /&gt;
&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
;[https://www.banana-pi.org/m2z.html BPI-M2 Zero]&lt;br /&gt;
: The quad core Banana Pi M2 Zero is a great candidate for this project, offering multiple cores and more ram. But the practicality of using a BPI has proven a problem. The BPI uses a custom Raspbian distro that needs seperate GPIO modules and has different setup requirements.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ Bm860 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=635</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=635"/>
				<updated>2021-10-01T16:22:46Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: /* CPU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now mostly complete. I'm working to refine the software for the final prototype.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Refine software&lt;br /&gt;
-Make plans for the next prototype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
This final prototype will be used to finalize the means of assembly. It will likely be the last Picorder of this series.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs are being produced for this project, they are designed in KiCad and will be available to the public when finished.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
&lt;br /&gt;
The TR-109 is designed to use a:&lt;br /&gt;
&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
;[https://www.banana-pi.org/m2z.html Raspberry Pi Zero W]&lt;br /&gt;
: The quad core Banana Pi M2 Zero is a great candidate for this project, offering multiple cores and more ram. But the practicality of using a BPI has proven a problem. The BPI uses a custom Raspbian distro that needs seperate GPIO modules and has different setup requirements.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ Bm860 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=634</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=634"/>
				<updated>2021-09-29T16:32:45Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now mostly complete. I'm working to refine the software for the final prototype.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Refine software&lt;br /&gt;
-Make plans for the next prototype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
This final prototype will be used to finalize the means of assembly. It will likely be the last Picorder of this series.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs are being produced for this project, they are designed in KiCad and will be available to the public when finished.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Rev3 sensor board 2021 05 23.jpg | Revision 3 sensor board with full LED and sensor compliment installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: I have found a really [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ Bm860 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=File:Rev3_sensor_board_2021_05_23.jpg&amp;diff=633</id>
		<title>File:Rev3 sensor board 2021 05 23.jpg</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=File:Rev3_sensor_board_2021_05_23.jpg&amp;diff=633"/>
				<updated>2021-09-29T15:47:24Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: Unit 01 displaying the Rev 3 sensor board.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unit 01 displaying the Rev 3 sensor board.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=632</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=632"/>
				<updated>2021-09-29T15:36:25Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 20210929.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (right)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now mostly complete. I'm working to refine the software for the final prototype.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Refine software&lt;br /&gt;
-Make plans for the next prototype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01-210929.jpg| This &amp;quot;production&amp;quot; prototype is being 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
This final prototype will be used to finalize the means of assembly. It will likely be the last Picorder of this series.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs are being produced for this project, they are designed in KiCad and will be available to the public when finished.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev3mainboard - 2021 05 23.jpg | Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: 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 [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ Bm860 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the rev 2 mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
File: Prototype 20210331.jpg | Unit 01 front panel in early development (March 2021)&lt;br /&gt;
File:Unit00 and unit01 202103031.jpg | Unit 00 and Unit 01 in early development (March 2021)&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=File:Rev3mainboard_-_2021_05_23.jpg&amp;diff=631</id>
		<title>File:Rev3mainboard - 2021 05 23.jpg</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=File:Rev3mainboard_-_2021_05_23.jpg&amp;diff=631"/>
				<updated>2021-09-29T15:34:19Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unit 01 with Rev 3 mainboard exposed and peripheral boards.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=File:Unit01-210929.jpg&amp;diff=630</id>
		<title>File:Unit01-210929.jpg</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=File:Unit01-210929.jpg&amp;diff=630"/>
				<updated>2021-09-29T15:29:04Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: Unit 01 mostly complete.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unit 01 mostly complete.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=File:Unit00_and_unit01_20210929.jpg&amp;diff=629</id>
		<title>File:Unit00 and unit01 20210929.jpg</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=File:Unit00_and_unit01_20210929.jpg&amp;diff=629"/>
				<updated>2021-09-29T15:22:52Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: Both prototypes in operation next to each other. Unit 00 is being driven by a banana pi as a test frame for possible replacement of the Rpi Zero W. Unit 01 is shown as a complete unit.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Both prototypes in operation next to each other. Unit 00 is being driven by a banana pi as a test frame for possible replacement of the Rpi Zero W. Unit 01 is shown as a complete unit.&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	<entry>
		<id>https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=628</id>
		<title>Picorder 2</title>
		<link rel="alternate" type="text/html" href="https://squaredwave.com/wiki/index.php?title=Picorder_2&amp;diff=628"/>
				<updated>2021-08-27T05:45:26Z</updated>
		
		<summary type="html">&lt;p&gt;Directive0: /* Basic Parts List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Unit00 and unit01 202103031.jpg|thumb|The current prototype test rigs Unit 00 (left) and Unit 01 (rig)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 [https://en.wikipedia.org/wiki/Tricorder Tricorder].&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#008000&amp;quot;&amp;gt;Latest update:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prototype 01 is now mostly complete. I'm working to refine the software for the final prototype.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;To Do:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-Refine software&lt;br /&gt;
-Make plans for the next prototype&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software==&lt;br /&gt;
&lt;br /&gt;
Picorder 2 uses [[PicorderOS]] a python library that unifies a number of different modules under a custom user interface.&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
===Downloads===&lt;br /&gt;
All of the TR-109's build files are freely available and hosted at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
===Basic Parts List===&lt;br /&gt;
While more info can be found below, a basic list of all the off the shelf (not including PCB components) parts is:&lt;br /&gt;
* [https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W] or drop-in-compatible SBC&lt;br /&gt;
* [https://www.aliexpress.com/item/32895086244.html?spm=a2g0s.9042311.0.0.2cba4c4dZwNOxr St7735 Screen]&lt;br /&gt;
* [https://www.adafruit.com/product/3885 Stemma Speaker Module]&lt;br /&gt;
* [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Tiny Ups 3.0] or [https://www.aliexpress.com/item/1005001315194333.html comparable DC-DC boost module].&lt;br /&gt;
* [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]&lt;br /&gt;
&lt;br /&gt;
===Prototype Units===&lt;br /&gt;
====Unit 00====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20201017.jpg| An initial &amp;quot;proof of concept&amp;quot; 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 &amp;quot;complete&amp;quot;.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 01====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File: Prototype 20210331.jpg| This &amp;quot;production&amp;quot; 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.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unit 02====&lt;br /&gt;
This final prototype will be used to finalize the means of assembly. It will likely be the last Picorder of this series.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===PCBs===&lt;br /&gt;
Custom PCBs are being produced for this project, they are designed in KiCad and will be available to the public when finished.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MainBoard====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File:Rev1mainboard-inproduction20210331.jpg |The revision 2 mainboard with integrated capacitive touch, shift register LED driver and on board single transistor audio amplifier.&lt;br /&gt;
&lt;br /&gt;
File:Unit01-assembly 20210331.jpg |The prototype chassis holds the mainboard which connects to the display, supports the interface elements, hall effect sensors, and main indicator LEDs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====SensorBoard====&lt;br /&gt;
The Sensor Board hosts all the control electronics for LED indicators (forward facing) as well as any sensors that the device will address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=400px&amp;gt;&lt;br /&gt;
File:Unit01 sensorboard 20210331.jpg | Revision 2 sensor board with full LED compliment installed. Bodge wires are visible on the hc595 shift register (missing pull up/down pin pads). No sensors have been tested on this board yet.&lt;br /&gt;
&lt;br /&gt;
File:Rev2sensorboard20210331.jpg| Revision 2 sensor board backside&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CPU===&lt;br /&gt;
;[https://www.raspberrypi.org/products/raspberry-pi-zero-w/ Raspberry Pi Zero W]&lt;br /&gt;
: 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 [https://www.jeffgeerling.com/blogs/jeff-geerling/raspberry-pi-zero-conserve-energy good article] on some ways to reduce power consumption.&lt;br /&gt;
&lt;br /&gt;
===Sensors===&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
;[https://www.bosch-sensortec.com/products/environmental-sensors/gas-sensors/bme680/ Bm860 VOC, Temp, Humidity, Pressure sensor]&lt;br /&gt;
: 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 [https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas/python-circuitpython 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 &amp;quot;base model&amp;quot; sensor for this project. I will direct most of my efforts to make the best experience when using this sensor.&lt;br /&gt;
&lt;br /&gt;
;[https://www.adafruit.com/product/3538 AMG8833 IR Thermal Camera]&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
;[https://learn.adafruit.com/using-melexis-mlx90614-non-contact-sensors/wiring-and-test MLX90614 Non Contact Thermometer]&lt;br /&gt;
: A cheap and accessible non contact thermometer. This sensor provides accurate specific temperature readings at range. I've managed to find Adafruits own [https://github.com/adafruit/Adafruit_CircuitPython_MLX90614 circuitpython implementation] and  [https://github.com/CRImier/python-MLX90614/blob/master/mlx90614.py this page] looks fruitful too.&lt;br /&gt;
&lt;br /&gt;
====Other Options====&lt;br /&gt;
Other possible sensor options include&lt;br /&gt;
&lt;br /&gt;
;[https://www.mouser.ca/datasheet/2/18/1143_Datasheet-MiCS-6814-rev-8-1144828.pdf MiCS6814]&lt;br /&gt;
: I was turned onto the idea of an 8 gas sensor by the [https://magazine.odroid.com/article/the-odroid-go-tricorder-project/ 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 [https://blog.enbewe.de/posts/2018-05-19-improving-a-gas-sensor/ 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.&lt;br /&gt;
&lt;br /&gt;
;An EMF sensor of some kind.&lt;br /&gt;
: Probably a resistor on an ADC to give me basic environmental electrical readings. I found [https://hackaday.com/2016/11/07/diy-i2c-devices-with-attiny85/ this site] that shows you how you can use at AT tiny as an i2c device, which I could use with [https://www.instructables.com/id/Attiny85-EMF-detector/ this guide] to make a small EMF detector to read low frequency interference. Another option [https://www.reddit.com/r/MyCorder/comments/mhzhxb/been_working_on_my_next_picorder_protoype/gvkcq91?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3 suggested to me by reddit user 2CNK] is to use an [https://store.lom.audio/products/elektrosluch-3?variant=4542168268832 Elektrosluch] like device to convert ambient EMI into some kind of data. I found a [https://makezine.com/projects/weekend-project-sample-weird-sounds-electromagnetic-fields/ circuit example] that might prove useful.&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
&lt;br /&gt;
Audio is provided by a [https://www.adafruit.com/product/3885 Stemma Speaker Module] for now, but I hope to have audio integrated into the mainboard.&lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
The TR-109 is designed to use a custom made 3D printed enclosure. The STLs are available at the [https://github.com/directive0/TR-109 Git repo].&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:Rev1b.png|200px]]&lt;br /&gt;
|[[File:Picorder2 3d plan.png|500px]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====General Design====&lt;br /&gt;
&amp;lt;gallery widths=500px heights=300px&amp;gt;&lt;br /&gt;
File:Tr109prototype00and01-jan192021.jpg|New shell (right) will be used for Prototype Unit 01.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recently I redesigned the shell on the Picorder to use a more accurate style of enclosure&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Custom printed stickers are used for the labeled button areas.&lt;br /&gt;
&lt;br /&gt;
===Input===&lt;br /&gt;
&lt;br /&gt;
;[https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208 Capacitive Touch Sensor IC]&lt;br /&gt;
: Originally I was going to use the [https://www.adafruit.com/product/1982 MPR121], I found a [https://learn.adafruit.com/adafruit-mpr121-12-key-capacitive-touch-sensor-breakout-tutorial/python-circuitpython 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 [https://github.com/pimoroni/explorer-hat/blob/master/documentation/Technical-reference.md documentation] for a pimoroni product; the [https://www.microchip.com/wwwproducts/en/CAP1208 CAP1208].&lt;br /&gt;
: 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.&lt;br /&gt;
&lt;br /&gt;
===Display===&lt;br /&gt;
&lt;br /&gt;
[[File:TFT ST7735.png|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/358 Generic ST7735 LCD Display]&lt;br /&gt;
: I've been using screens with of this type with the [https://pypi.org/project/luma.lcd/ Luma.lcd python module]. I bet you could also use [https://github.com/notro/fbtft/wiki#install 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 [https://luma-lcd.readthedocs.io/en/latest/install.html#st7735 pin chart] in the Luma docs that helped.&lt;br /&gt;
&lt;br /&gt;
: I found [https://www.aliexpress.com/item/32895086244.html this] was a decent source for these screens.&lt;br /&gt;
&lt;br /&gt;
I had considered the idea of also supporting a low cost screen, but the availability is poor.:&lt;br /&gt;
&lt;br /&gt;
[[File:5110 3310 monochrome LCD.jpg|200px]]&lt;br /&gt;
;[https://www.adafruit.com/product/338 Nokia 5110 LCD screen]&lt;br /&gt;
: 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 [https://www.electronicwings.com/raspberry-pi/nokia5110-display-interfacing-with-raspberry-pi this guide] to have some important information, but the wiring information seemed incorrect. [https://web.archive.org/web/20171009190755/https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi This guide] lays out how to connect the screen properly..&lt;br /&gt;
&lt;br /&gt;
===LEDS===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Power===&lt;br /&gt;
Umbilical power as supplied by the Raspberry Pi Zero W's onboard USB port.&lt;br /&gt;
&lt;br /&gt;
Portable power is stored by a [https://www.pishop.ca/product/lithium-ion-polymer-battery-3-7v-1000mah/ 1000 mAh Lithium Ion Polymer Battery]. Power can then regulated by an [https://www.tindie.com/products/pkawas/tiny-ups-30-tiny-sized-ups-for-usb-devices/ Alchemy Power Tiny-UPS]. As an alternative I recommend something like a [https://www.aliexpress.com/item/1005001315194333.html J5019 DC-DC Boost Module].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Video Updates====&lt;br /&gt;
I've been releasing update videos to catalogue my progess.&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/S3Ucf63uZ6A&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#evt:&lt;br /&gt;
service=youtube&lt;br /&gt;
|id=https://youtu.be/9Y9hRy4ev4Q&lt;br /&gt;
|container=frame|alignment=inline&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Gallery==&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
File: 201201-sensorboard-bs.png |KiCad render of the backside of the revision 2 sensor board PCB design showing off its beautiful livery&lt;br /&gt;
File:201201-sensorboard-fs.png |KiCad render of the frontside of the revision 2 sensor board PCB, showing off it's single side of SMD components.&lt;br /&gt;
File:Mainboard 20200811.jpg |The Picorder 2 revision 1 main board prototype showing off some new modifications that will be part of revision 2.&lt;br /&gt;
File: 201202-mainboard-fs.png|The frontside of the Rev 2 main board PCB design showing off its beautiful livery&lt;br /&gt;
File:Prototype 20200817.jpg|The Picorder 2 prototype, August 2020&lt;br /&gt;
File:Picorder2 mainboardtest mar2020.jpg|The Picorder 2 prototype, March 2020&lt;br /&gt;
File:Picorder2 testrig mar2020.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2proto mar2020 chassisandpcbs.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:P2 mar2020 proto.jpg|The Picorder 2 test platform, March 2020&lt;br /&gt;
File:Picorder backplanes ready to ship.jpg| On March 4th 2020 I received word the first prototype boards were being shipped out.&lt;br /&gt;
File:Picorder2feb7th1.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2feb7th2.jpg|The Picorder 2 test platform, February 2020&lt;br /&gt;
File:Picorder2 3d plan.png|General 3d printed plan&lt;br /&gt;
File:Picorder2 20191103.jpg|The Picorder 2 test platform, Nov 2019&lt;br /&gt;
File:Picorder2B 20191103.jpg|Older prototype&lt;br /&gt;
File:p21.jpg|Major components being tested |alt=alt language&lt;br /&gt;
File:p22.jpg|Example thermal cam output|alt=alt language&lt;br /&gt;
File:Picorderdotmatrix1.jpg| Actual Dot Matrix UI Being Tested&lt;br /&gt;
File:Picorder2protolayoutbreadboard.jpg| Picorder 2 Laid Out on Breadboard&lt;br /&gt;
File:Picorderlayout2 displays.jpg| Picorder 2 laid out on breadboard with dual displays.&lt;br /&gt;
File:PicorderOS lcars mockup.png| PicorderOS LCARS mockup&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Media Coverage==&lt;br /&gt;
I'm delighted that my project has been noticed by some online publications&lt;br /&gt;
&lt;br /&gt;
* https://www.tomshardware.com/news/raspberry-pi-zero-tricorder-next-generation&lt;br /&gt;
: Raspberry Pi Tricorder: The Next Generation - Ian Evenden,  Tom's Hardware&lt;br /&gt;
&lt;br /&gt;
* https://hackaday.com/2021/04/22/tr-109-picorder-2-really-nails-the-star-trek-aesthetic/&lt;br /&gt;
: &amp;quot;TR-109 RASPBERRY PICORDER 2 REALLY NAILS THE STAR TREK AESTHETIC&amp;quot; - Lewin Day,  Hackaday&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project is a &amp;quot;MyCorder&amp;quot; build and so I'm using [https://discord.gg/VbjYYdSZMb Discord] to communicate directly with fellow builders and [https://www.reddit.com/r/MyCorder/ this] subreddit to solicit advice from the community.&lt;br /&gt;
&lt;br /&gt;
[[Category:Electronics]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Directive0</name></author>	</entry>

	</feed>