Skip to content

redraw/euclid-16

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

euclid-16

This is a prototype of a sequencer made in a Raspberry Pi Pico. Particulary, an euclidean sequencer, whose steps can be added/removed uniformely in the grid by rotating the encoder.

VID_20221020_162245915.mp4

For the moment, features are:

  • 4 voices
  • 16 steps
  • Audio output through PWM (optionally I2S)
  • MIDI USB note output
  • Clock input 5V trigger pulse (ie. used by Korg Volca, etc)
  • 16 led using 2 shift registers 74hc595, or NeoPixel display
  • Event-based system to hook into seq/UI events, see src/main.py
  • Save up to 16 sequences

Usage

  • Rotate encoder (no buttons held) → Adjust TEMPO

  • Press a button → Select voice

  • Hold a button + rotate encoder:

    • Btn 1 → Add/remove HITS
    • Btn 2 → Add/remove OFFSET
    • Btn 3 → Add/remove STEPS
    • Btn 4 → Select sequence (1–16)
      • Also press encoder button while holding Btn 4 → Save sequence
  • Press encoder buttonPLAY/STOP sequence

  • Button combos:

    • Btn 1 + Btn 2Clear pattern
    • Btn 2 + Btn 3Random pattern

TODO

  • Porting to Arduino C. Despite CircuitPython is great to play around, it doesn't provide hardware timer interrupts, which is critical to keep tempo consistent. Maybe worth trying plain MicroPython, but C surely is a better idea.
  • Add more voices
  • Sync out
  • MIDI sync in
  • Improve RC filter on audio PWM pin (currently, just a 4.7k + 1uF cap)

About

raspberry pi pico 16-step euclidean sequencer drum machine

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published