First Officer’s log. I am being held captive by the Kzinti, an aggressive feline species with the worst fashion sense in the sector. They intercepted our shuttlecraft and seized highly sought-after cargo — Adabox #1242. What IS it with cats and boxes?

It’s a simple matter of economics that retail mass-produced costumes and props will always be the popular main characters.

3D printing and electronics affords us the opportunity to faithfully cosplay the “deep cuts” — supporting or background characters with little screen time that never got a Funko POP! of their own. Everyone has an odd favorite…Willrow Hood from The Empire Strikes Back is now a cosplay staple, eventually earning his own action figure. But most remain obscure.

A Challenger Appears

Episode 14 of Star Trek: The Animated Series was notable for its crossover with episode writer Larry Niven’s Known Space universe. The show’s depiction of his Kzinti species — bloodthirsty, warlike humanoid cats — was hard to take seriously with their pink space unitards (the director, it was later learned, was color blind). The entire Animated Series was so off-the-wall that its canonicity is often debated, so you don’t really see much of it. Pity!

The MacGuffin of this episode was a powerful alien weapon that could change function and shape. It seemed like a fun idea for a DIY project — one design for electronics and code, two different props. The show’s weapon is seen transmogrifying among nine shapes, but time and space are finite…we picked just a couple favorites that struck a nice balance: the “talking computer” and “total conversion beam.” If you’re handy with 3D modeling, you could try for some of the others.

If you’re not looking for a Star Trek prop, the circuit and code might be helpful as a starting point for your own ideas!

“Strange, how the past sometimes breaks through into the present” — Spock

Parts Required

Two 3D-printable models are provided on a later page. If you’d simply like a passive prop without lights or sound, that might be all you need, perhaps adding a subset of components (unsoldered) to fill in some spaces. If you’d like to go all-out though…

In addition to the electronic components listed below, the project requires a soldering iron and related paraphernalia, wire cutter/stripper, and some heat-shrink tubing for insulating some of the connections.

There’s also some hardware and fasteners needed:

Hardware for Total Conversion Weapon

  • 5x M3 x 10mm pan head screws

Hardware for Talking Computer

  • 4x M3 x 4mm pan head screws
  • 2x M3 x 6mm pan head screws
  • 2x M3 hex nuts

Hardware for Both Props

  • 2x M2 x 10mm pan head screws
  • 4x M2.5 x 8mm pan head screws
  • 2x M2.5 x 10mm pan head screws
  • 6x M2.5 hex nuts
  • 3x M3 x 12mm pan head screws

Assembly and finishing also requires one or more adhesives — the exact choice(s) will depend what you have around and are comfortable working with, so be prepared to improvise. This might involve cyanoacrylate (e.g. “Krazy Glue”), 5-minute epoxy, craft glue (e.g. E-6000), and/or hot glue. You can touch up some of the details with craft paint if you like, but this isn’t required. Set realistic expectations for build time…you might need to set the project aside while glue dries or you need to go buy overlooked nuts or screws.

Parts below are needed for each of the two props. If building just one or the other, a single set is sufficient. If building both, double up. The last few items are only needed for the talking computer prop; they can be omitted for the total conversion beam.

It's what you've been waiting for, the Feather M4 Express featuring ATSAMD51. This Feather is fast like a swift, smart like an owl, strong like a ox-bird (it's half ox,...
$22.95
In Stock
This super small mono amplifier is surprisingly powerful - able to deliver up to 2.5 Watts into 4-8 ohm impedance speakers. Inside the miniature chip is a class D controller, able to...
$3.95
In Stock
Hear the good news! This wee speaker is a great addition to any audio project where you need 8 ohm impedance and 1W or less of power. We particularly like...
$1.95
In Stock
Slip slidin' away Slip slidin' away You know the nearer your resistance The more you're slip slidin' awayIf you're...
$1.95
In Stock
OK, this item is pretty simple - it's a panel mount pushbutton. It's not that exciting, no LEDs, no bells & whistles. But we really like it anyways – look at that...
$0.95
In Stock
Need a big battery for your project? This lithium-ion battery contains a 2200mAh and a protection circuit that provides over-voltage, under-voltage, and over-current protection. Yet,...
$9.95
In Stock
Need some big indicators? We are big fans of these huge diffused yellow LEDs. They are fairly bright so they can be seen in daytime, and from any angle. They go easily into a...
$9.95
In Stock
These nice switches are perfect for use with breadboard and perfboard projects. They have 0.1" spacing and snap in nicely into a solderless breadboard. They're easy to switch...
$0.95
In Stock
8 x Neodymium Magnets
D42 - 1/4in Diameter – 1/8in Thickness
2 x 2-pin JST Plug
Female Connector 100mm
2 x 2-pin JST - Socket
Male Header 200mm
1 x 2-pin Molex PicoBlade Pair
40cm long - Molex PicoBlade Compatible
1 x 3-pin Molex PicoBlade Pair
40cm long - Molex PicoBlade Compatible

Key switches are only needed for the “talking computer” prop. The “total conversion beam” does not require them:

For crafting your very own custom keyboard, these Kailh White Linear mechanical key switches are deeee-luxe! With smooth actuation and Cherry MX...
$6.95
In Stock

The “talking computer” prop will require two sets of these key caps, since they’re sold in sets of 5. The “total conversion weapon” does not require them:

Dress up your mechanical keys in your favorite colors with a wide selection of gumdrop-like, retro, curvy, and stylish MA profile keycaps. Here is a 5 pack of Orange MA...
$4.95
In Stock

If you already have a healthy assortment of wire, this silicone ribbon cable isn’t required. We like it because you can peel away one or groups of wires as needed. It’s handy for the keypad part of the prop!

1 x 10-wire Silicone Cover Ribbon Cable
10 Wire 1 Meter Long - 28AWG Black

The same circuit is used for both the talking computer and total conversion beam props. The nine buttons on the right are only needed for the talking computer. If building the total conversion beam, those (and the associated wires) can be omitted.

The circuit requires 5 or 6 ground connections (depending on prop), but the Feather M4 board only has 4 ground points (3 in the small power rails at the end opposite the USB port, 1 near the reset button).

Therefore, you’ll need to feed two wires through a couple of the ground points to make everything fit. You can see this in a couple spots in the diagram below.

To make this easier to assemble into the prop, several of these parts will have connectors installed, not shown here. We’ll detail those (and correct wire lengths) on the following pages. Consider this just a schematic.

That’s a bit of a visual tangle, so here’s a summary of the individual connections:

PAM8302 Amplifier to Feather M4

  • GND to GND
  • VIN to 3V
  • A+ to A0
  • A– to GND (use GND on amplifier)

Speaker to Amplifier

The mini oval speaker is connected to the audio out pins of the PAM8302 amplifier.

  • Positive (red wire) to
  • Negative (black wire) to

Slide Switch

  • Center pin to GND
  • Either one of the two outer pins to En (enable)
  • The other outer pin is not connected

Push Button (trigger)

The button has no specific polarity. One pin goes to Feather GND, the other to Feather pin A1.

10mm LED

  • Anode (longer leg) to A2
  • Cathode (shorter leg) to GND

Slide Potentiometer

  • Pin 1 to GND
  • Pin 2 to A3
  • Pin 3 to 3V

Mechanical Key Switches (“Talking Computer” only)

Each switch has two pins and no specific polarity. One pin of every switch goes to Feather GND (these can be chained switch-to-switch, as we’ll show on a later page). The other pin of each switch is connected to a different point on the Feather M4:

  • D4
  • D12
  • D11
  • D10
  • D9
  • D6
  • D5
  • SCL
  • SDA

Since this prop is just a noise-maker and not an actual keyboard where we need to type real things, any switch can go to any of the above pins, whatever you find easiest when soldering. If you want to tie a specific sound to a specific key, that can be easily changed in the code.

The diagram below provides a visual reference for wiring of the components. This diagram was created using the software package Fritzing.

Adafruit Library for Fritzing

Use Adafruit's Fritzing parts library to create circuit diagrams for your projects. Download the library or just grab individual parts. Get the library and parts from GitHub - Adafruit Fritzing Parts.

We used “silk” PLA filament which gives this prop a distinctive shimmer, resembling the cartoon item. Photos here show light green, but a darker jade green also looks good.

3D Parts for Total Conversion Weapon

3MF files for 3D printing will need to be oriented in your slicing software for FDM style machines. Parts are designed to 3D print without any support material.

  • ray-handle-left-hand
  • ray-handle-right-hand
  • ray-led-holder
  • ray-middle
  • ray-nose
  • ray-tip
  • ray-top

3D Parts for Talking Computer

Parts below are designed for the talking computer verison.

  • melon-bottom
  • melon-handle-left-hand
  • melon-handle-right-hand
  • melon-keyplate
  • melon-switch-holder
  • melon-top

Each set includes both a right-handed and a left-handed grip — you only need to print one or the other. These place the slider potentiometer in a different position for better comfort.

Parts for Both Props

Parts list below are required parts that can be used in both versions of the prop. 

  • feather-pcb-mount
  • pommel-handle

Slicing Parts

No supports are required. Slice with setting for PLA material. 

The parts were sliced using CURA using the slice settings below.

The handle for the Total Conversion Weapon will need to be rotated 15 degrees (Y-Axis) in order to sit flat on the bed.

  • PLA filament 220c extruder
  • 0.2 layer height
  • 10% gyroid infill
  • 60mm/s print speed
  • 60c heated bed

Design Source Files

The project assembly was designed in Fusion 360. This can be downloaded in different formats like STEP, STL and more. Electronic components like Adafruit's board, displays, connectors and more can be downloaded from the Adafruit CAD parts GitHub Repo.

If building both props, it might be best to do them one at a time. While it would seem to make more sense to assembly-line the work for both, some of the parts (both electronic and 3D-printed) are very similar…if mixed up, you may find yourself having to dismantle and repeat several steps over.

These steps are only required for the “talking computer” prop; skip ahead if building the “total conversion beam.”

Install Key Caps

Fit the 9 key caps onto the mechanical key switches by press fitting them over the stems.

Get the key plate ready to install the key switches. There are 9 corresponding square holes, one per switch, with the center one at an angle.

Install Switches to Key Plate

The key plate is symmetrical and doesn't matter which side the  switches are installed. If one face looks nicer than the other, make that the top. Press fit the switches into the square holes to install them into the key plate.

Installed Switches

Double check all of the switches are fully seated into the key plate. Orientation of the pins doesn't really matter but feel free to orient them similarly. 

Ground Wires

All 9 switches will share a common ground connection. 8 short wires were measured, tips stripped and tinned (apply a thin layer of molten solder).

Ground Wire Lengths: 1.25 in

If using silicone ribbon cable, you can cut off a single chunk, then peel it apart into 10 pieces. Only 8 are needed here, but save one of the spares, you can use it for the amplifier board later.

Cable for Key Switches

A longer ribbon cable is used to connect the opposite pins of each key switch. The ribbon cable features 10 wires, 9 for the signals and 1 for the common ground connection. Splay the wires at each end about 1/2", strip just a small amount and tin the ends.

10-wire ribbon cable length: 8 inches

If you already have a healthy assortment of wire and didn’t get the ribbon cable, that’s fine, you can do this with individual 8-inch wires. Bundle them up with some tape, a zip-tie or heat-shrink tube to reduce chaos.

Shared Common Ground

One short wire and one wire from the longer ribbon cable is soldered to a pin on one of the key switches. 

The pins on the switches have no specific polarity; it doesn't matter which pin these ground wires go to, as long as they reach.

Solder Grounds

Proceed to solder all of the short wires to the ground pins on each of the 9 key switches.

Solder Signal Wires

Proceed to solder all of the signal wires to the opposite (non-ground) pin on each of the 9 key switches, peeling apart a little more of the ribbon cable to make each wire reach.

This will go inside the handle later. In the cartoon, the slider selects among the different modes/shapes and is called the widdershins. In our prop, it just makes nice clicky noises.

Cable for Slider Potentiometer

A matching pair of 3-pin Molex PicoBlade-compatible cables is used to connect the slider potentiometer. Using a pair of these cables will make the assembly much easier.

3-pin Molex Cable Length: 6 inches for ground and center tap (black and yellow wires), 4 inches for +V (red wire).

Solder Slider Potentiometer

Make the following connections to the 3 pins on the slide potentiometer:

  • Pin 1 – Black Wire
  • Pin 2 – Yellow Wire
  • Pin 3 – Red Wire

Wired Slide Potentiometer

Double check the wires are properly soldered to the pins on the slide potentiometer.

A little heat-shrink tubing keeps things tidy, totally optional.

Wires for Push Button

The push button is wired to a 2-pin JST cable to make the assembly much easier.

Wire Lengths: 6 inches.

Solder Cable to Push Button

Attach the two wires from the cable to the pins on the push button. Polarity does not matter. The wires are soldered to the pins at a right angle to make assembly easier.

Wired Push Button

Double check the wires are properly soldered to the two pins on the push button.

Wire for Slide Switch

The slide switch uses a 2-wire ribbon cable (or 2 separate wires) that will be soldered directly to the pins on the Adafruit Feather M4.

Wire length: 4 inches.

One wire goes to the center pin on the switch, the other goes to either one of the outer two pins. The opposite outer pin is not used and can be trimmed shorter if you like.

Wired Slide Switch

Double check the 2-wire ribbon cable is properly soldered to the pins on the slide switch.

Wires for Amplifier

The PAM8302 is wired directly to the pins on the Adafruit Feather M4.

3-wire ribbon cable (or 3 separate wires) length: 3 inches

Single ground wire: 1.25 inches. If you built the keypad earlier using a chunk of ribbon cable, one of the spare bits of wire from that is perfect here.

Solder Wires to Amplifier

Make the following wired connections. Use the short single wire to connect Pin A– to the GND pin. The 3-wire ribbon cable connects to pins A+, VIN and GND. SD (shutdown) is left unconnected.

Notice two wires share the amplifier’s single GND connection: one to A–, one to the Feather cable.

Soldered Amp Wires

Double check the wires are properly soldered to the PAM8302. Especially that two-wired ground connection. A cold solder joint there will cause unexpected noises.

2-pin JST Cable for Amp

A 2-pin JST cable is used to connect the speaker to the audio output. Red wire connects to positive pin ⊕ and black wire connects to negative pin .

2-pin JST socket cable: 2 inches.

Wired Amplifier

Double check the wires and cable are properly soldered to the PAM8302.

Solder Cable to Speaker

A 2-pin JST cable is used to extend the cable from the mini oval speaker. Clip the original mini connector off the end of the speaker wires and aim for the following wire lengths:

2-pin JST plug cable length: 2 inches

Speaker cable length: 3 inches

If your speaker cable was clipped shorter than this, you can compensate on the JST cable side, for a total of 5 inches.

Put some heat-shrink tubing over the JST wires before soldering to the speaker wires. Once the connections are soldered, slide the heat-shrink over the exposed part of the wires and apply heat.

Wired Speaker

Double check the cable from the speaker has been properly soldered and the connections are not exposed.

Cable for LED

A 2-pin Molex PicoBlade-compatible cable is used to connect the LED to the Feather M4. Make the following cable for connecting the LED.

2-pin Molex cable length: 4 inches.

LEDs have a specific polarity. The longer leg is the anode or + connection.

Next step involves trimming both legs, so it may be helpful to make a small dot with a permanent marker or paint, so you can keep track of which leg is which.

Right-Angled Pins on LED

Cut to trim the two leads from the LEDs shorter. Using a pair of flat pliers, carefully bend the pins so they're right-angled. 

Solder Cable to LED

Solder the red wire to the anode/+ pin (the longer leg before trimming) and the black wire to the cathode/– pin (shorter before trimming).

If you get this backwards, it’s not a disaster, the LED just won’t light. You’ll have an opportunity to test it before everything’s sealed inside the prop, and can make changes if necessary.

Wired LED

Double check the cable has been properly soldered to the pins of the LED.

Intermission! It’s a good idea to install the software before assembling electronics inside the prop. Later we’ll do a test run, and any trouble spots can be repaired without dismantling everything.

If you’ve done CircuitPython projects on the Feather M4 before, you know what to do: make sure CircuitPython is up to date with the latest release, and use the “Download Project Bundle” button below to get all the code and sounds. No extra libraries are required for this project.

If this is your first time using either CircuitPython or the Feather M4 board, we’ll direct you to a separate guide focused on setting that up (opens in new window):

Adafruit Feather M4 Express

At the very least, follow the steps on the “Update the UF2 Bootloader” and “CircuitPython on Feather M4 Express” pages to get the board prepared for this project’s software.

Then click the “Download Project Bundle” button below to get all the code and sounds. You’ll get a ZIP file which, after uncompressing, contains and code.py file and a folder called sounds. With the Feather M4 plugged into a USB port, drag both of these to the CIRCUITPY drive. Once it finishes, that should be all you need!

You can also read through the source code below if you’d like to learn more about how it works.

If building the Talking Computer: normally the keys play sound immediately when pressed. If you’d prefer the keys select sounds and the trigger plays the current selection, change buttons_play = True to False around line 38.

# SPDX-FileCopyrightText: 2021 Phil Burgess for Adafruit Industries
#
# SPDX-License-Identifier: MIT

"""
KZINTI COSPLAY PROPS for Feather M4 Express. Same code can be used for
the "talking computer" prop or the simpler "total conversion beam."
It's essentially just a sound board and relies on a bit of acting flair
from its operator: understand that the "mode selector" slider really
just makes clicky noises (doesn't select actual modes), the keypad (if
building the talking computer) plays or selects one of nine sounds, and
the trigger either plays a zap-gun noise or the last-selected sound.

'pew.wav' derived from freesound.org/people/newlocknew/sounds/520056
CC BY 3.0 creativecommons.org/licenses/by/3.0
Other sounds via Adafruit, MIT license.
"""

import board  #                   For pin names
import keypad  #                  For talking computer buttons
import pwmio  #                   For LED flicker
from analogio import AnalogIn  #  For slider potentiometer
from audiocore import WaveFile  # For WAV file handling

# audioio is present on boards w/DAC out. If not available, fall back on
# audiopwmio. If neither is supported, code stops w/ImportError exception.
try:
    from audioio import AudioOut
except ImportError:
    from audiopwmio import PWMAudioOut as AudioOut


# CONFIGURABLES -----

# If building the talking computer: setting this True makes the keypad
# buttons play sounds when pressed. If False, keypad buttons select but
# do not play sounds -- that's done with the trigger button.
buttons_play = True

sound_folder = "/sounds"  # Location of WAV files
num_modes = 5  #            Number of clicks from slider, plus one
pin_to_wave = (  # This table maps input pins to corresponding WAV files:
    (board.A1, "pew.wav"),  # Trigger on handle
    (board.D4, "1.wav"),  #   9 buttons on top (if building
    (board.D12, "2.wav"),  #  talking computer, else ignored)
    (board.D11, "3.wav"),
    (board.D10, "4.wav"),
    (board.D9, "5.wav"),
    (board.D6, "6.wav"),
    (board.D5, "7.wav"),
    (board.SCL, "8.wav"),
    (board.SDA, "9.wav"),
)  # Tip: avoid pin D13 for keypad input; LED sometimes interferes.

# HARDWARE SETUP ---- mode selector, LED, speaker, keypad ----

analog_in = AnalogIn(board.A2)  # Slider for "mode selector"
mode = (analog_in.value * (num_modes - 1) + 32768) // 65536  # Initial mode
bounds = (  # Lower, upper limit to detect change from current mode
    (mode * 65535 - 32768) // (num_modes - 1) - 512,
    (mode * 65535 + 32768) // (num_modes - 1) + 512,
)

led = pwmio.PWMOut(board.A3)
led.duty_cycle = 0  # Start w/LED off
led_sync = 0  #       LED behavior for different sounds, see comments later

# AudioOut MUST be invoked AFTER PWMOut, for correct WAV playback timing.
# Maybe sharing a timer or IRQ. Unsure if bug or just overlooked docs.
audio = AudioOut(board.A0)  # A0 is DAC pin on M0/M4 boards

# To simplify the build, each key is wired to a separate input pin rather
# than making an X/Y matrix. CircuitPython's keypad module is still used
# (treating the buttons as a 1x10 matrix) as this gives us niceties such
# as background processing, debouncing and an event queue!
keys = keypad.Keys([x[0] for x in pin_to_wave], value_when_pressed=False, pull=True)
event = keypad.Event()  # Single key event for re-use
keys.events.clear()

# Load all the WAV files from the pin_to_wave list, and one more for the
# mode selector, sharing a common buffer since only one is used at a time.
# Also, play a startup sound.
audio_buf = bytearray(1024)
waves = [
    WaveFile(open(sound_folder + "/" + x[1], "rb"), audio_buf) for x in pin_to_wave
]
active_sound = 0  # Index of waves[] to play when trigger is pressed
selector_wave = WaveFile(open(sound_folder + "/" + "click.wav", "rb"), audio_buf)
audio.play(WaveFile(open(sound_folder + "/" + "startup.wav", "rb"), audio_buf))

# MAIN LOOP --------- repeat forever ----

while True:

    # Process the mode selector slider, check if moved into a new position.
    # This is currently just used to make click noises, it doesn't actually
    # change any "mode" in the operation of the prop, but it could if we
    # really wanted, with additional code (e.g. different sound sets).
    selector_pos = analog_in.value
    if not bounds[0] < selector_pos < bounds[1]:  # Moved out of mode range?
        # New mode, new bounds. +/-512 adds a little hysteresis to selection.
        mode = (selector_pos * (num_modes - 1) + 32768) // 65536
        bounds = (
            (mode * 65535 - 32768) // (num_modes - 1) - 512,
            (mode * 65535 + 32768) // (num_modes - 1) + 512,
        )
        led_sync = 0  #              LED stays off for selector sound
        audio.play(selector_wave)  # Make click sound

    # Process keypad input. If building the "total conversion beam,"
    # only the trigger button is wired up, the rest simply ignored.
    if keys.events.get_into(event) and event.pressed:
        if event.key_number == 0:  # Trigger button
            # LED is steady for zap gun (index 0), flickers for other sounds
            led_sync = 1 if active_sound else 2
            audio.play(waves[active_sound])
        elif buttons_play:  # Other buttons, play immediately
            led_sync = 1
            audio.play(waves[event.key_number])
        else:  # Other buttons, select but don't play
            # Once another sound is selected, no going back to the zap.
            active_sound = event.key_number
            led_sync = 0  # Don't blink during selector sound
            audio.play(selector_wave)

    # LED is continually updated. If sound playing, and led_sync set above...
    if audio.playing and led_sync > 0:
        # Trigger button sound is steady on. For others, peek inside the
        # WAV audio buffer, this provides a passable voice-to-LED flicker.
        if led_sync == 2:
            led.duty_cycle = 65535
        else:
            led.duty_cycle = 65535 - abs(audio_buf[1] - 128) * 65535 // 128
    else:  # No sound, or is just selector clicks (no LED)
        led.duty_cycle = 0

Your Feather M4 Express CIRCUITPY drive should look like this after copying the sounds folder and code.py file.

Before proceeding with the last of the wiring, CircuitPython and the project’s code and data should already be installed on the Feather board, so we can give everything a dry run before sealing it inside the prop. If you haven’t installed that yet, back up to the “CircuitPython Code” page and load things up.

Keep in mind that two or three ground wires will need to share connections on the Feather board. We’ll let you decide which ones. It’s usually easiest when the narrowest-gauge wires are the ones sharing holes.

Wiring Amp and Switch to Feather

Wires from the slide switch and PAM8302 amplifier are soldered directly to the pins on the Feather M4.

Solder Slide Switch to Feather

The 2-wire cable from the slide switch is soldered to the following pins on the Feather.

  • Center pin on switch to En (enable) pin on Feather
  • Outer pin (with wire, not the unconnected one) to GND (ground) pin on Feather

Solder Amp to Feather

The 3-wire ribbon cable from the PAM8302 amp if soldered to the following pins on the Feather:

  • A+ pin to A0 pin
  • VIN pin to 3V pin
  • GND pin to GND pin

Wired Slide Switch and Amplifier

Double check the wires from the slide switch and amplifier are properly soldered to the pins on the Feather M4.

3-pin cable for Feather

The accompanying 3-pin Molex PicoBlade cable for the slider potentiometer will be soldered the pins on the Feather M4.

3-pin Molex cable length: 2 inches.

Solder 3-pin cable

Make the following connects on the Feather M4.

  • Red Wire to 3V pin
  • Black Wire to GND pin
  • Yellow Wire to A2 pin

Soldered 3-pin cable

Double check the 3-pin cable has been properly soldered to the pins on the Feather.

Cables for LED and Push Button

Use the following cables to connect the LED and push button to the Feather.

  • 2-pin JST plug cable length: 1.5in
  • 2-pin Molex PicoBlade cable length: 2.5in

Solder Push Button Cable

Make the following connections to the pins on the Feather M4.

  • 2-pin JST cable: A1 pin and GND (ground) pin

Since there’s no polarity to the button, it doesn’t matter which wire goes where, but the convention is to run the black wire to ground.

Solder LED Cable

Make the following connections from the 2-pin Molex cable to the pins on the Feather M4:

  • Red wire: A3 pin
  • Black wire: GND (ground)

Unlike the button above, the LED definitely cares about polarity!

Soldered Cables

Double check the cables have been properly soldered to the pins on the Feather M4.

Connect Components

Grab and connect the components to the various connectors. Connect the 2200mAh battery to the Feather M4. Use the slide switch to power the Feather on. Use the push button to test the circuit. The speaker should play audio and the LED should light up. Try the slider potentiometer, see if it makes clicky sounds. Are your solder connections secure, nothing cracking off? Good.

If you're building the “total conversion beam,” skip the steps below and proceed to the next page.

If you're building the Talking Computer, proceed here:

Wire Keys to Feather

Get the keypad assembly ready to solder to the Feather M4.

Solder Keys to Feather

Make the following connections to the Feather.

  • Ground Wire to any GND pin
  • Buttons 1 through 9: D4, D12, D11, D10, D9, D6, D5, SDA, SCL

You really do not need to connect wires to pins in the specific order above, but do use these pins. You can follow whatever order is easier to solder, then make adjustments in the code later if you require a specific sequence to the keys.

Soldered Keys

Double check all of the wires from the key switches are properly soldered to the Feather M4.

Connect Components

Proceed to connect the various components to the Feather.

Connect the 2200mAh battery to the Feather M4. Use the slide switch to power the Feather on. Use the push button and keys to test the circuit. The speaker should play audio and the LED should light up. Try the slider potentiometer, see if it makes clicky sounds. Are your solder connections secure, nothing cracking off? Good.

Hardware for Feather

Use the following screws to secure the Feather to the PCB mount.

  • 12x M2.5 hex nuts
  • 6x M2.5 x 10mm

Install Amplifier Screws

Insert 2x M2.5 x 10mm long screws through the two holes in the PCB mount. Reference the photo for correct orientation. Fasten 2x M2.5 hex nuts onto the threads of the screws to secure them to the PCB mount.

Install Feather Screws

Install 4x M2.5 x 10mm screws through the mounting holes on the Feather PCB. Fasten 4x M2.5 hex nuts onto the threads of the screws to secure them to the Feather.

Secure Feather

Place the Feather on to the PCB mount with the screw threads fitting through the mounting holes. Fasten 4x M2.5 hex nuts onto the threads of the screws to secure the Feather to the PCB mount.

Secure Amplifier

Place the PAM8302 amplifier over the two remaining screw threads. Fasten 2x M2.5 hex nuts onto the threads of the screws to secure the PAM8302 to the PCB mount.

Installed PCBs

Double check the Feather and PAM8302 are properly secured to the PCB mount. 

“Twist my widdershins until you reach the null position.” — Talking Computer

The steps here apply to either of the two props.

The shape of the handle is slightly different between them — the total conversion beam has an angled handle, while it’s perpendicular for the talking computer. Photos below show the angled handle. In both cases, the hole for the trigger button is near the top, and all the wires should be routed out that end of the handle.

Hardware for Slider Potentiometer

Use 2x M2 x 8mm long screws to secure the slider potentiometer to the handle.

Install Slider Potentiometer

Insert the slide potentiometer through the handle with the cable facing out the top. Fit the nub of the slider through the slit. Line up the potentiometer with the two mounting holes. Insert and fasten the M2 x 8mm screws to secure the slider potentiometer to the handle.

Secured Slider Potentiometer

Double check the slider potentiometer has ben properly secured to the handle.

Install Push Button

Insert the 16mm push button through the trigger hole of the handle. Fit the cable from the button through the hole and route so it's sticking out the top of the handle.

Secure Push Button

The interior of the handle is so cramped that we can’t fit the button’s original washer and screw! You can try a rubber o-ring or wrap the button with tape for a tight press-fit, or glue it from the back with a couple dabs of hot glue or a crafter’s adhesive like E-6000 (use a rubber band to hold the button in place while this dries for a couple hours).

Install Battery

Insert the 2200mAh battery through the bottom of the handle. Fit the battery through the built-in clip inside the handle.

Push the battery through the clip so it's fully fitted inside the handle with the cable sticking out the top.

Stuffed Handle

Double check the slider potentiometer, push button and battery are secured to the handle with their respective cables facing out the top.

These steps apply only to the total conversion beam prop. For the talking computer, you can skip ahead.

Secure Bottom and Middle

Use 3x M3 x 6mm machine screws to secure the bottom and middle parts together. The two parts are joined with the mounting holes lined up. Insert and fasten screws to secure the parts together.

Bottom and Middle

Double check the two parts are properly secured together.

Secure Nose

The nose is joined to the middle part with 2x M3 x 10mm long screws. Line up the two mounting holes and fasten the screws to secure the parts together.

Magnets for Top and Middle

8x magnets are used to join the top and middle parts together. This allows the top to be removed to allow access to the circuit.

The two parts feature four 1/4in diameter cavities for fitting the magnets.

  • 8x Magnets 1/4in diameter - 1/8in thick

Glue Magnets

Use a drop of super glue to permanently secure the magnets to the top and bottom parts. 

Take note of the polarities of each magnet. Use a marker to label the north/south poles for reference.

Secured Magnets

Allow the glue to dry before joining the two parts together.

Tip and Top

The tip part will need to be glued to the top part. Line up the parts before glueing them together to test fit them.

Glue Tip and Top

Add a few drops of super glue to the top surface of the top part. Place the tip over the top part while maintaining good alignment. Allow the super glue to dry before handling the parts.

Test Fit Parts

Bring the two parts together so the magnets snap together.

Add LED Holder

An additional holder is used to hold the 10mm LED in place. The LED holder is secured over the two screws that are used for the nose part.

Remove the two screws and place the LED holder over the mountings holes. Reinstall the two screws to secure the LED holder to the middle and nose parts.

Installed LED holder

Double check the parts are tightly secured together.

These steps apply only to the total conversion beam prop. For the talking computer, you can skip ahead.

Install Handle

Place the half of the blaster over the top of the handle.

Insert the various cables through the large hole in the half of the blaster.

Installing Handle

Line up the mounting holes from the handle and blaster half.

Install PCB Mount

Place the PCB mount over the mounting holes of the blaster and handle. Feather’s USB port faces toward the front of the prop.

While holding in place, insert and fasten 3x M3x12mm long screws to secure the PCB mount.

The screws secure the PCB mount, blaster and handle together.

Note: there is a fourth mounting hole, but it’s obscured by the Feather PCB so we’ll just skip it. Three screws should suffice, or you can use a few small dabs of glue to help reinforce the body-to-handle connection.

Secured PCB mount

Double check the PCB mount is properly secured to the blaster and handle.

Install LED to Holder

Fit the 10mm LED through the clip of the holder inside the half of the blaster.

If the LED doesn’t press-fit firmly, a dot of glue will help hold this in place.

Install Speaker

Peel the adhesive tab and press the speaker face-down into the cavity inside the half of the blaster.

Install Slide Switch

Insert the body of the slide switch to the built-in holder inside the half of the blaster.

Connect Amplifier

Plug in the cable from the amplifier to the accompanying connector on the Feather.

Connect LED

Plug in the cable from the LED to the accompanying connector on the Feather.

Connect Battery

Plug in the cable from the battery to the battery port on the Feather M4.

Connect Slider Potentiometer

Plug in the cable from the slider potentiometer to the accompanying connector on the Feather.

Connect Pushbutton

Plug in the cable from the push button to the accompanying connector on the Feather.

Connect Components

Double check all of the components are properly connected.

LED Trigger Test

Use the slide switch to turn on the Feather. Use the pushbutton to test out the circuit.

Install Pommel

The pommel snap-fits to the bottom of the handle.

Final Build

Place the top half over the body (magnets will click them together) to finish the build.

USB Connect

It’s pretty cramped inside the case, and you might need a right-angle or particularly small USB micro-B cable to charge the battery or update the code and sounds.

Remember that to update code or sounds over USB, the switch will need to be in the “on” position.

These steps apply only to the talking computer prop. For the total conversion beam, you can go back.

Magnets for Melon Halves

8x magnets are used to join the top and bottom parts together. This allows the top to be removed to allow access to the circuit.

The two parts feature four 1/4in diameter cavities for fitting the magnets.

  • 8x Magnets 1/4in diameter - 1/8in thick

Glue Magnets

Use a drop of super glue to permanently secure the magnets to the top and bottom parts. 

Take note of the polarities of each magnet. Use a marker to label the north/south poles for reference.

Secured Magnets

Allow the glue to dry before joining the two parts together.

These steps apply only to the talking computer prop. For the total conversion beam, you can go back.

Install Handle

Place the half of the melon over the top of the handle.

Insert the various cables through the large hole in the half of the blaster.

The trigger button on the handle and the speaker grille in the melon-half should point the same way — this is the front of the prop.

Installing Handle

Line up the mounting holes from the handle and melon half.

PCB Mount

Get the PCB mount ready to install into the half of the melon.

Install PCB Mount

Place the PCB mount over the mounting holes of the melon and handle. Feather’s USB port should point away from the speaker grille.

While holding in place, insert and fasten 3x M3x12mm long screws to secure the PCB mount.

The screws secure the PCB mount, melon and handle together.

Note: there is a fourth mounting hole, but it’s obscured by the Feather PCB so we’ll just skip it. Three screws should suffice, or you can use a few small dabs of glue to help reinforce the body-to-handle connection.

Secured PCB mount

Double check the PCB mount is properly secured to the blaster and handle.

Install Speaker

Peel the adhesive tab and press the speaker face-down into the cavity inside this half of the melon.

Install Slide Switch

Insert the body of the slide switch to the slide switch holder.

Secure Slide Switch Holder

Place the slide switch holder into the melon half. Line up the mounting holes. Insert and fasten 2x M3 x 6mm screws. Use matching hex nuts to secure the slide switch holder to the melon half.

Install LED

Insert the 10mm LED through the hole in the top half of the melon part. It might not press-fit firmly, but the next part will help hold it in place…

Secure Key Plate

Place the key plate over the top half of the melon. Line up the mounting holes. Use 4x M3 x 6mm long screws to secure the key plate to the top melon half.

Connect Components

Connect the cables from the various components to their accompanying connectors.

Join Melon Halves

Bring the top half of the melon to the bottom half to join them together.

Test Circuit

Use the slide switch to power on the circuit. Use the push button and key switches to test the circuit.

Install Pommel 

The pommel snap fits on to the bottom of the handle.

Final Build

Your build is ready! Congratulations!

USB Connect

It’s pretty cramped inside the case, and you might need a right-angle or particularly small USB micro-B cable to charge the battery or update the code and sounds.

Remember that to update code or sounds over USB, the switch will need to be in the “on” position.

Slider Potentiometer

Use the potentiometer slider to create a "clicking" sound. This doesn't actually change any of the sounds, it’s just to mimic the prop on the TV show…though if you get into customizing the code, it could be used as a starting point for more sound sets.

DOES NOT ACTUALLY CHANGE SHAPE – THIS IS A PROP!

Push Button Trigger

Use the push button to play the "blaster" sound. The yellow LED will light up when the push button is pressed.

DOES NOT ACTUALLY SHOOT LASERS OR SPARKLES

Mechanical Key Switches

Use the key switches to play sounds, up to 9 different ones! The yellow LED will light up and flicker for the duration of the audio.

If building the Talking Computer: normally the keys play sound immediately when pressed. If you’d prefer the keys select sounds and the trigger plays the current selection, edit the code.py file and change buttons_play = True to False around line 38.

This guide was first published on Nov 09, 2021. It was last updated on 2021-11-09 20:43:12 -0500.