BOP-1

Manual

BOP-1 turns the M-VAVE FM-1 into a music toy for children that is also a real synthesizer. Switch it on and music plays. Nothing a child can press sounds wrong, and every knob changes something they can see: a friend whose body is the sound. The same toy grows with the child, through four doors: Play (age 3 and up: press things), Make (6 to 8: beats, loops, songs), Lab (9 to 12 and up: a real subtractive synth with its real names, and lessons) and Games. This manual is for the grown-ups; the children need none of it.

The FM-1 (a drawing), running BOP-1's Play door, each control labelled
The FM-1 (a drawing), running BOP-1's Play door, each control labelled


1Install

Try it first: the browser emulator runs the same code with sound, played with the mouse, a touch screen or the keyboard.

Install from the browser: open the web installer in Chrome or Edge, connect the FM-1 with a USB data cable and press Install. Don't unplug it while it's writing; when it finishes, the FM-1 restarts into BOP-1 and plays.

Install from the command line: download bop1-X.Y.Z.fwsc from the latest release, install Python 3 with pip3 install mido python-rtmidi, and from the BOP-1 source run:

python3 tools/fm1_install.py bop1-X.Y.Z.fwsc

Which version: the start screen shows it under the name, and the grown-ups' page at the bottom (About).

Go back: "Back to the stock firmware", at the bottom of the installer page, puts M-VAVE's firmware back (download the FM-1 V15 file from the link there, choose it, press the button). M-VAVE's own updater, M-UPGRADE, works too.

Installing other firmware is at your own risk. If the FM-1 ever won't start, see Recovering an FM-1 that won't start.

Coming from another firmware: BOP-1 keeps its settings where other firmwares keep theirs, under its own name, and its songs, My Friends and the sticker book in the FM-1's main store (where some firmwares keep samples or patterns). It never reads another firmware's: it starts fresh, and its first save replaces what was kept there.

The stickers: the FM-1's buttons carry synthesizer names (ALGORITHM, ENV, LFO...). For children who don't read yet, print the sticker overlay on sticker paper: a picture for each button and knob (what it does in Play), and the eleven pads for the black keys.


2Getting started

Before you hand it over (two minutes):

  1. Turn MASTER (the volume, top left) to the middle.
  2. Hold GLO and SAVE together for three seconds: the grown-ups' page opens. For a child of three or four, set Doors shown to Play only (then HOME does nothing and they can't get lost). Check the Volume cap (70 % to start). Press HOME to close it.
  3. That's all. Everything else is there to be found.

The first five minutes, together:

  1. Switch it on. A song is already playing; the friend in the middle sings along.
  2. Press the white keys: the friend sings, and every note fits the song. Press the black keys: drums and funny sounds.
  3. Turn the four knobs on the right: the friend changes shape (knob 1), opens its mouth (knob 2, the sound gets brighter), wobbles (knob 3), and the room grows from a bedroom to outer space (knob 4, the echo).
  4. Turn ALGORITHM for another friend, PRESETS for another style of music (the place changes), SELECT for slower or faster (a turtle or a rabbit).
  5. Press FX: Surprise! A new song. Hold FX and press a white key: a magic trick while it's held.
  6. Press REC and play: what you play goes round with the song ("Loop me"). REC again to stop.
  7. Hold any button for a second: a card shows what it does.
The Play door
The Play door

3The friends

Every sound in BOP-1 is a friend, and the friend's body is the sound. Each control has one meaning, the same in every door:

The soundThe friend
The waveformIts body: sine a round blob, triangle pointy, saw spiky with a zig-zag back, square a boxy robot with an antenna, noise a fuzzy cloud; turn slowly and it morphs
The pitchIts size: low is big, high is small (OCT− and OCT+); each note makes it bob
The filter's cutoffIts mouth: closed and dark ("mmm") to wide open and bright ("aah"), which is how a "wah" works
The envelopeIt hops up as a note starts (the attack: how fast) and settles (the release: how slowly it lands)
The LFOIt wobbles at the LFO's speed: bobbing up and down (pitch: vibrato), its mouth flapping (filter: wah), fading in and out (volume: tremolo)
Echo and reverbIts place: a bedroom, a cave, a canyon, outer space, with rings going out after each note
The drumsThe floor: a tile lights for each pad; the kick shakes the ground
FriendIts sound
Bloop (blue)A sine: round and soft
Pointy (green)A triangle: a flute, with a vibrato
Zig (orange)A saw: a bright lead, two oscillators a little apart
Bit (silver)A square: a robot, a little crushed
Wub (purple)The bass monster: a saw over a sub-octave
Twinkle (yellow)Two oscillators a fifth apart, like a bell
Bubbles (aqua)A resonant pluck
Fizz (pink)Noise through a ringing filter: wind, waves, rain
Bloop](img/friend-0.png) ![Pointy](img/friend-1.png) ![Zig](img/friend-2.png) ![Bit
Bloop](img/friend-0.png) !Pointy !Zig ![Bit
Wub](img/friend-4.png) ![Twinkle](img/friend-5.png) ![Bubbles](img/friend-6.png) ![Fizz
Wub](img/friend-4.png) !Twinkle !Bubbles ![Fizz

Sounds made in the Lab and kept as My Friends (up to eight, each with its colour) join them in every door.


4Everywhere

PLAYThe music on and off (in Games: hear it again)
HOMEThe doors: a white key (1 Play, 2 Make, 3 Lab, 4 Games) or ALGORITHM picks one, the same key again or PLAY opens it; HOME again goes back
Hold a buttonAfter a second, a card says what it does in this door (the Make and Lab cards add a sentence; the Lab's the real term)
EDITOops: undoes the last big change (a loop, a Surprise, a cleared layer, a song opened). Held two seconds, a ring fills and it clears (Play: my loop; Make: this layer in this part; Lab: the friend's sound back)
SAVEKeep this song: eight places, shown as their friends; a white key picks one. Turn ALGORITHM there to open a kept song instead (in the Lab, SAVE keeps the sound as a friend)
GLO + SAVE, 3 secondsThe grown-ups' page
OCT− + OCT+, 5 secondsUpdate mode (for the installers)

Nothing is deleted with a tap, and no screen can strand anyone: HOME always goes home.

The doors](img/screen-doors.png) ![A card](img/card-fx.png) ![Keep it
The doors](img/screen-doors.png) !A card ![Keep it

5Play

Ages 3 and up. No reading needed.

The music is already playing when it switches on: a song made by BOP-1 in the style chosen. The friend sings the tune; its band plays along: the bass friend on the left, the sparkle friend on the right, the drums on the floor. When a child plays, the friend's own tune steps aside to let them sing, and the key lights show the song's tune, so they can play along with the lights. The playhead runs dimly across the white keys.

ControlDoesOn the screen
White keysThe friend sings, in the scale (pentatonic: no wrong notes, about three octaves)Notes fly out, coloured by their names
Black keysKick, snare, clap, hat, tom, cowbell, boing, laser, pop, whoosh, ta-da: louder than the song's own, which steps back a moment to let them throughA tile lights on the floor
ALGORITHMThe friend (the eight, then My Friends)A new friend slides in
PRESETSThe style: Bounce, March, Robot, Space, Lullaby, Dino Stomp, Jungle Party, Disco (a new song in it, the friend kept)The style's badge, top left
SELECTSlower or fasterA turtle and a rabbit
Knob 1 ShapeThe waveform: sine, triangle, saw, square, noiseThe body changes shape
Knob 2 BrightThe filter: dark to brightThe mouth closes or opens
Knob 3 WobbleThe LFO (its speed follows)It wobbles
Knob 4 EchoEcho and reverbBedroom, cave, canyon, space
ENVShort, medium or long notes (a plink, normal, a swell)It hops, walks or floats
OCT− / OCT+An octave lower or higherBigger or smaller
SEQThe song's drums on or off (the black keys still play)
ARPThe sparkle on or off; with it on, the keys held run up and down
LFOThe wobble on or off
FXSurprise! A new song in the same style (the friend and my loop kept)A dice rolls
FX held + white key 1–8A trick while held: chipmunk, giant, robot, stutter, slow-mo, wah, rise, drop
RECLoop me: what you play (keys and pads) goes round over the song, two bars, in time; REC again to stop; again to add moreA red dot, the loop going round
EDITOops (the last loop goes); held: my loop cleared
SAVEKeep this song
Disco](img/style-disco.png) ![Lullaby](img/style-lullaby.png) ![Turtle and rabbit
Disco](img/style-disco.png) !Lullaby ![Turtle and rabbit

The places: knob 4 takes the friend from a bedroom at night (a little echo) to a cave, a canyon at sunset and outer space (the most).

A cave](img/place-cave.png) ![A canyon](img/place-canyon.png) ![Space
A cave](img/place-cave.png) !A canyon ![Space

6Make

Ages 6 to 8. Beats, loops and songs.

A song has four layers, like four friends in a band: Beats (the drums), Bass, Tune (the friend) and Sparkle (arpeggios and chords). It has four parts, A B C D, each one bar long, played in a chain; each part has its own chord, from the song's chords (happy, sad, brave or sleepy). The Bass and the Sparkle follow the chords by themselves, so a line written once fits every part.

Make works on the song Play was playing (switch doors and it's the same song); SAVE keeps it.

ControlDoes
ALGORITHMThe layer: Beats, Bass, Tune, Sparkle (the tabs at the top)
PRESETSIts friend (on Beats: the drum)
SELECTThe tempo
Knobs 1–4Shape, bright, wobble, echo, as in Play (on Beats: the drum's tune and length, the swing, the echo)
Beats: black keysPick the drum (and play it)
Beats: white keysIts sixteen steps, on and off; ENV + a step: a loud one
Bass, Tune, Sparkle: keysPlay (in the scale); the black keys play the drums along
SEQThe white keys become the sixteen steps: a tap puts the last note played on that step, or takes it away; hold a step and turn knob 1 for its note (along the scale), knob 2 for its length
RECRecords what you play into this layer of this part, in time; REC again to stop
FXHelp me: a new idea for this layer
SELThis layer quiet, or back (its tab crossed out)
ENV · LFO · OCTShort or long notes · the wobble · an octave down or up
ARP held + white keys 1–4The part to work on (it plays round and round); press several in a row (A A B A...) and let go: a song, played as a chain
GLO held + white keys 1–4The chords: happy (I–V–vi–IV), sad (vi–IV–I–V), brave (I–IV–V–I), sleepy (I–vi–IV–V)
GLO tappedHear this part alone, or the whole song
EDITOops; held: this layer cleared in this part
Beats](img/screen-make-beats.png) ![Steps](img/screen-make-steps.png) ![The tune
Beats](img/screen-make-beats.png) !Steps ![The tune
Parts and a song](img/screen-make-parts.png) ![Chords
Parts and a song](img/screen-make-parts.png) ![Chords

The key lights show the steps (the playhead runs through them) and, on Beats, the drum chosen.


7Lab

Ages 9 to 12 and up. The real synth, by its real names.

The Lab's first screen offers the synth (white key 1) or the lessons (white key 2; see 8).

At the top, the signal flow: OSC 1 and OSC 2 into the FILTER, into the AMP, into the FX, with the ENVELOPE and the LFO drawn as wires to what they move. The page open is lit. Under it, a live scope shows the wave at that stage (after the oscillators, after the filter, after the amp), with the stage before it ghosted, so the filter can be seen rounding off a saw. The envelope's page draws its shape, the LFO's its wave. Each knob shows its real name, its value, and the toy's word ("Cutoff / 2.8 kHz / bright").

Page (button)Knob 1Knob 2Knob 3Knob 4
Oscillators (SEL)OSC 1 waveOSC 2 waveOSC 2 tune (semitones)Mix 1 to 2
... again (SEL)Sub-octaveDetuneGlideLevel
Filter (SEQ)CutoffResonanceType (low, band, high pass)Envelope amount
... again (SEQ)Key trackingEnvelope amountCutoffResonance
Envelope (ENV)AttackDecaySustainRelease
LFO (LFO)Wave (sine, triangle, square, random)RateDepthTarget: pitch, filter, volume
Arpeggiator (ARP)Pattern (up, down, up and down, random)RateOctavesGlide
Effects (FX)Echo timeEcho repeatsReverbRobot (bit-crush)
ControlDoes
ALGORITHMThe layer whose sound you make: Tune, Bass, Sparkle
PRESETSA friend (or one of My Friends) onto it, to start from
KeysPlay it, in the scale; GLO switches to a piano (every key its real note; the screen shows its name and frequency)
OCT− / OCT+An octave down or up (half or twice the frequency)
SAVEInto My Friends: a white key picks the place, knob 1 its colour; it then plays in Play and Make
EDITOops; held: the friend's own sound back
Oscillators](img/screen-lab-osc.png) ![Filter](img/screen-lab-filter.png) ![Envelope
Oscillators](img/screen-lab-osc.png) !Filter ![Envelope
LFO](img/screen-lab-lfo.png) ![My Friends](img/screen-lab-myfriends.png) ![The Lab's first screen
LFO](img/screen-lab-lfo.png) !My Friends ![The Lab's first screen

The Lab lets the resonance ring all the way (a squeal) unless the grown-ups' page says Lab squeals: never; in Play and Make it is always held back.


8Lessons

Behind the Lab door (key 2 on its first screen): ten short lessons, each a few picture cards and a try it the firmware checks. OCT+ goes to the next card (after a try-it, once it's done), OCT− back. Finishing one puts a sticker in the sticker book. The synth stays playable under them.

LessonTry it
1What is sound? A wiggle in the airPlay a key and watch the wiggle
2High and low: fast and slow wiggles, the frequencyA high key, then a low one
3Shapes of sound: the same note, another waveKnob 1 (Wave) to Square
4The filter: taking the fizz out; resonanceCutoff all the way down; then Resonance up
5Envelopes: how a sound starts and stopsAttack up: a slow start
6The LFO: a hand that keeps turning a knobDepth up, and play
7Two oscillators: detune makes it fat, a fifth brightDetune up
8Beats and steps: sixteen steps, the kick on 1White keys 1, 5, 9, 13
9Scales: the pentatonic, major and minorFive different notes
10Chords and songsThree keys at once
The lessons](img/screen-lessons.png) ![A lesson
The lessons](img/screen-lessons.png) ![A lesson

The printable lesson cards give each one as a classroom activity too, with and without the FM-1, and the real words to learn.


9Games and the sticker book

White keys 1–6 pick a game (the same key again, or PLAY, starts it), 7 the sticker book. PLAY in a game hears it again; HOME leaves. The song stops while the games play, and its sounds come back after.

GameTeachesHow
1 Follow the lightsMelody, the keyboardA key lights: press it, and the tune comes out. Twinkle Twinkle, Hot Cross Buns, Mary Had a Little Lamb, Frère Jacques, Row Row Row Your Boat, Old MacDonald, Ode to Joy, Happy Birthday. A staff with coloured notes for those who read. No timer.
2 Copy meMemory, pitchThe friend sings notes on four lit keys; sing them back; one more each time
3 High or low?PitchTwo notes: OCT+ if the second is higher, OCT− if lower (the big and small friends say so)
4 Beat copyRhythmHear a rhythm on the cowbell, four clicks, then tap it on any black key
5 Sound matchSynthesisTurn the knobs until your friend sounds like the other (PLAY hears it): warm, warmer, hot. Shape first; then bright, short or long, and wobble as it goes on
6 Name the friendTimbreHear a sound; which of the three friends made it?

Each game gives one to three stars (always at least one); every five stars a new sticker. The sticker book holds the eight friends, the eight styles and the ten lessons' stars. Nothing is ever taken away (only the grown-ups' page can reset it).

Games](img/screen-games.png) ![Follow the lights](img/screen-game-follow.png) ![Sound match
Games](img/screen-games.png) !Follow the lights ![Sound match

10The grown-ups' page

Hold GLO and SAVE together for three seconds. SELECT (or ALGORITHM) moves, knob 1 (or PRESETS) changes, HOME closes it and keeps the settings.

SettingChoices
Doors shownPlay only, + Games, + Make, all fourPlay only: HOME does nothing
Volume cap10–100 % (70 %)The most the output can ever reach, whatever MASTER says
Lightsfull, calm, offCalm: no flashes, no chases, no button pulses; off: only PLAY
Screen1–4Brightness
Sleep timeroff, 5, 10, 20, 30 minutesFrom switching on: the music stops and the screen dims (after half a minute untouched). Any key wakes it. Bedtime: pick the Lullaby style first
Idledim, then stop / always onThe screen dims after two minutes untouched; the music stops after ten
At power-onmusic / quiet
Lab squealsallowed / neverNever: the Lab holds the resonance and the highest notes back too
Keys to USB MIDIon / offThe notes played, to a computer
MIDI channel1–16
MIDI clockfollow / leadFollow another's clock, or send ours
Tune±50 cents
Reset: songs, My Friends, sticker bookhold SAVE 3 sEach on its own
AboutThe version, the battery reading, how to reach update mode
The grown-ups' page
The grown-ups' page

11Safety


12The lights

WhereThe keysThe buttons
PlayThe song's tune (play along), the keys held, the playhead dimlyPulse with the kick (at most three a second); SEQ, ARP, LFO lit when on; PLAY green, red while Loop me records
MakeThe steps of the layer (the playhead through them), the drum chosenThe layer's state
LabThe keys heldThe page's button bright, the other pages dim
GamesThe next note (Follow the lights), the choices (Copy me, Name the friend)

A rainbow runs across the keys at power-on, after Surprise! and when stars are won (not with Lights: calm).


13MIDI

USB and the TRS MIDI input (with the FM-1's adapter): notes on any channel play the friend; channel 10 plays the pads (General MIDI drum notes: kick 36, snare 38, clap 39, hat 42, tom 45, cowbell 56, and 49, 51, 37, 46, 57 for the funny sounds). MIDI clock in drives the song (MIDI clock: follow), or BOP-1 sends its own (lead). With Keys to USB MIDI on, the notes played go out on the channel chosen.


14Saving

Saving to the FM-1's memory takes a moment in which the sound pauses, so BOP-1 saves while the music is stopped, or when asked.


15Troubleshooting

Update mode: hold OCT− and OCT+ together for five seconds. A countdown appears; let go before it ends to cancel.

Calibration: if a button or knob does the wrong thing, hold OCT− and OCT+ while you switch the FM-1 on. The screen then asks you to press each button and turn each knob in turn.

Clicks or dropouts: the most BOP-1 can be asked for is every pad on every step with chords on every step and every effect up. If the FM-1 ever runs short, BOP-1 plays fewer notes at once (the tune first, then the sparkle, then the pads) until it has time again.

After a crash: BOP-1 shows a red CRASH screen and restarts by itself a few seconds later. The next start shows RESTARTED AFTER A CRASH and an address (PC ...) for a moment. If you report the problem, include that address and what was happening.

Safe mode: if BOP-1 crashes twice in a row while starting, it starts in SAFE MODE instead. There's no sound, but USB works, so the web installer can reach it: reinstall BOP-1, or put the stock firmware back from the same page. Press PLAY to try starting BOP-1 normally again. If even safe mode fails twice, the FM-1 drops into the chip's own update mode, and only the rescue below can reach it.

Recovering an FM-1 that won't start

An FM-1 in the chip's own update mode shows a blank screen, and neither the web installer nor M-VAVE's updater can see it. A script in the BOP-1 source puts M-VAVE's firmware back, on a Mac, with the USB cable you already have. In Terminal, from the BOP-1 folder:

bash tools/fm1_rescue.sh
  1. If a window asks to install the command line developer tools, click Install. When it has finished, run the line again.
  2. If it asks for a password, type your Mac password (nothing shows as you type) and press Return.
  3. When it says it's waiting, plug the FM-1 in and switch it on. The script catches it, checks the chip, saves a backup of the FM-1's memory in the fm1-rescue folder in your home folder, and asks before it writes anything.
  4. Type yes and press Return. Don't unplug anything until it says it's restarting the FM-1. The FM-1 then starts into its original firmware, and you can install BOP-1 again from there.

The script downloads M-VAVE's FM-1 V15 firmware and JieLi's flash loader, and checks both against known fingerprints. It writes only the firmware area of the memory, never the bootloader or the FM-1's own settings, and checks everything it writes. Running it again is always safe. If the FM-1 never shows up at all, Felucca's FM-1-transporter (a small RP2040 board wired to the USB lines) can still reach it.


16Credits

BOP-1 is free software under the GNU General Public License, version 3. If you share the firmware, you must also share its source code.

M-VAVE and FM-1 are trademarks of their owners. BOP-1 is independent: it is not affiliated with M-VAVE.