The Raspberry Pi (left) is connected to the LCD screen using a 40 pin GPIO cable for touchscreen capability as well as the HDMI cable attached to the top of the display. The portable speaker was clipped to the key fob using a carabeaner that came with it. I connected it using an analog cable, however it does support bluetooth as does the Raspberry Pi 3B+, I just did not have time to test it prior to use.
Here you can see the UPS battery backup for the Raspberry Pi (right). The top red light flashes indicates charging/power draw and the green lights on the bottom indicate the lithium battery level. It powers the Raspberry Pi using a coiled USB cable which I felt was rather reminiscent of the original cable used to connect the two boards. There is also a USB charging cable that provides additional power to the UPS as well as another USB charging cable that provides power to the LCD display (not necessary but takes a load off the UPS). These two USB charging cables run to a battery (Like this one) in my left chest zipper pocket. It could easily run to the left pants zipper pocket as well.
A better picture of the UPS battery backup. The lithium battery is adhered to the bottom of the case using the double sided tape that came with it.
Closer picture of the Raspberry Pi. I used silver heatsinks.
The LCD screen is mounted to a cell phone belt clip/holster using two different size standoffs.
My first draft was just to have a display, however I decided later to make the program interactive. I wanted to have features that a modern day Ghostbuster might find useful as well as providing some fun with the functionality. Unfortunately I am not able to program specifically for the Raspberry Pi which uses an ARM architecture rather than the x86. I decided to use Exagear Desktop (an x86 emulator for the Raspberry Pi) to run my program. Although a simple program, Exagear did have some issues running my program. I tested both running it as a Windows program through Wine (a Windows emulator for Linux) as well as running a Linux x86 version. There was much better performance on the Linux x86 version (goes through one emulator instead of two), however the timing delays I programmed were still longer than they should be. My solution was to add a customized timing delay in the settings menu, which brought the program to the expected speed/timing.
I started my testing on Raspbian (the official Raspberry Pi OS) however I received better performance and functionality when running it on Ubuntu Mate. The downside is that Ubuntu Mate is a more complicated OS to install on the 3B+ as it is not yet officially supported. Luckily I found an image that was pretty much set to go. Running as an emulator on Raspbian, it did not detect left "press" clicks but did left "release" clicks. This leaves out some of the button animations that occur when you press a button. Works perfect on Ubuntu Mate though.
The program features are:
- Proton pack off/on
- Activate trap
- PKE Meter
- Play Ghostbusters theme song
- Screensaver (can be turned off in the settings menu)
HTML5 Demo App
The screensaver will turn on after 30 seconds of having the window active and not clicking anything.
(Warning: I suggest that you do not adjust the timing delay or turn off the mouse cursor in the HTML5 version)
Some of the graphics I made and some were non-attributable creative commons licensed. Some of the sound effects were sourced from the movies and some from the Ghostbusters Video Game. The orange loading bars when starting the app were from valentino_42's proton pack decals.
I have made changes since my original post. Here is a changelog for version 2 as well as a download link for the .apk file should you wish to run it on Android (requires side loading).
App Version 2.0
- Shortened trap sound length
- Adjustable screensaver time in settings
- Removed timing option
- Ported for Android
- Changed music icons
- Changed trap button to a pedal and added light effects
- PKE Meter now randomly detects 1-3 ghosts.
- Shortened settings click sound.
- Sound (not music) now stops when screensaver is activated
- Removed option to hide mouse cursor
- New proton pack lights
Hardware Version 2.0
- Switched to Emteria (Android OS for Raspberry Pi)
- Changed LCD screen to official Raspberry Pi 7”
- Case for LCD screen modified to clip to belt
- Longer jumper wires for GPIO connection
- Longer DSI cable (15 cm)
Original trap pedal graphic (http://gbparts.danawheels.net/graphics/ ... edal19.jpg)
I am also considering adding a communicator with Ecto-1 (I read that this occurred in the cartoons with their Belt Gizmo) and a readout of the storage containment unit status. Possibly segregating these into separate screens.
If anyone had interest in making their own, I wouldn't mind providing details.