Arduino

Projects:

OscPocketO

OscPocketO Arduino synths
OscPocketO Arduino synths

OscPocketO – build your own Arduino Pocket Synth and Drum machine!

Demo: https://youtu.be/xTlGxCow4GA

The OscPocketO is a family of portable sound generators running open source software that you can build from Arduino UNOs and LCD Keypads.

All software is running on the Arduino microcontroller including sound generation thanks to the awesome Mozzi library!

OscPocketO is currently two different machines, OscPocketO Synth and OscPocketO Drums, that can be synchronized and play in tempo. Make one, two or three and let them help you create music together!

Both machines feature a sequencer, multiple patterns, adjustable tempo and gate length, saving and loading of patterns as well as functions to create patterns and a solo mode!

The Synth has four selectable waveforms, settings for attack and decay, a low pass filter with modulation and cutoff and resonance settings and an optional second detunable oscillator!

The Drums features virtual analog generated sounds (Kick, Snare, Hihat, Clap, Crash, Tom) and many settings for tweaking the drum sounds!

Downloads:

OscPocketO – download manual and source code (for Mozzi 2)

OscPocketO – manual (updated/English)

OscPocketO – manual (updated/Swedish)

OscPocketO – snabbstart (Swedish)

OscPocketO – download manual and source code (for Mozzi < 2)

OscDigiSeq

OscDigiSeq setup with 5 synthesizers.
OscDigiSeq setup with 5 synthesizers.

The OscDigiSeq is a 4+1 channel analog CV/Gate sequencer based on an Arduino Uno R3.

It has 4 CV/Gate channels that operate from 0 to +5V to drive 4 analog synthesizers. It also has a gate (clock) channel for synchronizing with an analog drum machine.

Every channel (voice) has 2 patterns each consisting of 16 notes ranging from 0-60 (5 octaves).

The software operates using a simple GUI with a 16×2 LCD display and 6 buttons that allows you to:

  • select pattern or turn channel (voice) off
  • edit the notes (or clock on/off for the clock channel)

There is also a utility menu that allows you to:

  • start and stop the sequencer
  • set the tempo (from 0 to 999)
  • edit the gate length (from 0-99%) for each channel
  • transform a pattern (shift it left/right and transpose it)
  • save the pattern as Arduino code [s] or to and from the Arduino EEPROM
  • copy the current pattern to the next
  • tune all connected devices
  • drone all connected devices
  • chain patterns and play the chain (song)

OscDigiSeq – demo

OscDigiSeq – code and instructions

OscCVGateMod

OscCVGateMod is a CV/Gate modulator.
OscCVGateMod is a CV/Gate modulator.

The OscCVGateMod is a 3+3 channel digital/analog CV/Gate modulator based on an Arduino.

An experimental platform for manipulation of CV/Gate synthesizers.

It has 3 independent CV channels that operate from 0 to +5V to drive up to 3 analog synthesizers. It also has 3 independent gate (clock) channels outputting 0 or +5V. It can be thought of as a kind of programmable LFO.

The signals are controlled by software, using algorithms contained in different classes. These classes can easily be expanded and changed, adding additional capabilities.

The algorithms can also be controlled using one or more of 3 potentiometers and an analog input.

The analog input is by default used as a clock input, making it possible to synchronize the algorithms to external devices.

The lack of display and editing capabilities means that major changes and configuration has to be done in the Arduino IDE. To use the OscCVGateMod you have to have some knowledge in programming the Arduino.

OscCVGateMod – demo

OscCVGateMod – code and instruction

OscMidiCVCtrl

OscMidiCVCtrl is a MIDI to CV/Gate controller.
OscMidiCVCtrl is a MIDI to CV/Gate controller.

How to use a USB MIDI device to control +5V CV synths and other full DIN MIDI devices.

OscMidiCVCtrl -download code and instructions

MAMA (Machine for Ambient Music with Arduino)

MAMA built into a box
MAMA built into a box.

This was my first real Arduino-project, created in the summer of 2014. The goal was to try some simple algorithmic composing, where the environment would have an impact on the composition. To create a box that creates ambient music that you just plug in and leave there, letting it create music that always changes depending on the time of day, whether someone is in the room etc. Although the composition algorithm is pretty simple, it can function as a framework for further experiments. One of the main accomplishments was the creation of a sequencer function in Arduino, where I handle and sync 6 different voices.

Equipment:

  • Arduino Uno
  • Sparkfun Musical Instrument Shield (MIS)
  • A real time clock (RTC) connected using the I2C protocol and the Wire library
  • A PIR (infrared) motion sensor
MAMA connections
MAMA connections.

This is how you connect the Arduino:

  • MIS: D3 and D4 connects to D3 and D4 on the Arduino. +5V and GND.
  • RTC: SDA to A4, and SCL to A5. VCC to +5V, GND to GND.
  • PIR: – Middle pin to D2. +5V and GND.

MAMA – download the code

Robot

Robot
Robot that avoids obstacles.

This was my first robot made with Arduino summer 2014.

Demo.

Together with Martin Blom this was made into a 7 week school project at the Bild & form school in Gothenburg. You can download a Swedish manual of the project.

Robot – download manual

Robot – download code

Robot – download instructions for adding Bluetooth control

Robot – download complete code with Bluetooth control