Mighty™ Proton Pack Light & Sound Kit

sswift

Well-Known Member
Thought you guys would like to see this light and sound kit I developed.

Video here:

Proton Pack Kit for the Mighty Microcontroller Demo 2 - YouTube

Photo of the kit:

rpf1.jpg



The board controlling the lights is a programmable light, sound, and motion control board for props which I developed using funds I raised on Kickstarter:
The MIGHTY? Microcontroller by Shawn Swift ? Kickstarter

The programmable part isn't quite ready yet, so I've decided to start selling kits which I've programmed myself in C. Most of the folks who contributed to the project were really more interested in having a really sweet light and sound kit for their proton pack than in programming the boards themselves anyway.

The boards can be programmed/debugged directly through the Arduino IDE in C/C++ as is, which is what I am doing. The bit that I'm still working on is making it so you can program them via scripts written in basic that you stick on the MicroSD card. It will probably be another six months before that's ready though.

After the Kickstarter was successfully funded I ended up having to spend the next several months making some major design changes to the boards, like upgrading the processor to one which had more IO ports and more ram, so that I could put the SD card, DAC, and LEDs on seperate data busses since they don't play nice with eachother. I also realized I had made a mistake in my power dissipation calculations and I needed to replace the on board linear regulator with an efficient switching regulator. That though turned out to be an advantage because the regulator is only needed when running off 7-12V, and by bypassing the regulator the board can be powered off 3 AA or AAA batteries, which is perfect for using it in small handheld props like these PKE meters I make:

http://www.therpf.com/f9/my-ghostbusters-pke-meters-trap-goggles-90889/

The redesign also saw the removal of the two LED drivers from the main board, which was also a good decision because it meant those $5 chips would not be wasted when the boards were used in props like the proton pack where a custom LED module with a socket for a ribbon cable that connects to another board with LEDS on it was a much cheaper and more efficient way to wire things. The orange bargraph and blue powercell in the image above are examples of this. Rather than two wires and a connector for every LED, there's just one wire for each LED's cathode (-), along with a common anode (+).

You might also notice a vibration motor in the photo above. I didn't mention it in the video, but that's also installed inside the thrower, and it pulses with the strobe to make the effect even more convincing.

Here's a clearer pic of the boards:

rpf2.jpg


You can see the main board has a slot for a microSD card on it. That holds the sound effects, configuration files, and eventually, the scripts. Firmware updates can also be applied through it. The board also has a 2W amp onboard for small props like the aforementioned PKE meters, and a line-out for attaching external amps as seen in the Proton Pack kit demo.

If you have any questions about the boards let me know.
 
I have a question about the audio processing. Can it do cross fading or overlapping audio? Say I want to have the theme playing and use the thrower at the same time. Looks great!
 
That is so awesome.

I was the first guy to do an audio ghost pack. I had Steve Dymszo (Master Replicas, SD Studios, Artifactory) wire up my pack and his with one of Hyperdyne's sound boards which were being used for Star Wars related purposed back then. This was in the pre LED days... :lol. It is exceedingly cool to see what is possible with what is available today and a lot of imagination.

When I got the GhostBusters game for the XBox360 years ago and saw the extra lights and the heat damper indicators and heat venting and all the stuff they had added to the packs; the first thing I thought was "Somebody's gotta do a GB game pack!"

sswift congratulations on your project. You are making something that seems like a living, breathing, functioning Proton Pack. I wish I was seeing it in a pack in your movie but at least you've got the wand wired up.

Incredibly awesome!!!
 
Promising. This looks like a very adaptable platform. I like the card and 2W amp, and a nice robust regulator being on board (although it is a pity you ran out of room and can't have at least four channels of LED driver on board. Seems you are always wanting to exceed that 20ma limit! Or, for that matter, needing to PWM more outputs than you can afford!)

Which brings up the question. What driver chip are you using? What is the current AVR? I see what looks like a six-pin ISP header -- is there any intention of documenting this board so that an end-user can cobble up their own C rather than wait for your scripting language to be completed (or to go beyond the capabilities of that language?)

As a "occurred to me just this second," with 16+ I/O pins exposed, 12-bit (sigh) D/A, audio amp and a couple gigs of Fat16 sitting there, you have a sample-based synth just sitting there -- throw it in an Altoids tin and add a keyboard and a speaker!
 
I have a question about the audio processing. Can it do cross fading or overlapping audio? Say I want to have the theme playing and use the thrower at the same time. Looks great!

No. The processor in these things is only 8 bit and runs at 16mhz. They are simply not fast enough to mix and fade tracks like that.

With an external amp though I believe you can plug an mp3 player into the aux input at the same time as the rca input from the Mighty and have tunes and sound effects going at the same time that way.
 
Promising. This looks like a very adaptable platform. I like the card and 2W amp, and a nice robust regulator being on board (although it is a pity you ran out of room and can't have at least four channels of LED driver on board. Seems you are always wanting to exceed that 20ma limit! Or, for that matter, needing to PWM more outputs than you can afford!)

With LEDs as bright as they are today, I've actually got most of the ones in that video running at a half to a third of their maximum brightness. The powercell for example would be blindingly bright even at 50% brightness. Also, due to how the eye sees brightness in a non-linear fashion, in order to get the fades to look linear, and to get 50% brightness to look like 50%, the current consumption is actually exponential, so setting 50% in the program gives 0.5x0.5 or a 25% duty cycle. And the powercell there is running at 33%, so the duty cycle is more like 10%. So each LED in the powercell is consuming just 2mA, the maximum being 20mA.


Which brings up the question. What driver chip are you using? What is the current AVR? I see what looks like a six-pin ISP header -- is there any intention of documenting this board so that an end-user can cobble up their own C rather than wait for your scripting language to be completed (or to go beyond the capabilities of that language?)

You are correct that there is an ISP header there. I am happy to supply the C source to anyone who is knowledgeable enough to modify it, but don't expect a lot of support. Programming the boards in that manner is complicated. It's not like an Arduino where you just plug in a serial programmer and go. You've got to patch the IDE to support the processor I'm uisng, and if you wan to be able to debug you have to burn a special bootloader which uses USART1 for serial uploading and debugging, which is what the extra wires hanging out of the thing in my video are for. The skeleton code I've been writing to drive everything is also not in a very pretty state as I have been changing things rapidly as I figure out what works well and what doesn't for the interface.

As for documentation, I can supply code and schematics.

As for the chips being used...

The board's main processor is the ATMega1284P, which runs at 16mhz, has 16K of ram, and has plenty of flash memory for the program itself.

The LED drivers are TLC5947's. They have 24 channels, 12-bit brightness control, and a built in clock so you can set them and forget them until you need to update the animation.

The DAC is an MCP4921. It's 12-bit. It's main advantage is being really cheap and being very simple to program.


As a "occurred to me just this second," with 16+ I/O pins exposed, 12-bit (sigh) D/A, audio amp and a couple gigs of Fat16 sitting there, you have a sample-based synth just sitting there -- throw it in an Altoids tin and add a keyboard and a speaker!

If I were so inclined, and wanted to write a library to mix samples, and the board wasn't doing all the other stuff it needs to do right now like animate LEDs and move servos... And if you were playing one particular sample at a time, and that sample was less than 16K... Then that might work. Mixing samples isn't the issue so much as reading the samples off the SD card. At 16mhz, reading data from the SD card takes a lot of processor time. And it has to be read in 512 byte chunks. So random access of the sound data isn't really possible unless you've got the sample stored in ram, and you need random access if you want to mix the sample with itself at different pitches.
 
Last edited:
Hear you about the LEDs. I wrote my own garbage code into a BlinkM and had to write a custom lookup table to get an even slightly eye-friendly fade curve. Also finishing up a project now that is supposed to look 1970's vintage. Used a stock modern LED and PWM'd it down to about a 1/40 duty cycle before it looked properly period dim (aka 1-2ma equivalent). (I did it that way for options...so I can run it hotter if that looks better that way).

I forget whether my Adafruit ISP will handle the 1284's. Hear you about the skeleton code, too -- I've just spent what feels like months writing quick-and-dirty snippets just to test bits of the wiring harness et al. But I'm lazy. Since I found out the Arduino IDE was "close enough" for even playing with an ATtiny13, I've hardly touched the command-line AVR toolchain.

Sorry for the interruption. Back to the regularly scheduled broadcast!
 
Back
Top