Proton Pack Lights Script and Diagram

If you are ever interested in building a full size Proton Pack I highly recommend Ben of Kent Props. My proton pack is amazing and it all started with the parts produced by this excellent company.

Also check them out on facebook in the most friendly group. https://www.facebook.com/groups/364457410396568

This might look like a bizarre post but for those following my proton pack build this is all the details you need for the electronics within my Ghostbusters Proton pack. I’m not electronic expert and these are presented as seen.

Also of note this is to integrate the amazing Hasbro Spengler wand into the pack build. The sound of the wand is connected to the speaker inside the pack and the microphone picks up the sound from the wand and speeds up the lights.

If you want to connect the internal speaker to an external jack, I suggest checking out this video…

I didn’t go as far as changing the vent but it looks into the whole dismantling. Just be very, very, careful and don’t do it if you are not sure.

It might be very specific but it was fun to build and might be of use to other Ghostheads.

This is all thanks to Tim Wappat. Without his genius help my pack would be dark and not so disco.

This was chapter six of my Ben of Kent Proton pack build videos. The full video can be seen at the bottom of this blog post and the rest on my Youtube Channel. Don’t forget to like and subscribe! 🙂

Hopefully all of this info, might either encourage you to get one or at least help with your build.

This post includes details of a cheaper method of creating the light sequence without expensive hardware. I’m sure there are better ways to build, but here’s how we did it.

3D printed Parts :

You need the printed parts to hold all the LEDs and the boards.

LED Power Barhttps://www.thingiverse.com/thing:4894963
Slip Case for Port Expanderhttps://www.thingiverse.com/thing:4894960
Sound Detector Board Casehttps://www.thingiverse.com/thing:4894965
Raspberry Pi Pico Casehttps://www.thingiverse.com/thing:4818638

Electronics :

MCP23017 16 bit port expander breakout boardhttps://www.ebay.co.uk/itm/193477088071
pi picohttps://shop.pimoroni.com/products/raspberry-pi-pico?variant=32402092294227
Ribbon Cablehttps://proto-pic.co.uk/product/sparkfun-cab-10647-ribbon-cable-10-wire-15ft/
LEDshttps://www.ebay.co.uk/itm/152508668100?var=451865158130
Microphone Modulehttps://www.ebay.co.uk/itm/233754667746?hash=item366cdd2ae2:g:i4YAAOSwj2Jfke6s

Costs :

MCP23017 I2C interface 16bit IO Extension Module Pin Board IIC to GIPO Convert£4.70
KY-037 High Sensitivity Microphone/Sound Detection Sensor For Arduino Module PIC£1.98
Raspberry Pi Pico – Board Only£3.60
LED 5mm or 3mm Superbright-Clear/Diffused – Choose Colour/Mix Pack UK£2.45
Resistors 68ohm£1.88
Ribbon cable£3.86
Total£18.27

Wiring Diagram

Script for Raspberry Pi Pica

############################################################################
# Proton pack sound activated LEDs
# 2021 Tim Wappat
# ##########################################################################
import time
import board
import busio
import digitalio

from adafruit_mcp230xx.mcp23017 import MCP23017

i2c = busio.I2C(board.GP1, board.GP0)
mcp = MCP23017(i2c, address=0x20)
soundPresent = False
soundPresentCounter = 0
soundAbsentCounter = 0
soundPresentTimedAt = time.monotonic_ns()


# Optionally change the address of the device if you set any of the A0, A1, A2
# pins. Specify the new address with a keyword parameter:
# mcp = MCP23017(i2c, address=0x21) # MCP23017 w/ A0 set

# Now call the get_pin function to get an instance of a pin on the chip.
# This instance will act just like a digitalio.DigitalInOut class instance
# and has all the same properties and methods (except you can't set pull-down
# resistors, only pull-up!). For the MCP23008 you specify a pin number from 0
# to 7 for the GP0...GP7 pins. For the MCP23017 you specify a pin number from
# 0 to 15 for the GPIOA0...GPIOA7, GPIOB0...GPIOB7 pins (i.e. pin 12 is GPIOB4).
pin0 = mcp.get_pin(15)
pin1 = mcp.get_pin(14)
pin2 = mcp.get_pin(13)
pin3 = mcp.get_pin(12)

pin4 = mcp.get_pin(11)
pin5 = mcp.get_pin(10)
pin6 = mcp.get_pin(9)
pin7 = mcp.get_pin(8)

pin8 = mcp.get_pin(0)
pin9 = mcp.get_pin(1)
pin10 = mcp.get_pin(2)
pin11 = mcp.get_pin(3)
pin12 = mcp.get_pin(4)
pin13 = mcp.get_pin(5)
pin14 = mcp.get_pin(6)
pin15 = mcp.get_pin(7)

# Setup pin0 as an output that's at a high logic level.
pin0.switch_to_output(value=True)
pin1.switch_to_output(value=True)
pin2.switch_to_output(value=True)
pin3.switch_to_output(value=True)
pin4.switch_to_output(value=True)
pin5.switch_to_output(value=True)
pin6.switch_to_output(value=True)
pin7.switch_to_output(value=True)
pin8.switch_to_output(value=True)
pin9.switch_to_output(value=True)
pin10.switch_to_output(value=True)
pin11.switch_to_output(value=True)
pin12.switch_to_output(value=True)
pin13.switch_to_output(value=True)
pin14.switch_to_output(value=True)
pin15.switch_to_output(value=True)


soundSensor = digitalio.DigitalInOut(board.GP5)
soundSensor.switch_to_input(pull=digitalio.Pull.UP)

def TimeSinceSoundPresenceSetMs():
global soundPresentTimedAt
return (((time.monotonic_ns() - soundPresentTimedAt) + 500000) // 1000000)

def SetSoundState():
global soundPresentCounter
global soundAbsentCounter
global soundPresent
global soundPresentTimedAt

# look for x samples in a row of sound present to trigger sound present state
# leave triggered for min amount of time
if(soundSensor.value):
print(soundPresentCounter)
if(soundPresentCounter < 1):
soundPresentCounter = soundPresentCounter + 1
soundAbsentCounter = 0
else:
if(soundAbsentCounter < 30):
soundAbsentCounter = soundAbsentCounter + 1
soundPresentCounter = 0

# x samples in a row positive then we have sound
# set the flag we have sound, otherwise after delay unset the flag
if(soundPresentCounter == 1):
# print("Sound on counter max")
if(soundPresent == False):
soundPresent = True
# Need to latch on so record time latched
soundPresentTimedAt = time.monotonic_ns()

if(soundAbsentCounter == 30):
# print("Sound off counter max")
if (TimeSinceSoundPresenceSetMs() >2000 ):
# print("Sound off")
soundPresent = False
#else:
# print("waiting for timeout")
# print(TimeSinceSoundPresenceSetMs())

def BarOff():
pin11.value = True
pin10.value = True
pin9.value = True
pin8.value = True
pin7.value = True
pin6.value = True
pin5.value = True
pin4.value = True
pin3.value = True
pin2.value = True
pin1.value = True
pin0.value = True

# time between cyclo lights (s)
def InterBarDelay():
if(soundPresent):
return 0.05
else:
return 0.105

# Time between indvidiual bars on power meter (s)
def interseqDelay():
if(soundPresent):
return 0.001
else:
return 0.001

def BarSeq():
pin0.value = False
time.sleep(InterBarDelay())
SetSoundState()
pin1.value = False
time.sleep(InterBarDelay())
SetSoundState()
pin2.value = False
time.sleep(InterBarDelay())
SetSoundState()
pin3.value = False
time.sleep(InterBarDelay())
SetSoundState()
pin4.value = False
time.sleep(InterBarDelay())
SetSoundState()
pin5.value = False
time.sleep(InterBarDelay())
SetSoundState()
pin6.value = False
time.sleep(InterBarDelay())
SetSoundState()
pin7.value = False
time.sleep(InterBarDelay())
SetSoundState()
pin8.value = False
time.sleep(InterBarDelay())
SetSoundState()
pin9.value = False
time.sleep(InterBarDelay())
SetSoundState()
pin10.value = False
time.sleep(InterBarDelay())
SetSoundState()
pin11.value = False

def startupsequence():
pin0.value = False
pin11.value = False
time.sleep(InterBarDelay())

pin1.value = False
pin10.value = False
time.sleep(InterBarDelay())

pin2.value = False
pin9.value = False
time.sleep(InterBarDelay())

pin3.value = False
pin8.value = False
time.sleep(InterBarDelay())

pin4.value = False
pin7.value = False
time.sleep(InterBarDelay())

pin5.value = False
pin6.value = False
time.sleep(1)


startupsequence()
BarOff()
startupsequence()
BarOff()

while (True):

pin12.value = False
pin13.value = True
pin14.value = True
pin15.value = True
BarSeq()
time.sleep(interseqDelay())
BarOff()

pin12.value = True
pin13.value = False
pin14.value = True
pin15.value = True
BarSeq()
time.sleep(interseqDelay())
BarOff()

pin12.value = True
pin13.value = True
pin14.value = False
pin15.value = True
BarSeq()
time.sleep(interseqDelay())
BarOff()

pin12.value = True
pin13.value = True
pin14.value = True
pin15.value = False
BarSeq()
time.sleep(interseqDelay())
BarOff()


This is the full Proton Pack build video, which includes the various parts and the electronics. Hope it’s useful.

Enjoy and have a great Halloween.

Back to the Ghostbusters

If you’ve read my previous post you’ll know that one of my all time favourite films was Ghostbusters.

I’ve already posted about how I loved the movie and it’s associated merch, music and games.

Click here if you haven’t and want to read about it.

At that time I thought that the article would be the end of my chat about the subject, until maybe Ghostbusters : Afterlife was released in November 2021.

By the way, this trailer makes me tear up. Fantastic.

This post is less about the films themselves and more about how and why I decided to go full on Ghostbuster and become a Ghosthead although I maybe wouldn’t consider myself to be a full on Ghosthead and I don’t have the dedication and collection that some dedicated Ghostbusters fans have. So, sit back and read the story of 2021 and how I ended up owning one of these.

It really started when they initially released the Hasbro Toy Fair video with Ivan and Jason Reitman which was released on YouTube through the Ghostbusters channel way back on the 26th February 2020. I was about then we were still early days of the Worldwide pandemic and fully expected it to blow over and we’d be seeing Afterlife in the Summer of 2021. Boy, were we wrong.

At about the 11:50 markm Jason Reitman delved into a packing case and picked out “the right one”, the actual Neutrona wand as featured in the film.

Following that a Hasbro representative went back to the case and produced Hasbro’s version of the prop.

This was how it was presented at the Toy Fair

It looked great, and probably was going to be WAY too expensive for someone like me to afford. This thing looked amazingly detailed with metal parts, tape, tubing, on board sound effects, lights and vibration. I could only imagine that this product would be for collectors only and way out of my meagre budget and I would never EVER own one of those things and it would probably only be available in America.

I was wrong on quite a few of those points. More of that later…

Fast forward through an interestingly tough and scary year, cinemas and theatres were closed to the public and everything was pushed back. I love my films, and taking away that cinema experience and the forthcoming treats that we’d be teased and trailered for months never came to pass. No new Ghostbusters, no Top Gun, no Black Widow, no Bond. no new Pixar movie Soul, Batman and so on. Productions had to shut down. and we were left to stay at home and watch Netflix, Amazon Prime and Disney +… which wasn’t too bad, but it didn’t have the same feeling. Everything was being pushed back further and further.

After Christmas 2020. we immediately hit a second wave. It was bad. As a lecturer my year starts in September and runs through to the summer. We ended up in lockdown again before we’d even got the chance to come back after Christmas. Everything was online. When you teach practical stuff it’s tough on the students.

I was trying to find a picture to put in this more serious bit. So you’ll have to do with this. It’s the inside of my Don Post Boba Fett helmet I got signed by Jeremy when I met him in on one of numerous occasions and recently passed away in December 2021.

Shall I continue?

I don’t like being home all the time, I like to separate work from home but in this situation there seemed to be no separation. My computer became the work device and I took no pleasure from using it in the evening. I’ve not had a bad time compared to some others but I wasn’t in a good place.

One evening in my desperate need to get away from the computer I found myself flicking through documentaries on the UK Channel 5 on a regular TV and found something to do with Ghostbusters,

So I watched it. If you haven’t and you live in the UK it’s still available at this point on My5. Here!

Ghostheads (2016) looked at American Ghostbusters fans and how in some cases, Ghostbusters helped them in some way connect with their kids, or distracted them from alcoholism. How Ghostheads around the US have helped to raise funds and put smiles on peoples faces. It was all a very familiar community to me.

If you’ve read my other blogs you’ll know I love to costume or become a thing. In a lot of cases it has tended over the last 10 years occupy the cylinder of a Dalek and somehow raise a smile or a laugh on occasion. I’ve also owned various Stormtrooper outfits which in must cases were hard to see out of and if they weren’t fitted quite right grab and nip any flesh they’d care to grab at. Also impossible to walk up and down stairs. At least the Dalek has a seat and I can take a breather and just turn into a prop for a few minutes.

In most of my costumes I’d hide away under helmets and domes. I was more confident in them as I could be as silly as I wanted.

Having spent years in Stormtrooper outfits I started to feel more confident and started to show my face in Jedi, Cowboy and Knight costumes. They were also more comfortable and didn’t need an entire car boot to transport. The exception still being the Dalek.

Sometimes under makeup…

So with Ghostheads I saw a perfect opportunity. I like to distract myself with things, I love to build and paint and it was my birthday coming up. Time to be a Ghostbuster and spend the forthcoming months building and making all the various little doodads that make a basic Ghostbuster. When I wasn’t working I could step away and do various bits of research into the world of Ghostbusters. I had the perfect reading material and the entire world of the internet and the various Ghostbusters communities.

I didn’t need a proton pack.

…maybe just the wand. Those packs are expensive, I don’t have the money for that.

So to quote Obi-wan, I took a step into a wide world and I bought a Neutrona Wand off Amazon.

It comes in a rather nice cardboard box that looks like a storage crate with the “Plasma Series” uniform band around it.

Once you get it out of the box, batteries in it feels great. The lights, sound and vibration make it look, sound and feel amazing. I was a kid again. But I wouldn’t need the proton pack to go with it…

It does have a few things to note that make it stand out immediately which include the rubberised tape around the handle. I would later discover some of the other details would also be different to the original ’84 props, like the shotgun handle at the front.

The stand is a little on the flimsy side for such a prop but I loved it. The kids rolled their eyes when I showed them what I’d got flicking through the buttons, changing the modes and flashing the lights.

I would at some point maybe do some tweaking. Maybe attaching it to an amplifier to make it a little louder. But it won’t be attached to a proton pack…

So I spent much of March distracting myself from daytime work and spent my evenings working on the rest of the “basic” parts of Ghostbusting. The belt.

The typical GB belt contains a number of key holders and a weird looking belt gizmo. You’ll also need some black rubber gloves.

This is one of the original belts. (Propstore)
photo Vincenzo330 on gbfans.com

Originally this gizmo was made from an old calculator which contained glass nixie tubes which broke during production. They ended up being made from cardboard with a silver pen as the circuit lines.

Amazon provided me with the belt and the leather pouch was made from tape measure holder.

Now I’ve seen some impressive gizmos from fans and I wasn’t in the market to make a completely screen accurate device. I wanted something that looked fine to members of the public. If they could get away with this kind of junk from the movie itself and no one noticed at the time, I figured a leather pouch and some electronic bits would do fine. Hopefully no one would notice except for the GB community. 😛

The nixie tubes were constructed with rubber hose and topped with hot glue to make them look like valves. There was a piece of paper on the inside of the tubes to give them detail.

I did find a useful thing was would make up the main circuit board. I’d recently decommissioned a few older small hard drives and the main circuit boards for them fit the width perfectly. I hot glued various other electronic components and other greeblies on to the board and I was done.

Not totally accurate with only six instead of eight nixie tubes, but I reckoned that tech had improved since 84 and you only need six to disperse the ion or whatever they were supposed to do.

I was beginning to come up with a story for every part of the costume as it was being built.

In a chance encounter I discovered that a friend of mine Al, had also ordered a wand at the same time. I’d been posting various pictures of my progress to Facebook and he asked me to make a gizmo for him. I did and dropped it off.

I did have the name tag and jumpsuit ordered and ready to roll when I finished the gizmo and I also had help from Al to get the elbow pads. Also he sent me a little present for building the gizmo.

A pair of Rubies Ecto Goggles. Over the month Al was building his proton pack…. which I wouldn’t need…. and we were passing information and helping each other with parts and props.

So it was time to make these goggles my own and make them less like the square Rubies toy and turn them into a well used “working” prop.

Whilst I was waiting for some bits and pieces I did a side project on a Jurassic Park Jeep, making it look like the Jeep from Jurassic World. There was the slight annoyance through research that I discvered that this version of the Jeep was from 2015 and wouldn’t have been the one in JW. Grrr… Looks good though.

The creative juices were flowing and was enjoying the distractions.

The basic Ecto Goggles from Rubies are fine as a base, but I wanted a halfway between the Rubies and the real ones. They would be stuck on the top of my head or swinging from my belt. No one would notice the minor details.

I shortened the long lens by cutting it down and regluing and took a dremmel to the corners that were way too square for my liking. I also bought some cheap webbing a bunch of press studs, I replaced fake bolts with the ends of real hex bolts and filed a few things down.

Then resprayed it.

I took out the face side plastic bits and attached an old VR cushion. I also found some labels, printed and stuck them on the repainted surface.

To finish off a bit of silver wear and tear was added and a grimy acrylic wash to finish. I think it came out quite well.

This month was also made up of various friends convincing each other of things. Al convinced me it was a good idea to get a proton pack and I’d figured a way to finance the pack with a bunch of old Cinefex magazines that I’d collected and were currently sitting in the loft gathering dust. I had a lot of them and they were going for good prices on eBay. It would also help me get all of the other bits I’d “need”.

I’d also convince, but it was quite easy, my most excellent bestest friend Tim to be a Ghostbuster too. He wouldn’t need a backpack as he could borrow mine. Within a few days he’d bought a jumpsuit and started researching Ghost traps.

With his excellent 3D printing skills he used the Count Spatula Thingiverse design seen in the above video. Link is here!

I don’t have a 3D printer and I don’t think I ever will have one due to the amount of space that is needed to keep one. Anyway, Tim happily printed out two traps. My trap would simply be a prop trap for belt use and he was planning on a full smoke and light effect version using programmable controllers. I’ve tinkered with these before but my head isn’t quite built for the electronic side of things.

Once meeting together started to ease within the world of Pandemic and we started to get our first jabs, parts and ideas were passed between each other and I started to paint and the build the trap whilst I spend the week selling the magazines and waiting for the funds to build up to order my proton pack. Which I honestly wasn’t intending to buy.

I think it turned out quite good and I couldn’t have done it without Tim and his 3D printing and patience skills.

Mechanically I have included a few things using my simple wiring skills.

I bought a few different things from the pound shop and ate a bunch of quality street.

When the doors are open I didn’t just want an empty space, so when I spotted some firefly jars with a very interesting defuser around them I bought a couple.

Inside the trap I added some simply fairy lights and covered them in purple Quality Street sweet wrappers.

To finish off I bought a fake Poundland security light with a flashing LED. I then used a simple switch that would turn them both on at the same time. Not screen accurate but better than an empty box.

It certainly isn’t as good as a trap with smoke, sounds and flashing lights in sequence, but I’m happy to attach it to my belt and throw it around a bit.

By this point I’d had a word with Al about Proton Pack suppliers and had looked around the various kit suppliers and through recommendations, Youtube videos, and the quality of the some of the builds in various Facebook forums I purchased a Ben Of Kent kit from https://www.benofkentprops.com/

Ben produces a range of kits and fully assembled packs for various price ranges depending on whether you want metal or resin parts, particular parts of the kits or in my case I only needed the proton pack part as I fully intended to attach my Spengler wand to the pack.

On June 18th my huge box arrived containing all of the pieces to build a 1 to 1 scale replica of a proton pack. Wowza! You would not believe how mind bogglingly big this box was. Huge!

I spent that afternoon busily unpacking and making sure everything fit as far as it made sense at that time.

I started to video the pack from opening to what I could consider finished, for the moment. But a pack is never complete, just updated and modified.

I began the two or three week process of cleaning up parts, painting and bolting/gluing, whatever was needed to get this pack together.

It was a really fun build.

I hope I managed to put my own spin of the build process and give something back to the build community.

Using videos on Youtube I picked up other techniques to replace and extend the audio from the Spengler wand out of the wand to allow it to be connected to an external source. I used a microphone XLR cable to allow me to connect and disconnect the wand from the pack for display purposes and fixing if needed.

Tim with his excellent skills with electronics came up with a brilliant idea to create a cheap way to interface the pack with the wand using a low power Raspberry Pi to run all of the lights for the pack.

Eventually with the help of Tim we got the internals of the pack looking and working well.

As a fan of Star Wars I love the used universe look. The idea is that if there is a prop, costume, vehicle or object, it should look like it’s been used. Maybe even dragged through the mud and left to rust in a pond.

The Ghostbusters kit for the upcoming, at the time of writing Afterlife movie involves the discovery of decades old equipment left by Egon Spengler. It’s rusted, it’s had bits added on, just to keep things running.

The new/old Spengler pack looks like this…

Dirty and grimy and with bits and bobs bolted on just to keep it running.

My pack with have that distressed look through paint application and giving it a rub down with a piece of sand paper.

Dirty labels, rust, engine oil. I used all my old techniques from the Jurassic Park truck to detail a lot of my pack.

It’s been a joy to build. I’ve reconnected with friends over projects and loved every minute. So far I haven’t worn the full kit with the finished pack. I think I might save that for some time closer to Halloween.

See you next time.