- Introduction
- Getting Started
- Hardware Requirements
- Installation
- Interface Overview
- Transport & Playback
- Pages & Navigation
- TB-303 Synthesizer
- Pattern Editing
- Drum Sequencer
- Song Mode
- Project Management
- Recording Audio
- Keyboard Shortcuts Reference
- Mouse Controls
MiniAcid is a portable acid groovebox for the M5Stack Cardputer and web. It combines two squelchy TB-303 style bass synthesizers with a punchy TR-808 inspired drum machine, giving you a complete rhythm production tool in your pocket.
- Two TB-303 voices with full filter, envelope, and effects controls
- Eight-voice drum machine with classic 808 sounds (kick, snare, hats, toms, rim, clap)
- 16-step sequencer for each voice
- Pattern banks with 8 slots per instrument
- Per-pattern automation for 303 and drum parameters
- Multiple drum kits (808/909/606) with per-pattern automation
- Song mode for arranging patterns into complete tracks
- Live muting for all voices
- Audio recording to WAV files
- Scene management with save/load functionality
- Cross-platform: runs on M5Stack Cardputer, and web browsers
- Power on your M5Stack Cardputer/open MiniAcid in your web browser
- Press SPACE to start playback
- Use
[and]to navigate between pages - Use 'ESC' to open the help page for keyboard shortcuts on each page
- Adjust parameters using the keyboard shortcuts
- Press SPACE again to stop (auto-saves to SD card if available)
Go to https://miniacid.mrbook.org
- Search for "MiniAcid" in Launcher or M5Burner
- Install and run
The MiniAcid interface consists of several sections:
┌─────────────────────────────────────┐
│ TRANSPORT BAR (BPM, Play indicator) │
├─────────────────────────────────────┤
│ │
│ PAGE CONTENT │
│ (varies by active page) │
│ │
├─────────────────────────────────────┤
│ MUTE SECTION (Voice status) │
└─────────────────────────────────────┘
- Shows page title
- Shows current BPM
- Play/stop indicator (blue in Pattern mode, yellow in Song mode)
- Main content area that changes based on the active page
- Displays parameters, patterns, sequencer grids, or waveforms
- Shows mute status for all voices
- Visual indicators: dimmed = muted, bright = active
MiniAcid has several pages accessible via [ and ] keys:
- TB-303 Page (A) - First bass synth parameters and waveform
- Pattern Edit Page (A) - 303A sequencer editor + automation subpage
- TB-303 Page (B) - Second bass synth parameters and waveform
- Pattern Edit Page (B) - 303B sequencer editor + automation subpage
- Drum Sequencer - Drum pattern editor + settings + automation subpages
- Song Mode - Pattern arrangement and song sequencing
- Project Page - Scene management and settings
- Help Page - Keyboard shortcuts and controls
Use CTRL/CMD+UP/DOWN to switch subpages when a page has multiple views (303 pattern automation and drum settings/automation).
Play/Stop: Press SPACE
- Starts playback from the current position
- Stopping automatically saves the scene
- Cardputer: It saves to SD card (if available)
- Web: Saves to browser local storage
Adjust BPM:
K- Decrease BPM by 5L- Increase BPM by 5- Range: typically 60-200 BPM
MiniAcid has two playback modes:
-
Pattern Mode (default, blue indicator)
- Plays the currently selected pattern for each instrument
- Each voice loops its active pattern independently
-
Song Mode (yellow indicator)
- Plays the song arrangement from the Song page
- Patterns change automatically according to song positions
You can toggle between modes using Ctrl/Cmd + P or by pressing M on the Song page.
MiniAcid features two independent TB-303 style bass synthesizers (303A and 303B). Each has its own parameter page and pattern editor.
Each 303 voice has the following controls:
-
Cutoff - Filter cutoff frequency (controls brightness)
A- Increase cutoffZ- Decrease cutoff
-
Resonance - Filter resonance (controls emphasis/squelch)
S- Increase resonanceX- Decrease resonance
-
Filter Type - LP/BP/HP filter models
- Focus FLT with LEFT/RIGHT, then use UP/DOWN to change
-
Env Amount - Envelope modulation depth
D- Increase envelope amountC- Decrease envelope amount
-
Decay - Envelope decay time
F- Increase decayV- Decrease decay
- Waveform - Oscillator waveform type
- Options: Saw, Square, Pulse (various widths)
T/Gcycles waveform (or focus OSC and use UP/DOWN)
-
Delay - Tempo-synced delay effect
M- Toggle delay on/off
-
Tube Distortion - Saturation/overdrive effect
N- Toggle distortion on/off
On the 303 parameter pages, you can use the mouse to adjust knobs:
- Click and drag on a knob to adjust value
- Scroll wheel over a knob for fine adjustment
Each 303 voice has a dedicated pattern editor page with:
- Two rows of 8 steps (16 steps total)
- Note display for each step
- Slide and accent indicators
- Pattern bank selector (8 pattern slots)
Move Between Steps:
- Arrow keys or Cardputer arrow cluster (
; , . /) - Selected step highlighted with a border
Move Between Rows:
- UP/DOWN arrows
Pattern Selection:
- When cursor is on the patterns row,
QthroughI- Select pattern slots 1-8 - ENTER - Load the highlighted pattern (when on pattern row)
When a step is focused:
Note Editing:
A- Increase note by one semitoneZ- Decrease note by one semitone- Range: C1 to B4 (4 octaves, including sharps)
Octave Change:
Sor ALT+UP - Increase octaveXor ALT+DOWN - Decrease octave
Modifiers:
Q- Toggle slide (glide to next note)W- Toggle accent (emphasis/louder)
Clear Step:
- BACKSPACE - Clear the step (no note plays)
- Note box - Large square showing note value (e.g., "C#2")
- Slide indicator - Small colored box above note (green)
- Accent indicator - Small colored box above note (yellow)
- Current step - Border around the selected step
Each 303 voice has 8 pattern slots:
- Switch between slots using
Q-Ikeys - Each slot stores a complete 16-step pattern
- Active pattern number shown at top of page
- Bank selection bar shows all 8 slots
Copy/Paste:
- CTRL+C or CMD+C - Copy current pattern
- CTRL+V or CMD+V - Paste pattern to current slot
- CTRL+X or CMD+X - Cut pattern (copy and clear)
Undo:
- CTRL+Z or CMD+Z - Undo last edit
Transpose:
- ALT+D - Transpose pattern up one semitone
- ALT+C - Transpose pattern down one semitone
Rotate:
- ALT+F - Rotate pattern forward by one step
- ALT+V - Rotate pattern backward by one step
Each 303 pattern has an automation subpage for parameter lanes (cutoff, resonance, envelope, oscillator, filter type, volume).
Open the Automation Subpage:
- CTRL/CMD+UP or CTRL/CMD+DOWN - Switch between pattern notes and automation
- Click the up/down indicator in the title bar (desktop/web)
Select a Lane:
- TAB / SHIFT+TAB - Move focus between the pattern bar, lane list, and lane editor
- UP/DOWN (when the lane list is focused) - Choose a parameter lane
- ENTER (on a lane label) - Enable/disable that lane
Edit the Lane:
- Arrow keys - Move the cursor
- ENTER - Add/remove a node at the cursor
- BACKSPACE - Delete the node at the cursor
- ALT+LEFT/ALT+RIGHT - Jump between existing nodes
Indicators:
- A small yellow square next to a parameter means that lane has automation
- Filled = enabled, outline = disabled
- Lanes hold the last node value to the end of the pattern
- Copy/paste/cut operations include automation data for the pattern
- Option-based lanes (oscillator, filter type) use discrete steps per option
- Click on a step to select it
- Click on pattern slots in the bank selector to switch patterns
- Drag across pattern selector for quick switching
The drum sequencer features 8 drum voices arranged in a grid:
- 16 steps per voice
- 8 pattern slots
- Individual voice muting
- Kick (3) - Bass drum
- Snare (4) - Snare drum
- Closed Hat (5) - Closed hi-hat
- Open Hat (6) - Open hi-hat
- Mid Tom (7) - Mid tom
- High Tom (8) - High tom
- Rim (9) - Rim shot
- Clap (0) - Hand clap
(Numbers in parentheses are mute keys)
MiniAcid ships with three drum kits inspired by different classic drum machines:
- 808 (default)
- 909
- 606
Move in Grid:
- Arrow keys or Cardputer arrows
- Highlight moves across steps and voices
Pattern Selection:
QthroughI- Select drum pattern slots 1-8- Pattern row at top shows available patterns
Toggle Hit:
- ENTER - Toggle drum hit on/off at current step
- Active hits shown as filled squares
Toggle Accent:
- W - Toggle accent on/off at current step
- Accents shown as a thin bar above each step (affects all drum voices on that step)
Load Pattern:
- Navigate to pattern row (top of grid)
- Press ENTER to load selected pattern
Switch to the Drum Settings subpage with CTRL/CMD+UP/DOWN.
- KIT - Select 808/909/606 (focus the KIT label, then use UP/DOWN)
- Distortion - A/Z
- Compression - S/X
- Transient Sustain - D/C
- Reverb Mix - F/V
- Reverb Decay - G/B
Automation indicators appear next to parameters that have automation lanes.
Switch to the Drum Automation subpage with CTRL/CMD+UP/DOWN.
Drum automation is per-pattern and includes these lanes:
- KIT (drum engine)
- DIST (distortion)
- COMP (compression)
- SUS (transient sustain)
- RVB (reverb mix)
- RDEC (reverb decay)
- VOL (drum volume)
Use the same lane editor controls as the 303 automation page (see below). Option-based lanes (KIT) use discrete steps per option.
- Click on grid cells to toggle drum hits
- Click on accent lane to toggle accents
- Click pattern slots to switch patterns
- Visual feedback on hover
Song Mode allows you to arrange patterns into complete songs by creating a sequence of song positions. Each position defines which patterns play for all three tracks (303A, 303B, Drums).
- Navigate to the Song Page using
[and]keys - The page shows a grid of song positions, reminiscent of a tracker interface
Tracks (columns):
- 303A - First bass synthesizer
- 303B - Second bass synthesizer
- Drums - Drum machine
Positions (rows):
- Song positions 1-128
- Each position can have different pattern assignments
- Length: 1 to 128 positions
Move Selection:
- Arrow keys - Navigate between cells
- UP/DOWN - Move between positions (rows)
- LEFT/RIGHT - Move between tracks (columns) or focus mode toggle
Vertical Scrolling:
- Grid scrolls automatically during playback
- Selected cell is always visible
Assign Pattern to Cell:
- Select a cell (track × position)
- Using ALT + ARROW UP/ARROW DOWN, change the assigned pattern to that cell
- Pattern bank+number appears in cell
Clear Assignment:
- BACKSPACE - Clear pattern from selected cell
- Track will be silent at that position
Change Bank (if supported):
- ALT+UP - Next bank
- ALT+DOWN - Previous bank
Mode Toggle:
Mor ENTER (on mode indicator) - Toggle between Song Mode and Pattern Mode
Pattern Mode (blue indicator):
- Plays currently selected patterns continuously
- Pattern selection on 303/drum pages determines what plays
Song Mode (yellow indicator):
- Plays song arrangement sequentially
- Pattern changes according to song grid
- Playhead indicator shows current position
Playhead Navigation (during playback):
- ALT+UP - Jump to next position
- ALT+DOWN - Jump to previous position
- Default: 1 position
- Automatically extends when you edit positions beyond current length
- Maximum: 128 positions
When Song Mode is active:
- Transport bar shows yellow indicator
- 303 and drum pages display the pattern currently playing at the current song position
- Pattern editors still work normally for editing individual patterns
A Scene contains your complete project state:
- All pattern banks (303A, 303B, Drums)
- All 303 parameter settings (filter, envelope, effects)
- Song arrangement
- Mute states
Auto-Save:
- Scene automatically saves when you stop playback (press SPACE)
- Requires SD card on Cardputer
Manual Save:
- CTRL+S or CMD+S - Save scene immediately
- On startup, MiniAcid loads the last saved scene from SD card
- If no scene exists, loads default patterns
Cardputer:
- Saves to SD card root. For example:
/miniacid_scene.json
Web Browser:
- Uses browser local storage
- Persists between sessions
MiniAcid can record your sessions to WAV audio files. Recording captures the master output including all voices, live changes and effects.
Keyboard Shortcut:
- CTRL+R or CMD+R - Start recording
What Happens:
- Recording indicator appears (red square) in the transport bar
- Audio begins writing to WAV file
- All generated audio is captured in real-time
Keyboard Shortcut:
- CTRL+R or CMD+R again - Stop recording
- Or press SPACE to stop playback (also stops recording)
- Sample Rate: 22050 Hz (22.05 kHz)
- Bit Depth: 16-bit PCM
- Channels: Mono
- Format: WAV (uncompressed)
Cardputer:
- Saves to SD card:
/miniacid_YYYYMMDD_HHMMSS.wav - Example:
miniacid_20260109_143045.wav
Web Browser:
- Automatically downloads when recording stops
- Filename:
miniacid_recording.wav
- Start playback first, then start recording for a clean start
- Let patterns loop at least once for complete bars
- Stop recording cleanly using the keyboard shortcut
- Check SD card space on Cardputer before long recordings
- Typical file size: ~1.3 MB per minute of audio
| Key | Action |
|---|---|
| SPACE | Play/Stop (auto-saves on stop) |
| K | Decrease BPM (-5) |
| L | Increase BPM (+5) |
[ |
Previous page |
] |
Next page |
| ENTER | Dismiss splash / Confirm action |
| ESC | Open page help |
- = |
Decrease/Increase main volume |
| TAB | Move focus to next panel/control |
| SHIFT+TAB | Move focus to previous panel/control |
| CTRL/CMD+UP | Switch subpage up (when available) |
| CTRL/CMD+DOWN | Switch subpage down (when available) |
| Key | Action |
|---|---|
| I | Randomize 303A pattern |
| O | Randomize 303B pattern |
| P | Randomize drum pattern |
| Key | Voice |
|---|---|
| 1 | 303A synthesizer |
| 2 | 303B synthesizer |
| 3 | Kick drum |
| 4 | Snare drum |
| 5 | Closed hat |
| 6 | Open hat |
| 7 | Mid tom |
| 8 | High tom |
| 9 | Rim shot |
| 0 | Clap |
| Key | Parameter | Change |
|---|---|---|
| A | Cutoff | Increase |
| Z | Cutoff | Decrease |
| S | Resonance | Increase |
| X | Resonance | Decrease |
| D | Env Amount | Increase |
| C | Env Amount | Decrease |
| F | Decay | Increase |
| V | Decay | Decrease |
| T | Oscillator | Next waveform |
| G | Oscillator | Previous waveform |
| M | Delay | Toggle on/off |
| N | Distortion | Toggle on/off |
| LEFT/RIGHT | Focus control | OSC / FLT / DST / DLY |
| UP/DOWN | Adjust focused control | OSC / FLT / DST / DLY |
| Key | Action |
|---|---|
| Arrow Keys | Navigate steps/cells |
| Q-I | Select pattern slots 1-8 (when on patterns row) |
| ENTER | Load pattern / Toggle hit |
| BACKSPACE | Clear step |
| ALT+F | Rotate 303 pattern forward |
| ALT+V | Rotate 303 pattern backward |
| Key | Action |
|---|---|
| Q | Toggle slide |
| W | Toggle accent |
| A | Note +1 semitone |
| Z | Note -1 semitone |
| S | Octave up |
| X | Octave down |
| Key | Action |
|---|---|
| W | Toggle accent |
| Key | Action |
|---|---|
| Arrow Keys | Move automation cursor |
| ENTER | Add/remove automation node |
| BACKSPACE | Delete automation node |
| ALT+LEFT/ALT+RIGHT | Jump between nodes |
| Key | Action |
|---|---|
| A/Z | Distortion up/down |
| S/X | Compression up/down |
| D/C | Transient sustain up/down |
| F/V | Reverb mix up/down |
| G/B | Reverb decay up/down |
| UP/DOWN | Change kit (when KIT is focused) |
| Key | Action |
|---|---|
| Arrow Keys | Navigate song grid |
| BACKSPACE | Clear cell |
| M | Toggle Song/Pattern mode |
| ENTER | Toggle mode (on mode row) |
| ALT+UP | Increase bank / Next position (playing) |
| ALT+DOWN | Decrease bank / Prev position (playing) |
| Key | Action |
|---|---|
| CTRL/CMD+C | Copy pattern |
| CTRL/CMD+V | Paste pattern |
| CTRL/CMD+X | Cut pattern |
| CTRL/CMD+Z | Undo last edit |
| CTRL/CMD+S | Save scene |
| CTRL/CMD+J | Start/Stop recording |
Available in Desktop/Web versions
Knob Interaction:
- Click and drag - Adjust parameter value
- Drag up to increase, down to decrease
- Smooth, continuous control
- Mouse wheel - Fine adjustment
- Scroll up to increase, down to decrease
- Precise value changes
- Visual feedback - Knob updates in real-time
Step Selection:
- Click on step - Select that step for editing
- Visual highlight - Shows selected step
Pattern Bank:
- Click on pattern slot - Switch to that pattern
- Active pattern - Highlighted in bank selector
- Click in the automation lane editor - Add/remove nodes
- Click the yellow square next to a lane label to enable/disable automation
- Click in the automation lane editor - Add/remove nodes
- Click the yellow square next to a lane label to enable/disable automation
Grid Editing:
- Click on cell - Toggle drum hit on/off
- Click and drag - Paint multiple hits (if supported)
- Hover effect - Visual feedback before clicking
Cell Selection:
- Click on cell - Select position/track
- Visual highlight - Shows selected cell
Pattern Assignment:
- Use keyboard after clicking cell to assign patterns
Bank Selection Bar:
- Click on bank - Switch to that bank
- Visual indicator shows active bank
Pattern Selection Bar:
- Click on pattern - Load that pattern
- Active pattern highlighted
- Start simple - Use 4-8 notes, not all 16 steps
- Use slides - The "acid" sound comes from sliding between notes
- Add accents - Emphasize certain beats (1 and 3, or syncopated)
- Cutoff and resonance - High resonance + moving cutoff = squelch
- Envelope modulation - Moderate env amount (200-600) sounds natural
- Randomize and edit - Press
IorOto generate ideas, then refine
- Four-on-floor - Kick on every beat (steps 1, 5, 9, 13)
- Snare backbeat - Snare on 2 and 4 (steps 5, 13)
- Hat patterns - Closed hat every other step for energy
- Open hats - Use sparingly for emphasis and release
- Randomize for variety - Press
Pthen edit to taste
- Live muting - Use number keys to drop voices in/out
- Parameter tweaking - Adjust filter cutoff while playing
- Pattern switching - Change patterns on-the-fly (switches at next loop)
- BPM changes - Gradually increase tempo for energy
- Effects - Toggle delay/distortion for texture changes
Happy acid jamming! 🎵🎛️🔊