Last year, I needed a low cost way to measure power and battery drain for a wearable project. I purchased an Adafruit INA219 Featherwing, and used some assorted spare parts to build a simple Power Measurement device (you can read more about it here).
This year, I decided to upgrade the device... to make it more "techy". I originally planned to build a working Star Trek tricorder (the Mark IV TR-590 Mark IX version, for those that care)... but I quickly realized that it made more sense to create something that would sit on my desk (I mean, why go to all this trouble to make a cool device, just to close it up and put it in a drawer when not used).
So, I I turned to making a version of the computer displays that you see on Star Trek TNG or Voyager (or the assorted movies). I toyed around with different designs, then came across a version created by the Ruiz Brothers of Adafruit. Adafruit does a great job of provided source files for their 3D printed projects, so I was able to take their original version and remix it for my hardware, buttons, and other peripherals.
The terminal provides the following information:
- Weather - using the National Weather Service
- Indoor Temperature, Humidity and Volatile Organic Compound (VOC) strength
- News Articles - from News.org
- Schedule (with alarm function) - from Microsoft Outlook
- Fitness Information (Steps, Move Minutes, Heart Points, Weight, Calories Burned) - from Google Fitness
- a Resistor color code chart
- an LED Resistor Calculator (to determine the resistor value based on current and source power)
- Power and Current Measurement tool
This information is made available through a combination of APIs and hardware sensors. I leverage an ESP32 for the microcontroller, and leverage the AWS Cloud for all of the data collection and aggregation.
I also included a few "easter eggs":
- Ron McNair homage - Dr McNair is the reason I became an engineer; he grew up 45 mins from my hometown. He died in the Challenger explosion.
- The name of my star ship is the "USS Ronald E McNair"
- The Registry Number is from Sr McNair's birth date; the Prefix Code is the day he lost his life.
- The use of a "prefix code" is a nod to Star Trek: Wrath of Khan (the greatest Star Trek movie of all time; don't @ me).
- The numbers of the right of the terminal case refer to my fraternity (1906 - Alpha Phi Alpha) and my alma mater and field of study - (University of Oklahoma, College of Engineering)
You have the option of customizing the numbering, lettering, and ship name, registry, etc for your own "easter eggs".
Background
Things to know before your proceed
- I provide step by step instructions for making my version of the project; however, I do not go into details on certain steps (I'll link to supporting instructions or documentation)
- This is a complex project. It's a "multi-disciplined make", that requires the following skills
- Arduino IDE
- AWS - You will need an account and will need to understand S3, Lambda, and Node JS
- Soldering
- 3D Printing
- There are optional "add ins" to enhance the project in order to get Calendar and Fitness information. The functionality is included in the codebase; however you will have to create "apps" in the Azure and Google clouds to support the features.
- This is ultimately customizable... you can swap out the Current Sensor with another featherwing You can use a different feather/wifi combination.
That would look great on my bedside table. :)