Pulse Sequencer
The Pulse Sequencer is Ant64's real-time musical interface — MIDI, jog dials, audio synthesis, and high-speed FPGA data transfer, all in one RP2350B.
Overview
Pulse is built around the RP2350B, overclocked well beyond its stock speed:
| Clock | Voltage | Notes |
|---|---|---|
| 150MHz × 1 | 1.1v | Stock |
| 300MHz × 2 | 1.2v | Standard overclock |
| 460MHz × 3 | 1.5v | Aggressive overclock |
| 600MHz+ | 2.0v | Community reported maximum |
Memory
- 16MB flash
- 8MB PSRAM — accessed via GPIO-8 (PSRAM bank 0)
- 8MB+ FRAM — accessed via GPIO-0
- FRAM and PSRAM are mutually exclusive — only one mode active at a time
- The 8MB RAM can store music data for editing / sending to FireStorm
Roles & Responsibilities
Pulse acts as the primary interface to the Sticky controller, and sits at the centre of several interconnects:
- SPI slave ← DeMon
- SPI master → Sticky + jog dial controller
- Hi-speed UART ↔ SG2000
- 4-line PIO / HSTX → FireStorm (high-speed data transfer)
- USB host — MIDI keyboard, mouse
Audio & Video Capabilities
- 80s-style software speech synthesis (SAM) — audio data sent to FireStorm for mixing
- Audio in/out to/from both SG2000 and FireStorm (HDMI audio output)
- When not generating audio, can produce video data sent to FireStorm and mixed with normal output
- Various audio system emulators built into firmware
- 64KB of PSRAM can hold a 256×256 256-colour screen — sent over PIO lines to FireStorm as a simple overlay
Controls
- 8× RGB illuminated jog dials with integrated push buttons — simulate analog instruments such as the TB-303
- 4× 3.5mm trigger / CV inputs (Kick · Snare · Sync · Foot)
FRAM16 Memory Map 000000–FFFFFF
| Start | End | Size | Description |
|---|---|---|---|
000000 |
7FFFFF |
800000 |
8MB SRAM |
800000 |
FFFFFF |
800000 |
Reserved |
GPIO Map
| GPIO | Function | GPIO | Function |
|---|---|---|---|
| 0 | FRAM | 29 | RX0 MIDI RX |
| 1 | PIO SPI0 CSn — Cart 3 CS | 30 | I2C1 SDA — Audio 0x36/0x36 — HDMI 5V SDA |
| 2 | Cart 1 | 31 | I2C1 SCL |
| 3 | Cart 2 | 32 | SPI0 RX — Sticky |
| 4 | Cart 7 | 33 | SPI0 CSn — Sticky |
| 5 | Cart 8 | 34 | SPI0 SCK — Sticky |
| 6 | TX1 — SG2000 RX3 | 35 | SPI0 TX — Sticky |
| 7 | RX1 — SG2000 TX3 | 36 | PIO SPI0 RX — Round screen + Cart 4 |
| 8 | PSRAM CS0 | 37 | PIO SPI0 CSn — Round screen |
| 9 | Sticky UPDI (programming) | 38 | PIO SPI0 SCK — Round screen + Cart 5 |
| 10 | Sticky reset | 39 | PIO SPI0 TX — Round screen + Cart 6 |
| 11 | CART G CD | 40 | Round screen brightness PWM |
| 12 | FireStorm 0 | 41 | Round screen reset |
| 13 | FireStorm 1 | 42 | Round screen cmd/data |
| 14 | FireStorm 2 | 43 | SG2000 boot mode — Arm / RISC-V |
| 15 | FireStorm 3 | 44 | Cart 12 — I2C0 SDA — Rotary |
| 16 | Cart 9 | 45 | Cart 11 — I2C0 SCL |
| 17 | Cart 10 | 46 | Rotary UPDI (programming) |
| 18 | Cart 13 | 47 | Rotary reset |
| 19 | Cart 14 | SWDIO | Connected to DeMon — debug/programming |
| 20 | Sticky interrupt | SWDCLK | Connected to DeMon — debug/programming |
| 21 | Rotary interrupt | ADCREF | — |
| 22 | FireStorm interrupt | 3V3 | — |
| 23 | SPI1 interrupt → DeMon | BOOTSEL | — |
| 24 | SPI1 RX — DeMon slave | USB D- | MIDI / Mouse USB host port |
| 25 | SPI1 CSn — DeMon slave | USB D+ | MIDI / Mouse USB host port |
| 26 | SPI1 SCK — DeMon slave | RUN | Connected to DeMon |
| 27 | SPI1 TX — DeMon slave | 3V3 EN | — |
| 28 | TX0 MIDI TX | VBUS | — |