Garvuino workflow (1-bit engine)

Garvuino is a neat PCB board for creating musics, sounds and chiptunes, either through programmation, soundtracker or live recording (midi). It’s open-source hardware, so you can modify, hack, have fun with it without restriction.

You can get more information about it on the creator website or on github.

If you want to try out, you will need :

  • Garvuino (you can built it by yourself or buy one)
  • USB mini cable
  • Headphones or a jack mini cable (so you can record what you have done)
  • Arduino IDE
  • Garvuino’s source code from github (so you can use the sample sketches)
  • Beepola tracker (as we will be testing the 1-bit engine in this documentation). You will need to setup Wine for this application to work.

This whole environment was setup on Librazik but it will work on other Linux distributions.

The manual on github is very good. In fact, this webpage was written so I can remember how to use it but it might also help other people.

First, you will have to configure the Arduino IDE correctly so sketches can be uploaded to the Garvuino.

I had to configure it like this

You might also have to configure the proper permissions on /dev/ttyUSB0 :

I was getting this :
avrdude: ser_open(): can't open device "/dev/ttyUSB0": Permission denied
So I had to :
sudo usermod -a -G dialout myuser

Let’s now have fun with beepola and compose something !

And then compile the song (in the tools menu) :

You will then get a .bin (garvuino-phaser1.bin for example) in the beepola directory. You can now use a copy of ~/ garvuino/arduino_sketches/beeper/arduino_phaser1/ and convert your music to Arduino code.

python ./arduino_phaser1/bin2h.py garvuino-phaser1.bin > garvuino-phaser1.h

Then, in the Arduino IDE, simply load arduino_phaser1.ino and adapt the code.

Compile and upload the code and that’s it ! You should get some audio output and the big LED should blink !

Here is an example :

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *