User Manual

Please note this manual is for new v2 Gecho, the manual for older v1 is here. Channel numbers have changed so what you see below no longer applies to v1.


Inserting batteries

If your unit has a complete enclosure, there is a sliding door at its bottom side for replacing batteries. It might not move smoothly, mainly when the unit is new. This will get better over time as you use it, but in the meantime there is a simple trick to it. If the door twists a little bit sideways, it will get stuck. Leaning the unit against a flat surface helps, but put something soft under (like a newspaper) to not scratch anything. Puller is helping to get the door into the notch, but it is not a good idea to pull the door all the way only by the puller as it may snap, also it is very hard to keep the door straight, instead pull the door with your fingers.


Powering On

If you intend to use external power, you need to set the switch to ON before plugging in the USB cable. This is counter-intuitive, but there is a reason for it, as explained below.

When powered from batteries, use the sliding switch to power the device on and off. When off, it completely disconnects the batteries so no significant energy is drawn. It is perfectly safe to power the board via USB from a standard 5V power source without removing batteries (also to plug/unplug the USB cable while music is playing). This is a good way to extend the battery lifespan.

If your unit has a built in rechargeable battery, you can leave it on USB power as long as you want, the intelligent charging circuit prevents overcharging.

When powering via USB cable, the sliding switch does not turn the device off, instead it changes between normal mode (at ON position), and firmware update1 mode (at OFF). This setting is "checked" at the time of connecting power (with batteries, after flipping the switch, and if no batteries are present, after you plug in the USB). In firmware update mode no LEDs are active apart from PWR, so the board appears as if it has not started up properly.2

If the unit has successfully powered on, the PWR (power) LED should light up, and RDY (ready) should blink in 0.5sec intervals.

1The preferred way to load firmware updates is to use a micro-SD card, but flashing the binary over USB would be the only option if the unit got soft-bricked.

2The previous model worked the same way, however you could push the RST button to get out of the firmware update mode; in v2 the RST is not a hardware reset anymore - if it was, pressing it at an inappropriate moment might cause undesired effects, such as corrupt the SD card filesystem.


Interface explained


  • M1,M2: Left and right microphone.
  • L1: "Ready" LED, slow blink indicates idle state (ready to input a channel number), faster blink indicates recording to micro-SD card.
  • L2: "Signal" LED, indicates data or signal received or transmitted over MIDI or other interfaces.
  • L3: "Power" LED, glows when unit is powered on. If PWR glows but RDY does not blink, the unit may have booted into firmware update mode instead of normal operation mode.
  • L4: "USB" LED, indicates data is transmitted over the virtual serial port.
  • SET: Button to start channel (short press after channel number is keyed in), invoke menu (short press when idle) or start recording (long press while playing).
  • RST: Button to stop playing (short press) or soft-reset the unit (long press).
  • S1-S4: Infra-red proximity sensors, they influence various parameters depending on which channel is running.
  • C1: Headphone or line-out jack, function determined by SW1 (up = line-out, down = headphones).
  • C2: Line input jack, related to B4 that activates inputs or combinations of.
  • C3: Shared jack for MIDI and other signals, function determined by SW2 (up = MIDI In, down = MIDI Out or other function selected by software).
  • C4: Second headphone output jack, no alternative function.
  • C5: USB connector for powering and eventually firmware update (which can be done with micro-SD card as well). Ensure the power switch is at ON position before plugging the USB in, otherwise the unit will start in firmware update mode instead of normal operation.
  • B1-B4: Buttons to key in a channel number, control volume and other settings.
  • L30,L31: Charging indication, only active in units that use a built-in rechargeable cell. Red = charging in progress, Blue = fully charged.
  • SW1: Switch that selects function for C1 jack; up = line level output, down = headphones.
  • SW2: Switch that selects function for C3 jack; up = MIDI In, down = MIDI Out or other signals (selected by software).
  • SW3: Power-on switch, also selects firmware update mode (as explained above).


Settings and menus

While the most important settings are mentioned on this page, the leaflet that you received with your unit contains many more settings - they are all explained in detail here.


Input Levels

The button 4 during play browses between inputs (or combinations of), as explained in In-play Controls. When you select line-in without anything plugged in, you will hear buzzing - that's normal. The codec chip used in v2 Gecho has an AGC (automatic gain control), that is enabled by default, and it will try to amplify the signal by up to 50dB - and when there is no signal, the interference and noise of empty connector or a loose cable will be amplified (signal lines act like antennas so they naturally pick up surrounding electromagnetic waves).

You can disable the AGC or set it to a lower level using "AGC Max Gain" in In-play Settings and/or Configuration Settings "AGC level / off". The settings you adjust in the menus are stored in persistent memory (so they are not lost during power off, but can be cleared using channel 4321). The settings accessible during play such as volumes, input levels, input select - also usually stored too (except the input levels as they are likely to require adjustment from channel to channel anyway).

The defaults are stored in "config file" that is located in flash memory on board. They can be adjusted by downloading the config.txt to a SD card using service menu or by running channel 4222, editing the file, and re-uploading it back to flash (service menu again). The input levels are represented by parameters AGC_ENABLED, AGC_TARGET_LEVEL and AGC_MAX_GAIN.


LED Indicators

As listed in In-play controls, pressing buttons B3 and B4 during play browses through delay lengths and input selects. The selected option is indicated by red LEDs in a pattern that should be easy to recognize.


The odd 13k samples delay is there because it is originally used by Dekrispator on STM32F4 platform, it is selected by default when this channel runs (but it can be switched to any other delay, or off - just like in any other channel).


Selecting a Channel

Every channel's code consists of one or more numbers between 1 and 4, so they can be typed on the four-button keyboard. For example, to select channel 12, press buttons 1 – 2 – SET. To stop playing, press RST.

All buttons have alternative function depending on whether you just short press them or hold them for a second or longer (this is all explained in the settings leaflet and also in a detailed description of each channel where some buttons perform a specific function). For a button combination such as RST+1, hold RST then short press button 1, then release RST.


Currently Available Channels (version 1.0.113-115)

The channels marked WIP are work in progress and may not run well. Some numbers are also reserved for future use and currently do nothing, but they are listed so you know what to expect there.

  • 1-4: Demo songs playing in the soundscapes from Glo. Press SET during play to start/stop binaural beats). Playable by MIDI (polyphonic).
  • 11: The “channel 1” from the early prototype, it does not use controls, only microphones. You can boost the sensitivity using button 4 if needed.
  • 12: Non-interactive, slowly evolving "Song of Wind and Ice" created using low-pass filters, with isochronic tones feature (press SET).
  • 13: White noise
  • 14: Bytebeat, a chiptune-like mathematically generated songs. Try buttons 1 (next song), 2 (panning), RST+1, RST+2 (speed control).
  • 21-24: Run the user-programmed song (if present) with soundscapes as in 1-4.
  • 31: Granular sampler. Use S2 to sample a new sound, S1 to detune, S3 to change chord, S4 to increase voices. Playable by MIDI (polyphonic).
  • 32: Decaying reverb. Try buttons 1 & 2 to control decay direction and speed, S1 for delay, S3 for low-pass filter, S4 for reverb buffer length. Sound demo here and here.
  • 33: Dekrispator (by Xavier Halgand). Buttons 1 & 2 browse patches, 3 sets filter/delay/env. RST+1/2 generate new patch & effects part separately. Sound demo here, it's from Glo but works and sounds the same in Gecho.
  • 34: MI Clouds (by Émilie Gillet). Buttons 1 & 2 browse patches. S3 freezes the sound, then you can use MIDI to play it (monophonic).
  • 41: DCO Synth with 24 oscillators. Press 1 repeatedly for parameters drift / randomize, 2 to set waveform, RST+1/2 for oversample control.
  • 42: Sampled drum sequencer (WIP)
  • 43: Space channel, without reverb (alternative fire element from Glo). Support binaural beats (press SET during play to start/stop this feature). Playable by MIDI (polyphonic).
  • 44: Space channel, with reverb (fire element from Glo). Supports binaural beats (press SET during play to start/stop this feature). Playable by MIDI (polyphonic).
  • 111: Program new custom song using MIDI keyboard.
  • 112: Load the custom song from persistent memory to temp space.
  • 113: Store the custom song from temp space to persistent memory.
  • 114: Delete the custom song in persistent memory.
  • 121: Simple drum kit. Sequencer and custom samples (loaded from SD) will be added later. (WIP).
  • 123: Pass-through, useful for recording. You can choose inputs using button 4, as in any other channel. To play recorded files use channel 2222.
  • 124: Pass-through, useful for recording. Same as 123 but selects line input by default.
  • 2222: Play the last recording from SD card. You can navigate to previous/next recording using buttons 1 & 2. This is also accessible with a shortcut - long press SET while idle. Similarly, recording is started by long press SET while something is playing.
  • 3333: Use accelerometer instead of IR sensors.
  • 4444: Use IR sensors again. This can also be changed using main menu (see the settings leaflet).

Reset back to defaults

  • 4321: Should something not sound right and you are not sure what caused it, reset all settings to default (volumes, delays, inputs).

Test and service channels

Most of these channels output information over the serial port; if you plug Gecho to your PC, it will appear as a "virtual serial port" that you can interact with using PuTTY or similar terminal utility. Please check this thread for more info about the serial port settings.

  • 3111: Memory info (useful for firmware debugging).
  • 3112: Board serial number, also displayed with LEDs as a BCD number.
  • 3113: Accelerometer test.
  • 3114: Sensors test (for calibrating the firmware).
  • 3121: MIDI In test (data).
  • 3122: MIDI In test (hardware signals).
  • 3123: MIDI Out test.
  • 3124: Test all LEDs.
  • 3131: Sync In test (digital hardware signals)
  • 3132: Sync Out test (digital hardware signals)
  • 3133: CV In test (analog hardware signals).
  • 3134: CV Out test (analog hardware signals).
  • 3141: SD Card info.
  • 3142: SD Card speed test.
  • 3143: SD Card files list.

Microphone bias level

Experimental feature. You probably do not need to adjust this. The effect of changing this voltage is a trade-off between sensitivity and ground noise level.

  • 4441: Set microphone bias voltage to AVDD (typically 3.0V).
  • 4442: Set microphone bias voltage to 2V.
  • 4443: Set microphone bias voltage to 2.5V.

Firmware utilities

  • 4111: Info about partition from which the current firmware runs.
  • 4112: Display firmware version with LEDs as a BCD number.
  • 4222: Write config to SD card.

The config file can be re-loaded using an option in service menu.

  • 44112233: Load firmware update from SD card.
  • 44223344: Load new config and samples from SD card.
  • 44332211: Discard updates & revert to factory firmware.


The Pouch and The Box

As the snap fasteners in the felt pouch protrude inside, we are putting soft pads over the metal bits, to minimize risk of the front panel getting scratched over time. However this may cause the power switch to flip while the unit is inserted into the pouch. It is safer to insert it upside-down, or even the other way round as the bottom side is flat and the pads won't be in the way.

Also, if you have the wooden box for your complete unit, there is only 1mm clearance in between, and the door handle will be in the way - you need to push it in so the door is aligned with the bottom panel precisely.


A few things to keep in mind

Respect your ears, don't set the volume too loud. It often happens that a combination of inputs creates a sound much louder than average. To make it safer, there is a dynamic limiter (often configured differently in every channel, mainly in those that use 3rd party code). At a certain combination of volumes and signal you can hear it in action; if this represents a limitation, you can reconfigure it (at your own risk).

The distance sensors don't work very well outdoors, especially on a sunny day, unless you're in complete shadow - they are easily saturated by sunlight. Switching to accelerometer control helps here. Surprisingly, the microphones are sensitive to light as well, in models without a complete enclosure this affects sound, depending on what way a certain channel uses the signal.

Warranty: 2 years. Malfunctioning units are replaced free of charge. We are happy to repair units / replace DIY kit elements damaged by user as agreed on individual basis. This product is provided as is without guarantees or warranty of any kind, either expressed or implied, including, but not limited to warranties of merchantability, fitness for a particular purpose, of title, or of non-infringement of 3rd party rights. Use of the product by a user is at the user’s risk.

Credits: The firmware uses 3rd party code/data provided under GNU, MIT, CC or Public Domain licenses.

Made in EU. Board assembled in Poland. Most components manufactured in China. Wooden case hand-made in Slovakia. Completed in Ireland.