Unihiker TR-808 Drum Machine

The TR808 is a drum machine released by Roland Corporation more than 40 years ago. Among his unique features were the ability to customize rhythms instead of using preset patterns and certain sounds, particularly its deep, booming bass drum built from a sine oscillator, low-pass filter, voltage-controlled amplifier and even ‘defective’ solid-state transistors.


The TR808 became popularized by Marvin Gaye, Talking Heads and Charly García  and there is in fact an entire documentary about this drum machine 


Roland has recently released a version of the TR808, which can be purchased at $400  And there is also a Behringer version at $349 


As a humble tribute to the drum machine designed by Ikutaro Kakehashi, I have decided to make a basic recreation of the classic Roland TR808 drum machine for the Unihiker board.

Software setup



Download source code, sounds and images from Github


Connect the USBC Cable from the PC to the Unihiker. Connect with Putty using SSH to The user is root. The password is dfrobot


The Unihiker is used as the programming interface to control functions of the excellent software beats made by Joel Strait.


To install beats just run:


$ gem install beats


Then run Alsamixer, select USB F6 and increase the volume.


Now its time to load samples. The selected samples were obtained by Michael Fischer directly from a TR-808


Using SFTP with the same SSH credentials, upload the tr808.py code, sound and images to /home folder.


Run with 

$ python tr808.py 


3d printed case

Case is not required but the drum machine will look better. Download the files from Cults


The case was made with Fusion 360 and it has 2 parts. Print with PLA. No support is required.



Using the Unihiker TR808

With pot #1 you can change the tempo, which starts at 100 bpm. Turning it down will decrease 5 bpm and turning it up it will increase the bpm by 5.


With pot #2 you can change the “page” meaning changing from the first 8 to the second 8 of the same bar. 


In each page there is a matrix with beats as the columns and sounds as the rows. Row meaning is 


K kick 

S snare

H closed hi hat

O open hi hat

C cymbal

B another bass kick 


Clicking Start/Stop will create a beats.txt file, will execute beats software and finally play a .wav with the drum track. Those wavs could be used as a stand alone track and played in any Smartphone or computer.


Python code details

The code presents a button matrix made with Unihiker library, which is based on Tkinter. Each matrix cell represents if a sound is played at a specific moment. There is also code to detect the potentiometers movement and adjust tempo and the matrix page number. 


Whenever Start button is touched, the matrix is exported to a text file beats.txt, the text file is sent to Beats application and the wav file obtained from Beats application played through Unihiker Audio library.

All Rights