Featured Post

The TKTalkie v4 - Press 6 for the Imperial March

Upgrading - the Path from v3.15 to v4.0 (Note: I had started this draft last year but never finished it, due to personal issues and cuttin...

Tuesday, February 28, 2017

Upgrade: Sound off! The TK Talkie SFX Box and Non-Canon Accessories

Disclosure: I haven't been paid to promote any items in this post or been given any free samples for blogging. I'm just a user reporting on some neat items purchased out-of pocket by either myself or my wife :)

So since I found out about the TK Talkie system, I've been interested. The iComm and RomFX systems have always been cost prohibitive, and the idea of building a sound FX box from scratch was appealing. And in the end, it was much easier than I expected.

TKTalkie is a system that was put together by TK81113 using a Teensy 3.2 microprocessor board, a Teensy audio board, and Arduino software. Once assembled and programmed, the system runs off of any old USB 5V battery bank. Input comes from a wired or wireless mic, output goes to your PA system or helmet speakers. Here's a video from TK81113, the guy who created it.


This project required the following:
  • Teensy 3.2 USB Development Board
  • Audio Adaptor Board for Teensy 3.0 - 3.6
  • Two or three 3.5mm audio jacks (female)
  • Lead wires (red, white, black). Solid core works best for through-board soldering
  • Soldering Supplies (iron w/ fine tip, solder, flux, wicking braid (in case of mistakes))
  • Small diameter shrink wrap (for the wire ends on the audio jacks)
  • A small non-conductive box in which to mount the system (personal preference - you could always just shrink wrap it)
  • A USB battery or other 5V 1A power supply with a micro USB connector.
    -> Some have run power from their PA's battery using a step-down voltage limiter, but in the mean time I'm using a Patriot Fuel Active USB Battery (2000 mAh).
Overall, I think I spent perhaps $65 or so total, including the boards + shipping, the USB battery, the plastic box, and the mic jacks, but not counting the 2GB MicroSD card or PA system and wireless mic that I already owned.

Thanks to his tutorial on the TK Talkie site (tktalkie.com), doing this project was a breeze. I used two 3.5mm jacks for the Line In and Line Out (I had a third for the Mic lead to use for a backup wired mic, but running the leads from the board to the mounting spot in the box was awkward and I removed it for now). Since I use a wireless mic, Line In is better suited for a non-amped input. The Line Out delivers a non-amped output to my Pyle Pro, wherein I can connect to the Pyle Pro's Mic or Aux jack.

On the software side, for getting files onto the SD card (namely the starting config and the sound files) I used a MicroSD USB reader for my computer, and then installed the card into the Teensy once finished. The Teensy software work is all done by USB cable from the Teensy to your computer.

Although I've yet to purchase a 3D printer (some day, I hope), I was able to purchase a small box from my local Orvac and attach a hobby box hinge (you can get these at craft stores like Michael's or Hobby Lobby) to it to access the MicroSD card that stores the board's config and sound files.

That little circuit board in the middle is the TK Talkie.
So small, so simple, so awesome.

At first the system didn't work out so well. I believe it was because of the default config's bitcrusher settings (the bitcrusher is the part of the program that makes one's voice sound tinny). Later I ended up using the config posted by TK81113, and besides turning up the effects_gain to 0.5 to help make the radio static pop out more, it suited me fine. I've reprinted TK81113's config here for reference:

        # Set overall output to about half
        [volume=0.5000]
        # Line-In level. Valid values are 0 to 15
        [linein=7]
        # Line-Out level output. Valid values are 13 to 31
        [lineout=27]
        # Plays when TKTalkie starts up
        [startup=STARTUP.WAV]
        # Background loop
        [loop=CHATTER.WAV]
        # Background loop volume
        [loop_gain=0.010]
        # Voice channel gain on the mixer
        [voice_gain=0.3500]
        # Trigger level to turn on speaker when I start talking
        [voice_start=0.1700]
        # Limit to turn off the speaker when I stop talking
        [voice_stop=0.020]
        # Amount of time to wait (in milliseconds) before playing a sound effect
        [silence_time=350]
        # Not using a PTT
        [button_pin=0]
        # Sound to play when PTT is pressed
        [button_click=TKT_CLK3.WAV]
        # Button sound effect volume
        [button_gain=1.0000]
        # 1 = Microphone, 0 = Line-In
        [input=0]
        # Not used since I'm using Line-In
        [mic_gain=15]
        # Volume level of the sound effects on the mixer
        [effects_gain=0.2500]
        # Equalizer: 0 = off, 1 = Bass/Treble, 2 = Parametric, 3 = Graphic
        [eq=3]
        # 5-Band equalizer since I'm using graphic. Values are -1 to 1.
        [eq_bands=-0.75,0.00,-1.00,0.00,-1.00]
        # Gives the voice a tin-can sound
        [bitcrushers=16,41000,16,8096]
        # Background noise level for when I'm talking
        [noise_gain=0.1500]
        # This is only used when using a serial interface to program in real-time
        [debug=0]

The fun thing about this system is that you can make adjustments on the fly using the Arduino software's built-in serial console which runs over the same USB connection you use to program it (for you old-school types, no need for an additional terminal emulator or USB to serial adapters). This was especially helpful in making my adjustments in real time to drill down the system. Running the calibration command was also useful in dialing in the voice_start and voice_stop parameters. If you use the console commands, remember to use the save command to commit your changes to the SD card's config file.

I also replaced the default "too short to be a stormtrooper" startup sound (no offense Carrie, Requiescat in Pace) with a custom sound. It's pretty easy to do: just find or make a WAV file you want to use, rename the old startup sound file (best not to delete in in case you want to use it again), and save your new sound file to the SD card as STARTUP.WAV.

Another note is that the sketch (source code) and Teensy board are very customizable. Although some of the pins are in use by the audio board, other analog and digital pins on the Teensy can be used for additional buttons and dials. For example, one could make a dial to turn the volume on the background loop up or down, or maybe just a button to start and stop/ pause it. KMan and I were scheming up making a daughter board/ control riser connected to the teensy with a modular connector, so that controls could be surreptitiously placed in an easy-to-reach place, like near the edge of the chest plate, so settings could be adjusted on the fly through buttons, dials, or other human interfaces. I may have to experiment in the future, although   TK81113 has stated that he'll also be coming out with his own set of updates in the future.

Props for non-canon troops

For non-canon props (like these and the orange pauldron I sometimes sport), 501st members should check with their garrisons for what's allowed. For LFL (official LucasFilm Limited) troops these props aren't allowed, but otherwise each garrison has their own rules for what to wear with a costume.

Going back to background loops, another piece I recently received from my awesome wife for the holidays was the Bluetooth Star Wars Comlink from Episode 4. Here's a YouTube unboxing video of the comlink.


The white clip that ships with it, as you might be able to discern from the video, is a bit crap, especially for TK duty where an errant arm swipe could easily knock the thing off one's belt. So I fabricated a holder for it using some scraps from an old belt and four rivets. I used about 8" for the belt loop (3" for each side plus an inch on each end to fold over and for rivet overlap) and a small but to fit around the comlink with enough overlap for rivets. The trick is to soak the belt loop piece in water until it's saturated, then clamp it onto shape until it dries out. This give the crisp belt holder shape to the leather so you can rivet the overlapped ends together, and then rivet the comlink holder loop to that.

My phone (to which the device links) sits in a cheat pouch also attached to the right side of my belt.

Comlink and leather holder shown here during a recent troop


Close-up if the comlink holder. Two scraps of old belt + four rivets.

Overall, the comlink worked well. It isn't very loud but loud enough to give some atmosphere. The main problem is that it's essentially a Bluetooth headset (yes, you can make and receive calls with it) and only has a 1.5 hour talk time (especially with the volume turned all the way up). For longer troops, that might be an issue. In the future, I'm hoping to run a background loop through the TK Talkie, either as-is or with a volume dial or on/ off button.

I'll have to add a photo of my phone pouch, but it's essentially just a gloss 3" x 6" (approx) black leather pouch with a triangle closure and a single snap. I riveted a belt loop onto the back to attach it to my belt for non-canon troops. It could also be used for bin/ car keys, trading cards, etc.

That's it for now. I'm always fiddling with things, so I'll post more when I have something else to talk about. Until next time :D

Wednesday, February 1, 2017

One Year Ago (Yesterday)

I've been so busy with work, kids, and life in general that it slipped my mind that, on January 31st of last year, I started pulling out the pieces from my Big Brown Box and set off on working on something that ultimately changed my life.

Weird to think that this box changed my life.

There were trials and tribulations. There were shins that didn't match up right and had to be assembled and reassembled three times or so. There were thigh pieces that had to be cut, trimmed, and then partially rebuilt because too much got cut off. Mistakes were made, fixes were affected, and learning occurred.

And after everything was said and done, my armor was fit for duty with the 501st. (But I'll talk about that more at the end of April, which will mark my 1st anniversary with the 501st.)

Yesterday, as it were, was also the official 20th Anniversary of the founding of the 501st by Albin Johnson (with help from his friend Tom Crews). The group was originally called Detention Block 2551, then the 501st Squad, and finally the 501st Legion, broken down into the garrisons, squads, and outposts seen today. For more retrospective, there's:


Overall, it's been a great experience, and during the year I'll be inserting some reflections in with my further build posts.

Speaking of which, I haven't done anything yet to the armor, but I plan to get it ready for the Expert Infantry Program as a step towards Centurion (which will require at least some new hand guards). I honestly don't think I have much work left in that regard, if any, but if I do I'll log it here for reference.

In addition, I'm going to start toying around with a TKTalkie system once I purchase the two main boards. It's a less expensive solution, I have gobs of experience with soldering, and a degree in computer science, so I think I'll be able to manage. I think.

So yes, I'm still working on the armor (or at least tinkering with it) more than a year after I started. But I guess, like all good hobbies, that one's probably never done with it. If it's not altering something, then it's maintenance, fixing a crack, replacing worn parts, etc. etc. like some sort of plastic Ferrari. But as far as hobbies go, it's not cheap, but it's certainly not as expensive as cars :P

And now my wife might be getting into a (royal guard) build too :)

So, until my next build post, this s TKSnake, (former TK call sign Obsidius) signing off :)