Skip to content
Purdue Spark Challenge2024

DJ Pete Beat Sequencer

Embedded firmware for STM32 microcontrollers featuring I2C, DMA, DAC, SPI integration with Adafruit NeoTrellis RGB keypads for interactive music production.

STM32CI2CDMADACSPIAdafruit NeoTrellisEmbedded Systems
View on GitHub

Architecture

STM32 ARM Cortex-M4 microcontroller with multiple communication protocols (I2C, SPI) for RGB keypad integration. DMA-driven audio processing for real-time audio sample streaming to DAC.

User Input → STM32 → I2C/SPI → RGB Keypad → DMA → DAC → Audio Output

Key Features

🔌

Multi-Protocol Communication

Implemented I2C and SPI communication protocols for integration with Adafruit NeoTrellis RGB keypads and external peripherals.

DMA-Driven Audio

Leveraged Direct Memory Access for real-time audio sample streaming to DAC, reducing CPU bottlenecks in audio processing pipeline.

🎨

Real-time RGB Control

LED matrix management with per-key RGB control, creating visual feedback system synchronized with audio patterns.

⚙️

Low-Level Optimization

Hand-optimized ARM assembly routines for critical audio paths, achieving deterministic timing for music applications.

Technical Details

STM32 Embedded System

ARM Cortex-M4 microcontroller running at 168MHz with 512KB flash and 192KB SRAM. 8x8 RGB matrix for visual feedback.

Implemented I2C Master/Slave, SPI Full Duplex, DMA Circular Mode, and GPIO Interrupt handling.

Real-time Audio Processing

DMA-driven audio pipeline for deterministic timing. Hand-optimized ARM assembly for critical paths.

Impact & Results

Showcased embedded systems proficiency through creative music technology, bridging hardware and artistic expression

Key Achievements

Implemented embedded systems with multiple communication protocols

Created interactive RGB keypad interface for music production

Presented at Purdue Spark Challenge showcasing technical innovation

Demonstrated proficiency in low-level hardware programming and real-time systems

Technical Innovation

  • • Embedded systems architecture design
  • • Real-time audio processing on resource-constrained hardware
  • • Multi-protocol communication stack implementation
  • • Precise timing for music applications
  • • Low-level embedded programming proficiency
  • • Real-time systems concepts in practical context