Kyber Controls
Kyber Echo
User Guide
← Installer

Making your droid talk with Kyber Echo

Kyber Echo is the sound board inside your droid. It stores your sound library and controls when each sound plays. It can play up to three sounds at once: drive-motor audio, dome-movement audio, and user-triggered effects. The lights and jaw can also move in sync with playback.

You control Kyber Echo from your radio and configure it through a web interface hosted by the droid. No app, cable, or disassembly is required. This guide explains each page of the interface and every available setting.

01Before you start

You need three things. No tools are required.

  • Your droid, powered up Give it a few seconds. The screen runs through its checks, then settles into its normal display, which means it is ready.
  • Your radio During normal use, its sticks and switches trigger the sounds. The web interface only determines which sound is assigned to each control. Sections 06 onward assume that your radio is available.
  • A device with a web browser Any device that can connect to Wi-Fi and open a web page: a laptop, desktop, tablet, or phone. Use the largest screen available for the initial setup because the mapping tables are wide and contain many labels. Every feature remains available on a small screen, but wide tables scroll horizontally.
Everything in this guide is done from a browser. You do not need to open the droid, connect a cable, or handle the memory card.

02Opening the web interface

A new droid does not yet know your Wi-Fi network name or password, so it cannot connect to your network. Instead, it creates its own temporary Wi-Fi network for the initial setup.

  1. Look for a network called ECHO_xxxx Join it as you would any other Wi-Fi network. The password is 12345678 unless you have changed it. The four characters at the end distinguish your droid from other nearby droids.
  2. Open 192.168.4.1 in your browser Type it into the address bar exactly as written. The web interface loads.
  3. Ignore the "no internet" warning The warning is accurate: this network has no internet connection. It only provides access to the droid's web interface.

Once you are connected, the address shown on the droid's screen is always the current one. When in doubt, read it there.

The network band of the droid's screen, showing ECHO_D1D8 above the address 192.168.4.1.
The network band shows the Wi-Fi network to join and the address to open. Once the droid connects to your Wi-Fi, this band shows the new network and address.
You have 60 seconds. If nobody connects within that first minute, the droid stops broadcasting its Wi-Fi network to avoid interference with your radio. Restart the droid to begin another 60-second connection window.

03The web interface at a glance

The web interface has seven pages, listed on the left. You will use a few of them regularly; the others usually require only initial configuration.

The Dashboard as the web interface opens, with the Status, Firmware Information, and update cards filled in.
The web interface opens on the Dashboard, with seven pages listed on the left. Uptime, Wi-Fi, and radio-link information update automatically, providing a live view of the droid.
PageWhat it is for
DashboardThe droid's current state, plus updates, backups, and restart.
ChannelsWhich control on your radio does what. Set up once, early on.
SoundsWhich sound plays when. The page you will return to most often.
Jaw ServoIf your droid has a moving jaw, how it follows the voice.
SD CardYour sound library — add, listen, rename, remove.
NetworkWi-Fi and how to join yours — the next section.
LogsThe droid's own messages. Worth checking when something is not behaving.
The web interface page list: Dashboard, Channels, Sounds, Jaw Servo, SD Card, Network, and Logs.
The seven pages, down the left of every screen. The one you are on is outlined.
Automatic saving. Changes are saved a second or two after you make them, and a short message confirms the save. Buttons are reserved for immediate actions such as connecting to Wi-Fi, creating a backup, or restarting the droid.

The top bar contains a light/dark switch and, when a newer software version is available, a small update badge. The bar appears on every page.

The web interface title bar, showing an update badge next to the light/dark switch.
The badge only appears when there is something to install. Pressing it takes you to the Dashboard.

04Joining your Wi-Fi network

This step is optional but recommended at home. Once the droid joins your Wi-Fi, you can reach the web interface without disconnecting from your network. When your network is unavailable, the droid falls back to its own Wi-Fi network. No manual switching is required.

Open the Network page. It is in three parts.

The Network page, its three cards stacked, scan results listed.
The whole page at once. The three cards below are the same three, one at a time.

Wi-Fi Status

Shows the current network, address, and signal strength. Check here first whenever the web interface is difficult to reach.

The WiFi Status card, showing Station mode, the network Tatooine and the address 192.168.1.42.
Read left to right: the connection mode, network name, address, and signal strength received from your network.

Connect to Network

  1. Switch on Try to Connect to WiFi When this option is disabled, the droid does not look for your network and always creates its own.
  2. Press Scan, then tap your network in the list Selecting a scan result fills in the network name and avoids typing errors.
  3. Enter the password and press Connect Then restart the droid. It will connect to your saved network automatically and fall back to its own network when yours is unavailable. Its address changes with the network, so 192.168.4.1 may no longer apply. Read the current address on the droid's screen before opening the web interface again.
The Connect to Network card with the connection switch on and a list of scan results.
If your network is missing from the list, the droid cannot hear it from where it is standing. Move it closer and scan again.

Create WiFi Network

Changes the name and password of the droid's own network. Leave the name blank to keep the automatic ECHO_xxxx. The password must be at least 8 characters; leaving it blank creates an open network. Changes to the name or password take effect only after the droid restarts. Until then, the current name and password remain active.

The Create WiFi Network card, with fields for the network name and its password.
These two fields control the network the droid creates for access to the web interface.
Change the default password before using the droid in public. Every new droid uses 12345678, so anyone nearby who knows the default could access the web interface. Set a unique password during the initial setup.
The droid's own network turns off when unused. If nobody connects to the web interface for one minute, the droid stops broadcasting Wi-Fi until it is restarted. This provides a second layer of defense behind the password. The timer resets while a device is connected, so it will not interrupt an active session.
If the droid loses your network, it does not keep trying to reconnect because repeated attempts would continue transmitting in the band used by your radio. Restart the droid when you next need the web interface.

05Adding your own sounds

Upload your sound files before configuring the Sounds page. The web interface accepts both MP3 and WAV files.

The SD Card page: the upload area at the top, the sound library listed below.
The SD Card page holds your complete sound library. The search box filters the list as you type, which is especially useful when the library contains more than a hundred files.
Start from an empty card. Existing files may conflict with the numbers you plan to assign because buttons use numbers, not names. Back up any files you want to keep before continuing. On the SD Card page, select every file from the table header, then delete them. If you use a card reader instead, formatting the card also erases all of its contents.

Open SD Card. Drag files onto the upload area, or select the area to browse. You can upload multiple files at once. MP3 and WAV files are converted to the required playback format during upload.

The File Management card: a dashed upload area above a search box and a Refresh button.
Drop files on the dashed area, or select it to open a file picker. You can upload multiple files at once.

Names are how sounds are identified

Every sound is identified by a number from 001 to 999, which you will select later on the Sounds page. You can add a descriptive name after the number. The droid ignores the descriptive part, but it makes the file list easier to read.

Naming that works
Fine
001.wav
Better
001_Leia.wav
Also fine
042_Angry_Whistle.wav
No good
whistle.wav
No good
0001.wav

Filenames must begin with exactly three digits. A filename without a number is ignored. If it begins with four digits, the droid reads only the first three and may assign the file to the wrong number. For example, 0001.wav is read as 000, which cannot be selected on the Sounds page.

Listening before you use a file

Each file offers two ways to hear it, and the difference matters:

ButtonWhat you hear
Play on devicePlays through the droid's speaker. Use this to judge how the sound will be heard from the droid.
PreviewPlays through your browser and speakers. Use this to identify files quickly; playback may sound different on the droid.
RenameChanges the number used to identify the sound. See the warning below.
DeleteDeletes one file, or several selected files at once.
Two rows of the file list, each ending in four action buttons.
The four buttons sit at the end of every row, in the order of the table above: play on the droid, preview here, rename, delete.

The Role column

Every sound plays the same way when a button calls it. What the Role column decides is what else happens while it plays — whether the mouth moves, whether the eye blinks, and whether the sound gets a channel of its own. Each file has one role, and only one.

RoleWhat the sound does
Plays, and nothing else moves. This is what every file starts as.
VoiceMoves the jaw in time with the speech in it. Picking this measures the file first — see Jaw servo.
PSIBlinks the PSI eye, brightness following the sound. Meant for beeps, whistles, and chatter.
MusicPlays on its own channel, so it keeps going while the droid beeps and talks over it.

Everything else on the droid shares a single channel: one sound at a time, and a new one cuts off whatever was playing. That is why a long song needs the Music role — set to anything else, the first beep would cut it short.

Worked example

Rolling to a child with a birthday song playing, beeping as you go.

200_Birthday.wav
Music — keeps playing throughout
009_Beep.wav
PSI — the eye flashes with each beep
001_Hello.wav
Voice — the mouth moves, and it interrupts the beep

A file with no three-digit number shows a dash instead of a selector. The droid tracks roles by sound number, so 042_Leia.wav can have one and leia.wav cannot.

Nothing moves and nothing blinks until you set some roles. That is deliberate: a whole card set to Voice would slam the jaw on every engine rumble, and a whole card set to PSI would leave the eye flickering all day. Start with a handful of files and add more as you go.
Renaming a file can change existing button mappings. Buttons point to numbers, not names. If you rename 012_Beep.wav to 031_Beep.wav, every button assigned to 012 will play another file at 012 or nothing at all. Decide on your numbering early and keep it consistent. Renaming also clears that file's Role, since the role and the measurement behind it described the old recording.
Switch off the radio transmitter before uploading. While the droid receives a radio signal, the file-management controls are disabled because file transfers and the radio link cannot operate at the same time. Switch off the transmitter and the controls become available within a few seconds, without reloading the page. Preview remains available because it plays through your browser.
An amber banner reading SD Card Operations Disabled.
This banner explains why the file-management controls are disabled. It clears automatically after the transmitter is switched off.

If a sound does not play

Check the filename first. The droid reads the first three characters, and all three must be digits. 001.wav is valid; 0001.wav is read as 000, which cannot be assigned to a button. The file remains visible in the list but cannot be played from the Sounds page.

Files uploaded through the web interface are converted automatically to the format required by the droid. This conversion does not normalize their perceived loudness. Files copied directly to the card with a card reader are not converted, so they are more likely to cause format-related playback problems.

06Channels — assigning your radio's controls

Your radio sends the droid a set of numbered channels. Use this page to assign each channel to the control it carries.

The Channels page, its cards stacked, each with a drop-down and a live bar.
The complete page with the radio switched on. Each controllable function has a card with a drop-down and a live indicator bar.

Correct channel assignments are required before the remaining controls can work. The process usually takes about a minute.

Set thisTo the channel that carries…
Speed ChannelYour drive stick. The rolling sound rises and falls with it.
Dome MovementYour dome control, with its own sound doing the same.
Effect 1 / 2 / 3 ButtonA switch or button you want to trigger sounds with. Each one gives you two triggers; see Sounds.
Effects / Rolling / Dome VolumeA knob or slider, one per family of sounds. Assign at least one because the web interface has no volume control. You can assign the same channel to all three so that one knob controls every sound.
KyberpadKyberpad, if you use it. Its card is at the bottom of this page, and it needs a second channel for the page switch.

How to set them

Do not work this out on paper. Every card on this page shows its channel moving in real time, so the reliable method is to pick a channel, move the control, and watch.

  1. Pick a channel from the drop-down
  2. Move that stick or flick that switch
  3. Watch the barIf the bar moves, the channel is correct. If it does not, try the next channel. The complete process usually takes about a minute.

If no channel makes the bar move, stop testing channels and check the badge at the top right of the page. It shows whether the droid is receiving a radio signal. Channel selection cannot work while the badge is red.

The page heading, with a red Disconnected badge at the right.
Red means nothing is reaching the droid: switch the transmitter on and give it a second. It turns green on its own, with no reload, and every bar on the page comes alive at once.
Worked example

Your drive stick is on channel 1, and you have a two-way switch on channel 4 you want to trigger sounds with.

Speed Channel
CH1
Effect 1 Button
CH4
Everything else
None

Push the drive stick and the Speed bar sweeps. Flick the switch and the Effect 1 bar jumps to one side, then the other. That is all this page needs.

The Speed and Effect 1 cards, bars caught mid-travel.
The two cards from the example. If a bar does not move, first check that the radio is connected, then try another channel. If no channel responds, verify the receiver and radio configuration.
Leave anything you do not have set to None. Those cards then disappear from the Sounds page, so that page only ever shows what your droid can actually do.

A volume knob works on sounds already playing. Turn it down halfway through a line and you hear that line fade, not the next one.

The Effects Volume card, with a channel drop-down and a live bar.
A volume card reads its knob live, like every other card on this page. There is one per family of sounds.

Kyberpad — connecting it to the droid

Kyberpad is optional, but it increases the number of available triggers from six to forty-five. If you do not use it, skip ahead; the three effect switches work independently, and the rest of the guide applies in the same way.

Kyberpad is a keypad that runs on the radio itself, with fifteen keys on each of three pages. The droid sees only the channel produced by Kyberpad, so configure the radio first and the droid second. Assign sounds to the keys afterward on the Sounds page.

On the radio. Configure two outputs, each on its own channel:

  1. Send the Kyberpad output to a channel Full travel, no trim, no expo, and no slew.
  2. Send the page switch to a second channel Same settings. Without it you only ever reach page 1.
Slew is the most common cause of misfires. It slides the channel gradually from one value to the next, so a single key press passes through every key on the way and the droid plays the whole page instead of the sound you asked for. Turn it off.

In the web interface. The Kyberpad card at the bottom of this page needs the two channels you just configured and the number of pages you use. The remaining fields are live indicators and do not require input.

The Kyberpad card: two channel drop-downs, a page count, and a live readout naming the key being pressed.
A key held down on the radio, read back by the droid. The badge names the page and the key; the row of marks beneath it shows the same thing at a glance, and the bar at the bottom is the page switch.

Press a key on the radio and watch the badge. It should name the key you actually pressed, on the page you are actually on. If it does, the setup is correct and everything that follows is a matter of choosing sounds. If it does not, nothing further will work: resolve it before moving on.

The web interface detects duplicate channel assignments. If Kyberpad shares a channel with a switch, knob, or its own page switch, an amber message identifies both controls so you can correct the conflict.

An amber line reading: Kyberpad buttons and Effect 1 both use CH4.
Two controls are assigned to one channel. This conflict can make the droid respond to only some key presses.
A key already held when the droid starts listening does nothing. The droid waits until it has seen Kyberpad at rest before it accepts anything, so switching the radio on with a key pressed cannot fire a sound by itself. Let go once and it responds normally. The same applies every time the signal comes back after being lost.

The Advanced section contains the values the droid expects from each key. It matches the default Kyberpad configuration. Change these values only if you have deliberately modified them on the radio. If they no longer match, select Restore Kyberpad defaults to restore the default values.

The Advanced section of the Kyberpad card, showing sixteen raw level fields, a Tolerance field and a Restore Kyberpad defaults button.
Sixteen values, one per key plus the resting position. The button at the bottom puts them all back.

07Sounds — deciding what plays when

The Sounds page determines which sound plays for each input. The tabs across the top represent the three Kyberpad pages, plus Effects for sounds triggered directly by the radio.

The Sounds page, Page 1 tab, keys labeled and one marked STOP.
The whole page, on the Page 1 tab. The tabs switch which table you are looking at; everything below them changes with the tab. Filling in the labels takes a few minutes and keeps the table readable when you come back to it later.

Kyberpad — choosing what each key plays

The settings on the Channels page determine how many Kyberpad tabs appear. If no Kyberpad channel is assigned, no page tabs appear. If a Kyberpad channel is assigned without a page-switch channel, only Page 1 appears and the Pages field remains disabled. Assign both channels to display the number of pages selected on the Channels page: one, two, or three.

A tab row showing only Page 1 and Effects, next to the Stop Button box.
The same page as above, this time with no page switch assigned: one tab instead of three. Effects never goes away, even with no Kyberpad at all.

Fifteen rows, one per key, in the same order as the keys on your radio screen. Three things to fill in:

ColumnWhat to put in it
LabelA name for your own use. The droid ignores it, but matching the label on the radio makes both screens easier to recognize later.
Sound Min / Sound MaxThe range of sounds available to this key. Enter the same number in both fields to play one fixed sound every time.
RandomWhen off, the key steps through its range in order. When on, it shuffles the range and plays every sound once before repeating any of them.
The first three rows of the Page 1 table, with the Label, Sound Min, Sound Max and Random columns.
One row per key, numbered down the left in the same order as the keys on the radio.
Worked example

You have five whistles, uploaded as files 010 to 014, and you want key 3 to pick one at random each time.

Label
Whistles
Sound Min
010
Sound Max
014
Random
on

Tap key 3 five times and you hear all five whistles, in some order, with no repeats. On the sixth it shuffles and starts over.

Next to the tabs there is a Stop Button box: the number of the key, 1 to 15, that silences playback instead of playing a sound. Each page has its own, and 0 means that page has no stop key. The row you choose is marked STOP in the table.

It stops the sound that is playing and any music running alongside it. It leaves the rolling and dome sounds alone — those follow your sticks, and would start again the instant you touched one.

The Stop Button field next to the Effects tab, set to 15.
The field sits at the end of the tab row and follows the tab you are on.
There is nothing to press when you are done. The page saves a second or so after you stop typing, and confirms briefly. Switching tabs saves anything still pending first, so you cannot lose a page by leaving it.

The Effects tab

All sounds triggered directly by the radio are configured here: the rolling and dome sounds, plus the three effect switches. Kyberpad adds to these controls rather than replacing them. If you do not use Kyberpad, this tab contains all of your sound assignments. Cards appear only for controls assigned on the Channels page.

The whole Sounds page on the Effects tab: Rolling Sound and Dome Sound cards above three effect-button cards.
The Effects tab in full: the two driving sounds first, then one card per effect switch. A card you expected and cannot find means its control is still set to None on Channels.
CardWhat you set
Rolling SoundThe sound that runs while driving, and how it behaves. The Min values apply at a standstill, the Max values at full speed.
Dome SoundThe same idea, driven by the dome instead.
Sound Effect 1 / 2 / 3Two rows each: Button 1 for pushing the switch one way, Button 2 for the other. Same three columns as a Kyberpad page.

Rolling Sound and Dome Sound are the two cards with sliders. Each selects one file and loops it while its control is active, adjusting the volume and pitch within the ranges you set. Both cards use the same four sliders.

The Rolling Sound card: a file selector, Volume Min and Max, Pitch Min and Max, and a Play button.
Rolling Sound: the noise the droid makes while driving.
SliderWhat it does
Volume MinThe volume when the control first leaves center. Use a low value for a quiet start or a high value for an immediate, prominent sound.
Volume MaxHow loud at full travel. Everything between the two is spread evenly across the stick, so the gap between them is the effect: a wide gap sounds like effort building, and the same value in both gives a sound that never changes.
Pitch Min / MaxThe pitch range. 1.0 plays the file as recorded. Lower values slow and deepen the sound; higher values speed it up and raise its pitch. The range is 0.50 to 1.50, or half to 1.5 times the original speed.

Play sends the chosen file to the droid so you can hear it without touching the radio. The button turns into Stop while it runs, and pressing it again silences it.

Two ways to set the same card

Narrow ranges sound more mechanical; wider ranges create a more exaggerated, cartoon-like effect. Choose the style that fits your droid.

Restrained
Volume 30 → 80 %, Pitch 0.90 → 1.10
Expressive
Volume 10 → 100 %, Pitch 0.60 → 1.30
The Dome Sound card, with the same file selector, volume, and pitch sliders.
Dome Sound: identical controls, but the droid uses them differently — see below.
The rolling sound responds to the stick's position, while the dome sound responds to movement. Move the drive stick halfway and hold it there. The rolling sound continues at the midpoint between the minimum and maximum volume and pitch settings. Move the dome stick halfway and hold it there, and the sound starts, then fades after about one-third of a second because the stick is no longer moving. The sound continues for as long as the dome keeps turning.

The dome reaches maximum volume at about half travel, while the drive stick reaches it at full travel. This makes the dome respond quickly to short movements. Both sounds ignore direction: forward and backward, or clockwise and counterclockwise, produce the same result. Both sounds fade instead of stopping abruptly.

The effect cards work differently. Each card has two rows, allowing three switches to provide six triggers. The center position does nothing, so a spring-loaded switch is a good fit.

Some radios can map a three-position channel to two push buttons installed in the radio's case, one for each row of the card. The droid still sees one channel with three states, with the center position representing no button press.

Spring-loaded push buttons can be more convenient for triggering sounds because they return to the center position automatically.

The Sound Effect 1 card, with its Button 1 and Button 2 rows.
An effect card: no sliders, one row per direction of the switch, and the same three columns as a Kyberpad page.
Worked example

One switch, two results: flick it down for a single scream, flick it up for one of three laughs.

Button 1 — Description
Scream
Button 1 — Min / Max
015 / 015
Button 2 — Description
Laughs
Button 2 — Min / Max
049 / 051
Button 2 — Random
on
The Sound Min and Max boxes only offer numbers you actually have files for. If one still shows a number you deleted, that is deliberate: it is telling you a button is pointing at nothing, rather than clearing itself silently and leaving you to discover it at an event.

Startup Sound — a greeting when you switch on

The last card on the Effects tab plays one sound shortly after you power the droid up. Pick a sound, say how long to wait, and that is the whole setting. Choose the dash to turn it off again.

The Startup Sound card, with a sound selector and a delay in seconds.
Two fields and nothing else. Unlike the cards above it, this one stays on screen even when no radio channels are assigned — the startup sound plays whether or not the radio is on.

The delay is counted from the moment the droid has finished waking up, not from the moment you flip the switch. This matters if your droid joins your home Wi-Fi, because it takes considerably longer to get ready then. Counted from power-on, the same setting would fire immediately at home and after the full wait in the field. Counted from the end of startup, five seconds means five seconds in both places.

Worked example

A short greeting a couple of seconds after the droid comes to life.

Sound
031_Acknowledge_1.wav
Delay
2 seconds

The sound's Role applies here as everywhere else: give it Voice and the jaw moves as it greets you, give it PSI and the eye flashes along. The volume knob on your radio applies too — with the radio switched off, the startup sound comes out at half volume, so a droid switched on indoors does not announce itself at full blast.

Anything you do yourself cancels it. Press a Kyberpad key, flick an effect switch or play a sound from the web interface while the droid is still counting down, and the startup sound is dropped rather than cutting across you. Once it has started, the usual rule takes over: your key press interrupts it, like any other sound.

This is also the fastest check that your sound is working at all. If you hear the startup sound, the memory card was read, the file was good and the speaker is connected. The startup screen says nothing about any of that — it only reports that the droid tried. Silence when you expect a greeting is worth investigating before anything else.

08Jaw servo (experimental)

If your droid has a moving jaw, this feature opens and closes it in time with speech. You choose which sounds it speaks along with, then set how far the jaw travels and how it moves.

The jaw stays shut until you pick the sounds it should speak along with. That is the first step below, and it happens on the SD Card page, not here. A droid whose jaw never moves is almost always a droid with no sound set to Voice.

Step 1 — Pick the sounds that talk

Go to the SD Card page and find the Role column. Set every speech file to Voice: dialogue, phrases, anything with a voice in it. Leave everything else alone — beeps, whistles, scans, and rolling sounds play the same as always, with the mouth closed.

Choosing Voice does more than flip a switch. The droid reads the whole file and measures how loud the voice in it actually gets, which takes anywhere from a fraction of a second to a few seconds on a long file. A progress bar shows the measurement running, and the other selectors gray out until it finishes.

A blue banner reading Measuring jaw level, with a progress bar part way across.
Choosing Voice measures the file. One at a time, and the other selectors wait their turn.

That measurement is what lets a quietly recorded line and a loud one open the jaw the same amount. Without it, half your files would barely move the jaw and the other half would hold it wide open.

The droid keeps a measurement once it has one. Move a file to PSI and back to Voice and it returns instantly, with no second measurement — the only thing that throws it away is changing the file itself.

If the selector drops back to a dash, that is the droid telling you something. Either it found no voice in the file, or the card was busy and the measurement could not be trusted. The message at the bottom of the screen says which. Try again; if it keeps refusing, the file is probably not speech.

A file with no three-digit number shows a dash instead of a selector. The droid tracks roles by sound number, so 042_Leia.wav can be set to Voice and leia.wav cannot. Renaming, replacing, or deleting a file clears its role, because the measurement described that recording and no longer applies.

Step 2 — Set how far the jaw travels

Now come back to the Jaw servo page. The two handles on the single track are the closed and open positions, shown as an angle either side of the servo's own middle: is dead center, negative is one way, positive the other.

Three buttons let you check your work without playing a sound. Each drives the jaw to a position, holds it for three seconds, then lets go and leaves it there — and they work even with the servo switched off.

ButtonWhat it does
ClosedDrives the jaw to your closed position, so you can see where the mouth rests between words.
NeutralDrives the servo to its own mechanical middle. It ignores Closed, Open, and Reverse, so it never moves as you adjust them — this is your fixed reference point.
OpenDrives the jaw to your open position, the furthest it will go on the loudest part of a line.

Start with the two handles close together and open the gap a little at a time, pressing Open after each change. Stop as soon as the jaw reaches the end of its travel — going further makes the servo push against a mechanical stop, which buzzes, heats up and eventually breaks something.

Reverse flips which way the servo turns, and nothing else. The handles stay where you put them. Whether you need it depends on how your jaw linkage was built: if pressing Open closes the mouth, turn Reverse on and try again.

Worked example

A jaw that hangs slightly below center when closed and swings up to open.

Closed
−10°
Open
+25°
Reverse
off
Enable
on, once both angles are set
Set both angles before you switch Enable on. With the servo enabled and a wide gap left over from a different droid, the first spoken line throws the jaw straight into whatever stop is in its way.

Step 3 — Set how the jaw moves

Three settings shape the movement itself. The droid saves each one as you drag it.

SettingHow to set it
ThresholdHow loud a moment has to be before it counts as speech. Too low and the jaw twitches during silences and breaths; too high and quiet words go missing. Raise it if the mouth flutters when nothing is being said.
HoldHow long the mouth stays open after a peak. This is what makes a short syllable actually visible — without it the jaw is told to close again before it has finished opening. Raise it if the movement looks nervous; lower it if words start running together.
ReleaseHow the mouth fades shut afterward. At 0 ms it follows the sound exactly, which looks crisp. Higher values smooth it out, but too much and the droid looks like it is chewing rather than talking.

The jaw is commanded twenty-one times a second, so Hold lands on whole steps of about 46 ms. The second figure next to the setting is what you actually get: set it to 50 and it reads 50 ms → 93 ms. That is why 50 and 90 behave identically — both come out at two steps.

A good starting point

These are the factory settings, chosen by watching a real droid speak. Adjust from here rather than from scratch.

Threshold
5 %
Hold
50 ms
Release
20 ms
The Jaw Servo page, with the travel track, the three test buttons and the voice settings.
The Jaw Servo page: travel on the left, movement settings in the middle, the two switches on the right.

Set these with a real line of dialogue, never a test tone. A steady tone is the one sound that never behaves like speech: it has no syllables, so it tells you nothing about Hold and nothing about Threshold.

Play one of your checked sounds, watch the jaw, change one setting, and play it again. Changing two at once and liking the result leaves you unable to say which one did it.

09Reading the droid's screen

The screen is your main source of status information when the droid is closed and the web interface is not open.

What you seeWhat it tells you
A name, and a counterThe sound playing right now, and how far into it you are. Long names scroll.
Level barsThe current audio output level. Flat bars while a sound should be playing are a useful diagnostic clue.
Network name and addressWhere to point your browser. This is the address to trust.
Card statusWhether the sound library was found, and how full it is.
Radio readoutSpeed and direction, plus a row of dots for the monitored controls. A blank readout means the radio is off or its signal is not reaching the droid.

The screen updates only when a displayed value changes, so a motionless display is normal and does not mean it is frozen.

The droid's screen mid-playback, name and bars both active.
The screen is small and dense on purpose: at arm's length you read the state, not the detail.

10Updating

When a new software version is published, the Dashboard notifies you and lets you install it.

When an update is available, a badge appears at the top of every page. Open the Dashboard. The Online Updates card shows the new version, release date, file size, and list of changes. Your currently installed version appears on the same page under Firmware.

The update card reading 'Update available', install button showing.
The Online Updates card with a version available: what it is, when it came out, how big it is, and what changed. The same badge appears at the top of every page.

What happens when you press install

Select Download and install. The web interface completes four steps and identifies each one as it begins. No action is required between these steps.

  1. Downloading firmware… Your browser downloads the new version from the internet. The percentage shows the download progress.
  2. Uploading… The browser transfers the file to the droid over your local connection. The percentage restarts from zero, and this step is usually slower.
  3. Flashing firmware… Shown in amber, because this is the part not to interrupt. The droid is writing the new version into itself.
  4. Rebooting in 5s… It counts down, the droid restarts, and the page reloads itself. If it does not come back, reconnect to the droid as you did the first time — the update itself is already done.

Everything you set up survives it: your sounds, your buttons, your labels, your Wi-Fi. An update replaces the droid's software, not its settings.

An interrupted update leaves the previous version active. The droid activates the new version only after the complete file has been received and verified. If the Wi-Fi connection drops, the tab closes, or the transfer fails, you will see Download failed or Upload failed and can try again. Do not turn off the droid while Flashing firmware… is displayed.

What the card can say

It saysIt means
Up to dateNothing to do.
Update availableA newer version is available. The install button is on the same card.
OfflineYour browser could not reach the internet within about six seconds. This is normal when your device is connected to the droid's network and has no other internet connection. Select Check again to retry.
Not publishedThe update service responded successfully, but no release is currently available. This differs from Offline, which means the browser could not contact the service.
Ahead of releaseYou are running a version newer than the published one. Unusual, and nothing to fix.
Your browser checks for updates, not the droid. If your device is connected to the droid's network and still has a cellular internet connection, the web interface can download an update on the droid's behalf. The Offline status therefore describes your device's internet connection, not the droid's condition.
Switch off the radio transmitter first. Updates are disabled while the transmitter is active to prevent radio interference. The update button becomes available after the transmitter is switched off.

Installing a file by hand

Use the manual upload area when you receive a .bin firmware file directly. Drop the file into the area or select it with the file picker. Other file types are rejected. Select Upload to transfer the file to the droid; the process then continues from the Uploading… step described above.

The Firmware Update card, with a dashed area for dropping a file.
Manual firmware uploads are also disabled while the radio transmitter is active.

11Backup and reset

Four buttons at the bottom of the Dashboard provide backup, restore, restart, and reset functions.

ButtonWhat happens
Save ConfigDownloads your channels, button assignments, labels, and jaw settings as one file. The file is saved to your Downloads folder with a name beginning with echo-config-, followed by the date and time.
Restore ConfigRestores settings from a backup file, then restarts the droid. You can also use this function to copy a completed setup to another droid.
Reboot DeviceRestarts the droid cleanly and may clear a temporary problem.
Factory ResetClears all settings, including the network configuration. Sound files remain on the card, but all button assignments are cleared.
The System Actions card: Save Config, Restore Config, Reboot Device and Factory Reset.
The four buttons at the bottom of the Dashboard, in the order described in the table.
Select Save Config once the droid is configured the way you want it. Labeling 45 Kyberpad keys takes time; restoring them requires only one action.

The backup file

Its name does not matter; its contents do. You can rename the file, archive it, or move it to another computer without affecting restoration. The web interface verifies that the file contains a valid Echo configuration and rejects invalid files without applying partial settings.

A backup taken from an older version of the droid's software is still usable. It restores what it contains and leaves everything else as it was, so nothing is lost simply because the file predates a setting.

No password ever goes into the file. Neither the one for the network you asked the droid to join, nor the one guarding the droid's own network. They are left out deliberately, because restoring never puts them back anyway — so carrying them would have given away the password to your home network every time you sent the file to someone. You can open the file in any text editor and check.

Network settings in a backup file are deliberately skipped. You can therefore restore someone else's channel assignments, sound ranges, and Kyberpad labels without changing how you connect to your droid.

After restoring to a droid that has never joined your network, enter your Wi-Fi details manually on the Network page. Re-entering these two fields takes little time compared with recreating the rest of the configuration.

What a factory reset removes

A factory reset clears all settings, including the network configuration used to reach the droid.

A factory reset removes your Wi-Fi settings and restores the droid's default network password. If you are using your home network to reach the web interface, the page will disconnect when the droid restarts. The droid's own network password returns to 12345678.

Getting back in is the same as the very first time, and takes a minute:

  1. Join the network called ECHO_xxxx The password is 12345678 again. Any name you had given that network is gone too, so look for ECHO_ followed by four characters.
  2. Open 192.168.4.1 The web interface loads without your settings, but every sound remains on the card.
  3. Restore your backup, or start again A saved configuration restores these settings in one step. Without a backup, everything from section 04 onward must be configured manually.

Change the droid's network password again immediately afterward. A reset restores the default, so remember that 12345678 is active again.

13Troubleshooting

In rough order of how often each one happens.

No sound at all

Open the SD Card page and select Play on device for any file. If the file is also silent there, check the sound library and audio hardware. If it plays correctly, the problem is probably the button mapping. On the Sounds page, verify that the assigned numbers match the files on the card. A visible file that cannot be selected is usually named incorrectly; its filename must begin with exactly three digits.

Everything plays at about half volume

The radio is off, and a volume knob has been assigned to a channel. Without a valid radio signal, the droid defaults to 50% volume. Switch on the transmitter and the assigned knob takes control immediately.

I cannot turn the droid down

The web interface has no volume control; use a knob or slider on the radio. If all three volume channels are set to None on the Channels page, assign at least one. The same channel can control all three.

The web interface will not open

On the droid's own network, Wi-Fi may have turned off after one minute without a connection. Restart the droid, then reconnect within 60 seconds. On your home network, the address may have changed; read the current address on the droid's screen. The droid does not automatically reconnect after losing your network.

The radio does nothing

Open the Channels page and check the badge at the top right. A red Disconnected badge means the droid is not receiving a radio signal. Verify that the transmitter is on and bound. If the badge is green, move a stick and watch the bars. Movement on the wrong card means the channel assignments need to be corrected.

The dome sound stops while I hold the stick

That is deliberate, and it is the one place the dome behaves differently from the driving sound. Rolling follows where the stick is, so holding it keeps the sound going; the dome follows whether the stick is moving, and fades out about a third of a second after it stops. Keep turning and the sound continues. Nothing is wrong with the file.

A card or a tab is missing from the Sounds page

The Sounds page only ever shows what your droid can actually do. A missing Dome Sound or Sound Effect 2 card means that control is still on None back on Channels. Missing page tabs work the same way: no Kyberpad channel and there are none at all, a Kyberpad channel without a page switch and you get Page 1 alone.

A Kyberpad key plays the wrong sound — or plays several

Several sounds in sequence usually mean that slew is still enabled in the radio's mixer. Turn it off. Also check the Kyberpad card: if an amber message identifies two controls sharing one channel, the controls are conflicting and some key presses may be interpreted incorrectly. If the wrong key responds consistently, the radio values no longer match the values expected by the droid. Select Restore Kyberpad defaults unless you changed them deliberately. A key held while the radio starts or the signal returns is ignored until you release it once.

Everything is grayed out and nothing will upload

Your radio transmitter is on. Uploading files and installing updates both stop while the droid is hearing the radio, because the two cannot share the airwaves. An amber banner at the top of the page says so. Switch the transmitter off and the page becomes available again within a second or two, with no reload.

An update stopped partway

The previous firmware version remains active because the droid switches versions only after receiving the complete update. You should see Download failed or Upload failed; select the button again to retry. Repeated download failures usually indicate a problem with your device's internet connection because the browser, not the droid, downloads the file.

I reset the droid and now I cannot reach it

A factory reset clears the Wi-Fi along with everything else. The droid has forgotten your network, its own network is called ECHO_xxxx again, and its password is back to 12345678. Join that network, open 192.168.4.1, and restore your backup. Then change the default password immediately.

A change was not saved

Saving is automatic but not instant. The web interface waits about one second after your last change, then displays a confirmation. Closing the page or turning off the droid before that confirmation may discard the change. If no confirmation appears, the web interface may have lost contact with the droid.

None of the above

The Logs page keeps the droid's most recent messages. Open it, reproduce the problem, and read the new entries. Most failures are reported there in plain language.