Vimana Sequencer

Vimana Sequencer

Vimana is a personal interpretation of a Multi-track Midi Step Sequencer with an Open Philosophy regarding the User Interface

I have been working on this project during the last 4 years, and today, I’m presenting it to the world as it is right now.
Vimana is also my submission to the MIDI Awards 2022.

Below is a list of the main features that are implemented:

16 independent MIDI channels/tracks
Main clock, division/multiplication per track
Step parameters: pitch, velocity, gate, retrigger, repeat, chord, inversions, sustain
Play mode: forward, reverse, pendulum, random, drunk
Built-in Quantizer with many different scales, and also the possibility of setting a custom scale.
Euclidean Generator

Vimana stands upon an open philosophy regarding the physical user interface. As a developer and a musician, I wanted to be able to build multiple instruments according to the need of the project, or the moment. For this I have created a modular user interface from the physical point of view, but also from the software point of view. Let’s say that we need a step sequencer with 5 steps and 3 tracks only, or a gate sequencer for drums and rhythms with as many steps and pages and tracks, it is all possible with this system, it’s just a matter of changing variables and voila. CPU is the limit here, and since we have a Teensy platform as the brain, we have a lot of free ground to play with.

Concept: Guilherme Martins
Electronics: Guilherme Martins, Tarquínio Mota
Software: Guilherme Martins, Tarquínio Mota
Beta Tester: Ricardo Webbens

In the video below I have an intrument ensemble in Ableton Live, and I’m using Vimana to play them all. 

Other instances and prototypes of Step Sequencers, testing different layouts and user interfaces.

The video below shows how it all started, the 1st prototype of a step sequencer. When I accomplish this concept, I knew I could create something way better.

Drone Engine

Drone Engine

I have an Axoloti core for a couple of years, I never gave good use to it. The time  finally came. I have been thinking in a Drone Machine, something that could be fun and simple to use, with a lot of ground to explore and play. On the other hand, I also want to build a generic physical setup, that allows me to change firmware and experiment with new sound objects and synth architectures.

The Axoloti Core is a bare bone pcb, built with a powerful DSP, and it is made to be hacked and customized. It has a great community, that has been creating a huge amount of amazing sonic objects since the beginning. I don’t think I have invented anything, I only connected ready made objects like the oscillators and the effects, it is that simple.

This is the physical setup, it is a Teensy LC with two groups of 16 pots that are connected to multiplexers. Teensy is sending MIDI CC messages to the Axo, and all the parameters are being controlled this way. The major drawback is the MIDI low resolution (127 steps), this is noticeable in the oscillators pitch. One thing to do in the future is to connect the pitch potentiomers directly to the analog input on the Axo.
The black PCB boards I’m using were developed during Artica’s days. Luckilly I still have a bunch of these boards with me. 

Since the Teensy is connected to the Axo via USB (Axo has USB host port), and I didn’t want to have the usb plug showing on the back panel for several reasons, the USB is soldered directly to the Axo’s PCB.

If I still need to program the Teensy, I can still use a modified USB cable that connects to this JST header.

The Axoloti program is very simple, basically there’s 2 oscillators based on Mutable Instruments Braids algorythms, and a third very simple oscillator. Each of the Oscillators has dedicated LFO’s to the filter, and the Mutable Oscillators has also LFO to modulate color and timbre.
Than all the voices are mixed and send to Delay and a Reverb.
If you have an Axoloti and want to experiment this synth, you can download the patch 

With a MIDI keyboard this synth can be played normally. By the time of this video I had the 3 oscillators being affected by keys, but right now only one oscillator receives MIDI information, so I can still play around with the other 2 as drone voices. 

If you want to know more about how to make a custom MIDI controller check my tutorials about MIDI programming and generic IO processing.

Physical Computing Tutorials

Physical Computing Tutorials

This is my humble contribution, showing how to interface with physical stuff.
I’ve been developing physical interfaces for a couple of years, from robotics to electronic musical instruments and other physical devices to be used in interactive installations.
In this Youtube channel, I will be sharing experiments hoping they will be useful for someone.
Here’s a list of the tutorials I have made so far.  

Simple USB MIDI in 3 parts

Reading analog and digital inputs using Multiplexers in 3 parts

Reading analog and digital inputs using Multiplexers in 3 parts

Reading analog and digital inputs in 3 parts

Modular Physical Computing

Modular Physical Computing

I personally enjoy pressing buttons, turning knobs,  see and touch physical devices, and if they make any bleep or bloops it’s even better.

Building physical control systems is not always easy, speccially if we need them to be sturdy enough to throw on a backpack, or take them to an installation or stage performance. This project started in ArticaCC, during a research project named “Interact”. This enabled us to research ways to build interactive systems related to software and hardware. These modular systems are easy to solder and easy to interface with, and because they are totally generic they can be used with Arduino, Teensy, RaspberyPI or any other microcontroller of your choice.

All these modules have an open source hardware philosophy and have a dedicated repository on Github. Feel free to use them as you wish.

Brain, Wider than the Sky

Brain, wider than the Sky

Brain, Wider than the Sky

Fundação Calouste Gulbenkian

Rui Oliveira

Project leader, Interaction design, Software development
Neuron Sculpture detection and interaction
André Almeida

Rigging, Electronics, Setup
David Palma

Neuron Sculpture project leader
Neuron Sculpture vision, concept, sculpture
Eric da Costa

Interactive applications art direction
3D Models, UI design, Brain Orchestra Sound design
Neuron Sculpture Sound design
Filipe Barbosa

Time to Action Author Software development, Project Advisor
Gonçalo Lopes (NeuroGears)

Light equipment design and assembly, Neuron sculpture interactive sound software
Brain orchestra software developer
Guilherme Martins

Neuron Sculpture fibreglass
Neuron Sculpture assembly
João Ribeiro

NeuroGears, Neuron Sculpture detection software
Project Advisor
João Frazão

Neuron Sculpture fiberglass
Neuron Sculpture assembly
José Pedro Sousa

Interactive applications Software developer
Ricardo Imperial

Neuron Sculpture software development
Neuron Sculpture light/electronics development
Interactive applications software development
Tarquínio Mota

Leonel Caldeira

Project full disclosure:


Toppi, the Sweet Artist

End Customer
Nestlé Portugal

J. Walter Thompson Lisboa

J. Walter Thompson Lisboa

Artica Creative Computing

Robot Concept and Extruder Design
Eric da Costa

Eric da Costa
José Pedro Noronha
João Ribeiro
André Almeida
Guilherme Martins

Software Development
André Almeida
Tarquínio Mota
Ricardo Imperial

Tarquínio Mota
André Almeida
Guilherme Martins

Interaction Design
Nuno Lourenço
André Almeida

Sound, Motion Graphics, Robot animations
Filipe Barbosa
Nuno Lourenço

Project full disclosure:

Amoreiras 360º Panoramic Elevator

Amoreiras 360º Panoramic Elevator

In September 2015 we did a project for State of the Art to develop a few installations to celebrate 30 Anos Amoreiras. Amongst this installation was an elevator simulator, decorated with TV screens and LED strips. The simulator was promoting the upcoming opening of a 360 Panoramic View in the top of Amoreiras Shopping tower.

The project had it’s usual share of setbacks that a project of this size usually has, so we are quite happy to see it operating well and already open to the public.

The elevator is located at Amoreiras Shopping Center, taking guests all the way to 18th floor to enjoy the 360 degree Panoramic View. More information about the viewpoint can be found at

Customer: Mundicenter
Production: ArticaCC
Project Lead: André Almeida
Structure / Interiors Design: Eric da Costa
Construction: Hilário Almeida
Assembly: Eric da Costa, José Noronha, João Ribeiro, André Almeida
Electronics: Bruno Serras, Tarquínio Mota
Video Software: Guilherme Martins, André Almeida
Video Editing: Filipe Barbosa, Guilherme Martins
Sound: M-Pex
Drone Video Capture: SkyEye


Continente Missao Sorriso

Continente Missão Sorriso

We had to create an interactive installation for a road-show campaign that would be travelling through several schools across Portugal to promote Missão Sorriso. The project involved developing a Band Hero clone that could play 3 licensed tracks from Orelha Negra. To bring more impact to the experience we used real instruments as input devices instead of the usual plastic controllers.


The hardware had to be procured and modified to allow for non-musicians to still be able to play the game. We had 4 different instruments.

Drum Set

We purchased a real drum set and stripped it down to a few minimum elements: bass drum, snare drum, tom and hi-hat. This was required for the portability of the drum set during the roadshow.

Next, we coupled to it an Arduino with several piezo sensors. The piezos were placed inside each drum element which was muffled with a plastic material to prevent sound noise and physical damage to the piezos.

The Arduino would register the values and send a WebSocket message to a Node server.

Bass Guitar

The bass guitar was purchased as one of those build at home kits, that saved some work of breaking a new guitar apart.

We actually had 2 bass guitar prototypes, one using frequency analysis of the picks, and the other using actual sensors. The second prototype proved to be both more robust and easy to learn to use, and that’s the one that was used in the end.

The pick was taken apart from a plastic controller of guitar hero. The bass guitar carved up for more space to place it inside along with an Arduino and connections to the triggers placed on the handle bar.

Similar to the drum set, the Arduino would register the values and send a websockets message by ethernet network to a node.js server.


The keyboard was a standard midi keyboard, sending midi values that are converted into websockets messages by our node.js server working as a proxy.


The sampler was a standard MPC. We opened it up to replace the lights with matching colors to the game and remove any buttons without usage. Similar to the keyboard, the MPC sent midi messages that were converted into websockets messages by our node.js server working as a proxy.


In the software department the whole application is actually a webpage with a localhost server.

  • The design is hardcoded to FullHD resolution.

  • Web Audio API is used to trigger sounds.

  • WebGL (via pixi.js) is used to give 3d acceleration to the interactive elements.

To sync the tracks we developed an internal editor to add/move/edit/delete track nodes. It was made to easy scroll back and forth with the mousewheel to check for music synchronism. And it included functionality to import and export as json.

An additional requirement was made to input high-scores from each session and export them to a local file, for the client to analyse after the roadshow was done.

As previously mentioned the sourcecode is open source available under MIT license. Feel free to fork it to add support for frets on fire assets, other controllers, play music directly from youtube / soundcloud, etc.


We delivered the project as a turn key solution. Fully pre-tested and ready to operate by the roadshow crew alone. They were touring several schools during 2 months, we wouldn’t be able to be present during all of the sessions but were available to provide support when required.

All the hardware was ready to plug and play. We provided a technical ryder for the cables, labelled all inputs and ducttapped the unused ports. We also provided an operations and troubleshooting manual and provided replacement parts for the more sensitive components that might not resist the hard life on the road.

We were present on the initial setup sessions to make sure all things worked smoothly. We caught some early malfunctions and had to repair them but overall we were impressed on how well the system held up on the road.

Continente Missão Sorriso


Filipe Cruz, André Almeida

Instruments Hacking & Electronics:
Guilherme Martins