Welcome to TalkBotBrain.com - make your 'bot talk!

Welcome to TalkBotBrain.com

The TalkBotBrain (often abbreviated TalkBot) is a tiny robot controller (robot brain) which also talks. It uses a PIC microcontroller and has 1 Megabit of additional sound storage which will play up to 256 separate sounds, up to 24 seconds total of 1bit sound at 44.1kHz. It also controls 8 RC servos. TalkBotBrain comes fully assembled and pre-programmed with "slave" firmware. In this format TalkBot operates as a serial-controlled slave, which accepts 1byte and 2byte serial commands to play sounds and 2byte commands to control RC servos. In slave form it is perfect to add speech to your existing robot (and more servos) at low cost.
TalkBotBrain - robot controller

TalkBotBrain is also a full robot controller in it's own right, it can be used as a complete brain for small robots, at a price and size that beats many small robot controllers AND it talks too!


Where to buy a brain!
Open-source licensing
TalkBot specs
Connecting TalkBot
Making TalkBot talk
Making a serial download lead
NEW! Talkbot projects!
NEW! Talkbot tutorials!
Loading a new sound library into Talkbot
Serial commands
Connecting RC servos
Using BTc3 Sound Encoder
Sound libraries
NEW! Sound utilities
TalkBot instructions and PDFs
NEW! Source files
Sound Library formats
Be a part of the TalkBot Project
More coming soon!

Where to buy a brain!

TalkBotBrains are available from these distributors; www.BlackRobotics.com

Open-source licensing

The PIC firmware inside the TalkBotBrain is open-source for use by TalkBotBrain owners on original TalkBot hardware. You can modify the firmware to make the TalkBotBrain do different tasks like being a complete robot controller with speech, or make a datalogger, or make talking home applicances, whatever you want it to do. However the TalkBot hardware design, PCB layout, schematic and circuit operation are protected and remain the property of Black Robotics.

Black Robotics make the TalkBotBrain as a reduced-cost added-value design; reduced-cost to make it readily available to robot clubs and schools etc, and added-value because it has open-source firmware, free Sound Libraries, free Windows sound software, and comes fully pre-programmed and fully assembled at a price lower than what many robot controller PCB kits cost.

To summarise; Buy a cheap TalkBotBrain from Black Robotics, then you can use the free firmware, source files, sound libraries, Windows software and robot designs etc here on TalkBotBrain.com to make your TalkBot do whatever you like.

TalkBot specs

  • Tiny size 45 x 34mm (1.8 x 1.3")
  • Supply voltage 5v to 14v DC
  • Fully assembled and pre-programmed
  • 18-pin PIC, popular 16F series at 20MHz (open-source firmware)
  • Receives simple serial commands at 19200 baud
  • Automatically drives 8 servos
  • 1 Megabit (23.8 seconds @ 44.1kHz) of non-volatile sound
  • Playback up to 256 individual sounds
  • Free Windows software to make sound libraries
  • Sound library download via PC serial port
  • 2 buttons, 2 LEDs
  • Specialty design energy-efficient features;
    • Low quiescent current low-dropout 5v 500mA regulator
    • Custom speaker amp uses zero power unless playing
    • Custom RS232 driver uses zero power unless downloading
    • Uses less than 5mA, and only 20mA when playing!

    Connecting TalkBot

    TalkBot schematic

    As a bare minimum, you need to connect power and a speaker.

    To control TalkBot from another Microcontroller via serial commands, connect to the 3pin Logic-Level serial connector.

    To control TalkBot from a PC serial port, or download a new sound library into TalkBot, connect to the 3pin RS232 level connector.

    To connect up to 8 RC servos to TalkBot, see the Connecting RC servos CHAPTER

    Making TalkBot talk

    Just press the button!

    Make the TalkBot talk

    Step 1. Plug in a speaker (8 to 32 ohms).

    Step 2. Connect the battery (any type from 5v to 14v DC) and turn the Talk Bot ON. It will make a short beep and LED flash to indicate that it powered up correctly.

    Step 3. Press Button2 to play a sound. Each time you press Button2 it plays the next sound in its stored sound library.

    Step 4. Press Button1 to reset back to the first sound.

    Making a serial download lead

    OK, so you probably bought the optional serial download lead when you bought your TalkBot, but here is the diagram just in case you want to make your own lead;

    How to make a serial lead

    Loading a new sound library into Talkbot

    Download sound library into Talk Bot

    Step 1 + 2. Connect the PC serial lead to TalkBot and to your PC serial port. Connect battery power to TalkBot and turn it on. The speaker can be connected if you like.

    Step 3 + 4. Hold down Talk-Bot Button2 for three full seconds. LED1 will start slowly flashing to show talkbot has gone into download mode.

    Step 5. Use a serial file transfer freeware like SendFile and choose which Sound Library *.BTL file you want to load from your PC into your TalkBot. Click SEND on the Sendfile program, the Sound Library will automatically download. TalkBot flashes its LED fast and makes a noise to show download is happening. Large sound libraries may take up to 50 seconds to download.

    Done! If the speaker is connected you can play the new sounds.

    SendFile (HOME PAGE) can also be downloaded here; SendFile DOWNLOAD.

    Serial commands

    TalkBotBrain is designed to be controlled using serial data at 19200 baud. It accepts 1byte and 2byte commands sent from your PC via serial port, or sent from another microcontroller like a PIC or AVR etc.

    This lets you connect TalkBot to your existing robot and add speech and up to 8 more RC servos to your robot. And it only needs ONE serial pin (RX) to control it!

    Talk Bot Brain serial commands

    More information about the TalkBot serial commands can be found in the TalkBotBrain firmware C source code DOWNLOAD.

    All TalkBotBrain firmware is written in C language using the MikroC for PIC Compiler

    Connecting RC servos

    Connecting RC servos

    A tutorial shows a custom built application; Talking door lock using an RC Servo

    Using BTc3 Sound Encoder

    BTc3 Screen Shot

    This Windows software converts .WAV files into the .BTL format used by TalkBot.

    BTc Sound Encoder v3.0 is free software provided by PIC author Roman Black and has been specially adapted to work with the TalkBot project. It can build Sound Libraries; a group of up to 256 sounds in one easy file that automatically handles sound lengths and start-end pointers for each sound. Using this powerful free software you can make your own sound libraries from any .WAV files, like this;

    Step1. Open any .WAV file
    Step2. Add another .WAV file to the end of it (add up to 255 sounds)
    Step3. Save .SL Sound Library file (it handles all the smart stuff for you)
    Step4. Export .BTL Library file (ready for TalkBot!)

    Now you just download that ONE easy .BTL file into your TalkBot and it can play all the sounds!

    BTc Sound Encoder v3.0 has other powerful features;

  • Perform volume changes and dynamic compression
  • Re-sample the sound from any bitrate to any bitrate
  • Remove deadspace between sounds
  • Adjust BTc encoding settings to give better sound playback
  • Can open and edit other people's .SL Sound Library files

    Here is the Windows BTc Sound Encoder program complete DOWNLOAD and here is it's comprehensive BTc Sound Encoder Help File DOWNLOAD

    NOTE for Windows VISTA users! To run this software under Vista; You need to right-click on it and select "Run as administrator".

    Sound libraries

    TalkBot uses 2 types of sound libraries;

    .SL files These are the proper sound library files and can be edited, they let you add or remove sounds and change sound settings etc. This is generally what is called a "sound library". If you distribute in .SL format other people can edit and improve your library or compile sounds from different libraries into their own.

    .BTL files are the same sound libraries, after encoding into BTc 1bit format. The .BTL file is the file that is downloaded directly into TalkBotBrain. Since a .BTL is made from a .SL you generally have the same library in both forms; the .SL you can edit and the encoded .BTL for loading into TalkBot. If you distribute in .BTL format people can play your library in their TalkBot but there is no easy way for them to edit or extract sounds.

    Where possible we have tried to include both files for download.

    See Sound libraries download PAGE for free libraries you can download.

    If you want to send us libraries please zip them, attach to an email and email them to; tech@talkbotbrain.com and we will add them to our downloads page.

    NEW   Sound utilities

    Although you can easily put your own voice in your TalkBot you can also use these Sound Utilities, Windows software that generate speech and sound effects.

    You can type in text and these software utilities will then make speech and read out what you typed. If you want to make your TalkBot sound like an evil robot overlord, or re-create the classic 1980's talking computer synthesised speech, of even to generate pure synth sounds like laser guns etc then see our Sound utilities PAGE

    TalkBot instructions and PDFs

    Currently this web page is the main source of TalkBotBrain instructions. A .PDF is being compiled to be released soon.

    The TalkBotBrain Schematic IMAGE

    Sound Library formats

    This info is for people who want to write their own software to work with Sound Library data. Both .SL and .BTL Sound Libraries have a 1024 byte header followed by one stream of sound data.

    1024 byte header; This contains 256 pointers, one for each sound. Each pointer is 4 bytes long and read MSB first. Normally the first 2 bytes are zeros. These pointers refer to the END of each sound, so a sound length for sound3 is calculated by; (sound3_pointer - sound2_Pointer) and the start point for sound3 is the value in sound2_pointer. The pointer value refers to CHUNKS which are always 32 samples in length. This means it only needs a 2 byte pointer to address a total of 2 Megasamples. If a sound does not exist its pointer will always be zero.

    .SL files; These have a 1024 byte header, followed by the sound data in one stream of unsigned 8bit mono sound. The pointer values refer to chunks of 32 samples, ie each chunk is 32 bytes in data length.

    .BTL files; These have a 1024 byte header, followed by the sound data in one stream of BTc Encoded 1bit sound. The pointer values refer to chunks of 32 samples, ie each chunk is 4 bytes in data length.

    Be a part of the TalkBot Project

    If you want to become a part of the TalkBot Project please send any information that might be of use to other TalkBot owners; like sound libraries, source code, pictures/schematics of your great talking gizmo etc. We would love to add your TalkBot info to this page!

    You can email stuff to us here; tech@talkbotbrain.com

    More coming soon!

    ** Watch this page over the coming weeks **

    Page last updated; Oct 19th 2009 - Copyright 2009 - www.TalkBotBrain.com