Made by ISGK Instruments


  • Experimental Synthesizer for Arduino Uno


  • Monophonic Synthesizer (or MIDI Sound Module)
  • Serial MIDI In (38400 bps), PWM Audio Out (Pin 6), PWM Rate: 62500 Hz
  • Sampling Rate: 15625 Hz, Bit Depth: 8 bits

Demo Audio

VRA8 Series



Step 1: Wiring

Required Hardware

  • Arduino Uno
  • 3.5 mm Audio Jack (or Speaker)
  • 330 (150 or more) ohm Resistor
  • Wires


  • Audio Jack L or R (or Speaker +) ---- Resistor ---- Arduino Uno Digital Pin 6
  • Audio Jack GND (or Speaker -) ---- Arduino Uno GND Pin
  • PC ----[USB Cable]---- Arduino Uno

Additional Notes

Step 2: Software Installation

  1. Download Source code and extract it.
  2. Download Hairless MIDI<->Serial Bridge and extract it.
  3. Download loopMIDI and install it.

Step 3: Start Synthesizer

Explanation for Windows

  1. Write DigitalSynthVRA8X.ino to Arduino Uno and quit Arduino IDE.
  2. Start loopMIDI.
  3. Start hairless-midiserial.exe (Hairless MIDI<->Serial Bridge).
    • Set [File] > [Preferences] > [Baud rate] to 38400 bps.
    • Select Arduino Uno (COM*) on Serial Port.
    • Select loopMIDI Port on MIDI In.
  4. Open vra8-x-ctrl.html (VRA8-X CTRL) with Google Chrome.
    • Select loopMIDI Port on MIDI OUT.
    • Select a MIDI controller on MIDI IN (if you have it).
  5. Click (or touch) the Software Keyboard, and you can hear the sound.
<p>Hi Risgk. I've loaded this sketch onto my vra8-m system (arduino leonardo + atmega328 shield) but I get no sound. Is this code actually running?</p>
Hello zcarlos. Thank you for loading!<br><br>Yes, the sketch is really running in my Arduino Uno R3. This is the sound:<br>https://soundcloud.com/risgk/digital-synth-vra8-x-100-demo<br><br>The VRA8-X audio engine is similar to that of VRA8-M:<br>https://www.instructables.com/id/Digital-Synth-VRA8-M-for-Arduino-Uno/<br><br>I'm sorry. I do not know the cause...<br><br>I use Arduino IDE 1.6.5 and 1.6.6.
<p>Hola Risgk.</p><p>I'm sorry. My apologies. I didn't remember that I changed timer0 to timer2 in vra8-m so output pin was 11 instead of 6. It was driving me crazy.</p><p>So I've changed also in vra8-x and now it runs amazing. Superb!!!</p><p>Thank you very much.</p>
<p>Hello zcarlos. You're welcome. I was relieved.</p>

About This Instructable




More by risgk:Digital Synth VRA8-Px for Arduino Uno Digital Synth VRA8-P for Arduino Uno Digital Synth VRA8-X for Arduino Uno 
Add instructable to: