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.
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.
Connect the USBC Cable from the PC to the Unihiker. Connect with Putty using SSH to 192.168.1.39. 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.
$ python tr808.py
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.
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
H closed hi hat
O open hi hat
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.
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.