TKTalkie V3 Tutorial (BLE)

These tutorials are provided so that you can build a TK-Talkie for yourself...you can even build them for your friends. The license that comes with TK-Talkie does prevent the sale of them, however.

If you would like to make these AND sell them...well you can't ;)

HOWEVER, if you would like to sell them, then you should join our affiliates program.

***** NOTICE !!! *****

This is the original version of the v3 tutorial that shows how to convert a v2 TK-Talkie to a v3.

If you are building from scratch, use the revised tutorial.

TKTalkie is a DIY voice effects project that is easy to build and easy to customize. This page will serve as the tutorial page for the latest version of TKTalkie V3.

TKTalkie is basically a two-part system consisting of the hardware and software. For this reason, hardware/software versions may not always run concurrent as the software and hardware can be modified separately from each other and still be compatible.

Current Versions:

NOTE ABOUT DOWNLOADING SOURCE CODE: DO NOT copy and paste the source code files, especially Windows users! This will result in extra characters that will cause compile errors. If you get 'Stray \302' errors when you compile, this is why! Use the DOWNLOAD button to save the source code!

Differences from V2:

You must first build your TKTalkie V2, then follow the steps below to attach the input jack for the BLE module as well as assemble the BLE module connection.

BEFORE YOU SOLDER!!!! You only need to solder 15 pins total to join the Teensy to the Audio Adaptor. SNAP the pin headers into the following pieces before beginning and line them up according to the image of the solder points. This leaves the holes on the Teensy available for other options! You can snap them pretty easily using a pair of pliers and your fingers.


Table of Contents

  1. Parts List
  2. Connections
  3. Female Jack
  4. Male Jack
  5. BLE to Male Jack
  6. Check Connections
  7. Prep the SD Card
  8. Upload the TKTalkie Sketch
  9. Download the App

NOTICE!!!! There are a couple of things you SHOULD NOT do once you have your project built:

  1. Do not plug or unplug the BLE adapter while the unit is powered. Since we are connecting to the power circuit of the board to power the BLE, you could interrupt this and potentially damage the board.
  2. Do not insert or remove the Micro SD card while the unit is powered. They don't like this very much.

Only plug/unplug peripherals when the board is not powered.

1. Parts List

The parts list for v3 is the same as v2, with a few extra parts:

  1. BLE Module - You can use either an original HM-10 or commonly found HM-10 clone called CC2541. You can read a short article on how the two compare and what to look for, but either one will work. Note: You CANNOT use an HC-06 or HC-05 module as these are not NOT BLE (Bluetooth Low-Energy) and will only work with Android, plus the software is setup for BLE only. ONLY BLE modules will work with both Android and iOS! If you search eBay for HM-10, 99.99% of them are actually CC2541's marketed as HM-10. Again, either will work, and the CC2541 costs less.
  2. 4-Conductor Male/Female 3.5mm (1/8th") Jacks - We use 4-conductor because we'll need 4 connections: Transmit, Receive, Power and Ground. This type of jack is a quick and easy way to accomplish this. 4-conductor male jacks are the ones with 3 stripes, most commonly used in headphone/mic combos (like for mobile phones or gaming consoles and computers.) Again, you can find these on eBay pretty cheaply.
  3. 4-Conductor Wire (optional) - I used some 4-conductor 24AWG (Gauge) wire from the BLE to the male 3.5mm jack. You can use 4 separate pieces of wire, though.
  4. 2.54mm Wire Jumper Connectors - Since my BLE had pins, I used some 2.54mm jumper connectors. This is optional. You can solder directly. I picked these up from my local Fry's but these are pretty easy to find.
  5. Case - You'll need something to put your TKTalkie in. You can download and print (or have printed) the TKTalkie V3 Case or design something of your own. You can also buy one from the store.

Items Not Pictured

Of course there are other items/tools you will need:

2. Connections

The wiring of the BLE to the Teensy/Audio Shield is pretty straightforward. As you can see in the photo, the connections are (going from BLE to Teensy):

Power and ground go straight through, while the TX (Transmit) of the BLE goes to the RX (Receive) of the Teensy, and RX (Receive) of the BLE to the TX (Transmit) of the Teensy.

Keep reading below to see how to wire up the connections.

3. Female Jack

PLEASE NOTE...BEFORE YOU SOLDER! - This tutorial was originally written to upgrade an existing V2 TKTalkie so these connections were soldered to unused pins. If you have followed the updated directions for breaking the header pins apart and only soldering what is needed, you should have open pin holes on the Teensy that you can solder these connections to:

The female jack is wired to the Teensy/Audio Shield.

Follow the pin-outs in the photo as they correspond to the female connections to the Teensy/Audio Shield.

NOTE: You'll want to keep the wires short as seen in the photo so that everything fits neatly in the case.

4. Male Jack

The male jack is wired to the BLE. The pins used on the BLE are basically the same as for the female connection, however the TX/RX connections are swapped. The TX (transmit) of the BLE needs to connect to the RX (receive - pin 0) of the audio shield, and the RX of the BLE goes to the TX (pin 1) of the audio shield.

Refer to the photo in the "Connections" step to see how the wires are connected.

5. BLE to Male Jack

The other end of the male jack is connected to the pins of the BLE. You can connect the wires in one of several ways:

In this tutorial we'll be using the 2.54mm jumpers. If you don't have them (or are impatient) you can just solder directly. Be sure to follow the rest of the tutorial, however, so that your connections are correct.

Cut about 1/8" off of the end of each of the wires. This will be inserted into the jumper.

With pliers, pinch the metal arms around the wire to hold it in place.

Insert the wire into the jumper holder. Be sure that opening is at the bottom of the jumper. There is a tab on the jumper that will lock the wire inside the jumper holder.

When you have all the wires set, use some heat shrink tubing (or electrical tape) to hold them in place. It's a good idea to mark the pin that is connected to VCC/Power so it's easier to make sure they are lined up correctly when connecting to the BLE.

6. Check Connections

Never connect/disconnect your BLE from your TKTalkie while the power is on! You could damage the TKTalkie!

Once you have everything wired up, plug it in to the TKTalkie.

You should see the light on the BLE blink slowly. Since this is a BLE and not "regular" bluetooth, your phone will not be able to see it if you scan for local Bluetooth devices. This is because of the way the communication is setup for BLE devices. There are no "contracts", so you don't need to pair it. They basically use on-demand connections. Don't worry, there is a passcode that is used between the app and your BLE (which you can change) to prevent people from just randomly connecting to your BLE.

If you want to test if your BLE is up and running before you install the TKTalkie app, you can download a BLE scanner app for iOS or Android. For example, you can install LightBlue for iOS or BLE Scanner for Android.

7. Prep the SD Card

Never insert/remove the SD card from your TKTalkie while it is powered on, or the card could be damaged!

(This is actually true of all SD card readers...not a good idea...)

Before uploading the program to your TKTalkie, go ahead and get your micro SD Card ready.

NOTE: - Your SD card should come ready-to-use, but if not, you can format it. DO NOT use the built-in formatting functions of your OS (Apple, Windows) as they are not really built for that. Instead, grab a copy of an SD card formatting utility like SDFormatter and use that. It's made just for SD cards.

Download the SD card contents from the downloads page and copy them to your SD card.

The following files and folders should be on your card when you are done:

The sounds/, effects/, and loops/ folders do not actually contain any files. You can download them from the downloads page.

The folders containing the sound files are the defaults. You can actually create new folders to hold different types of sounds (for example, a new effects folder for sounds to use with a different costume) if you want. Those folders are specified in the configuration files of each profile.

8. Upload the TKTalkie Sketch

Now that your TKTalkie is complete, whether you are building a new one or updating your existing one, you need to upload the new TKTalkie version 3 sketch. You'll do this using the Arduino software and the Teensy Loader. Follow the directions below to install this software (or skip ahead if you already have it installed.)

First thing to do is install the Arduino software. Currently, the TKTalkie software is written to work with 1.8.0 and above. Download it and install it.

Then, download and install TeensyDuino. Both pages will have instructions on how to install them.

The Teensy board is compatible with Arduino and you can use the Arduino programming environment to write software for it. Teensyduino is a loader program that is used to transfer the compiled program to the Teensy and works on top of the Arduino environment.

Next thing to do is download the TKTalkie sketch ("sketch" is a term used in the Arduino world to reference a program's source code.)

Download all the files from the tktalkieV3/ folder.

Next, follow these steps to get the sketch loaded on your TKTalkie:

  1. Plug your TKTalkie into your powered speaker with a 3.5mm (1/8") audio cable using either the Aux/Line-In on your speaker or the microphone connection. You can plug some headphones into the headphone jack...but it might be REALLY loud until you get your settings adjusted...you have been warned ;)
  2. Connect the Teensy with the USB to micro USB cable. Plug the micro USB end to the Teensy and the USB end to your computer. You should see the on-board LED light up. This means you have power ;)
  3. In the Arduino software, go to Tools > Board and make sure to select the correct board (in this case, Teensy 3.2/3.1).
  4. Go to Tools > Port and select the correct serial port (the one your Teensy is connected to)
  5. Go to File > Open and locate the folder where you downloaded the TKTalkie files and open the tktalkieV3.ino file.
  6. Click the button in the Arduino program that looks like a checkmark. This pre-compiles the source code to make sure everything is ok. It should also trigger the TeensyDuino.
  7. Click the “Upload” button (the one that looks like an arrow pointing right.) If everything is connected correctly, the sketch should compile and load onto your Teensy. Then the board should restart and you should hear the STARTUP.WAV file play.

If the sketch doesn’t load (i.e. you get an error in the Arduino window), make sure your pins are connected correctly and that you have selected the correct board and serial port (see above.) Also make sure the volume is turned up on your speaker.

9. Download the App

Now that your TKTalkie is ready, all that is left is to download the app and connect to your device!

The app is available for iOS and Android. Click a link below to download it.

Here is the video showing how the app works...

10. Congrats!

Now that your TKTalkie is complete...go troop and enjoy!

If you need any assistance with your project, please contact us or visit us on the whitearmor.net forums (just search TKTalkie).