Dhruv Jain Logo Image
Dhruv Jain

FPGA Drummer

Drum machine that can store and loop up to four drum tracks that can be programmed by a user. Built on the Digilent Basys3 platform.

Project Overview

The system is programmed in Verilog, and uses an external PmodAMP2 module in order to connect to and play from a speaker. Each track is programmed using a series of 16 switches that are physically on the board. Tracks are able to be switched using pushbuttons, and the each track can be paused and reset at will. The seven-segment display on the board indicates which track the user is currently editing.

The project accomplishes this functionality by having a series of clock dividers that can create internal clocks for each possible frequency output on a beat, deriving them from the internal 100MHz clock. The demo below shows an example of setting up four tracks, building them up one by one and then layering them on top of each other, after which it shows how tracks can be edited in-place while they are still playing.

Tools Used

Verilog
System Verilog
FPGA
Digital Design
Embedded Systems