free web tracker

tech.description of the OSC/MIDI controler

- page last update september 2009--(página en castellano)


The entire project, including all electronic schematics, the C and the HEX source code for the PIC 18F442 microcontroler, as well as all electronic schematics of the circuits and the program written with PD (pure data) can be downloaded as a ZIP file at the bottom of the page.


wireless panelto control OSC and MIDI messages with Pure Data.
Panel inalámbrico Martin Hug Panel inalámbrico pryecto realizado en el 2009 de Martin Hug

The electronic circuit of the panel transmits data over a wireless connection (using xBee modules) to a small “HOST” (Rx_Pad_to_HOST) circuit. The HOST circuit is connected trough a level shifter ((MAX232_UART) to the RS232 serial port and a program written in PD (pure data) manages the incoming/outgoing data.
The Pad's can be configured as “buttons” or “triggers” what ever needs ones have, and they can be activated touching them by hand or using a stick.

capture the hits of the panel

Trigger 74HC14:

To capture the signal of the piezoelectric-transducers I designed a simple, but efficient circuit using a LM324 as a preamplifier and a 74HC74 Schmitt-Trigger to convert the signal to a Hi or Low. For the use with the panel the amplification needed is very low. (G = R1/R2). I use for R1 1M ohm and R2 560k ohm. So, the amplification is aprox. 2. With this values I get brilliant results in sensitivity without having problems with interfering other Pads. The D1, 1N4148 together with the condenser C1 of 100nF and the resistance R4 of 100k ohm have the function of a very simple envelope follower. The 74HC14 acts as an inverter, so that the signal at its out (Pin 12) have logic Hi. This has the advantage that the IC can be connected without worrying of pull-up resistances to any PORT of a micro-controller.
In my schematics the outs of the 74HC14 are connected to a DG406CWI. Using PORTA, RA0, RA1, RA2, RA3 of the PIC 18F442 the 16 panels are constantly scanned to detect any hits.

circuito para capturar piezo-eléctricos de Martin Hug 2009
Pad_trigger to connect 16 piezo-transducers.


The Pad_18F442_xBee:

As mentioned above trough PORTA RA0 - RA3 the multiplexer DG406CWI is scanned constantly. If a low is detected on PORTC, RC2 the 18F442 sends a number ( I use 48 to 62) to the UART of the PIC to the xBee module. The xBee sends the data to the receiver-module (Rx_Pad_to_HOST) and from there trough a level-shifter MAX232 (MAX232_UART) to the serial port (RS232) of a computer.
The data are read with Pure Data (object [comport]) and returned again using the opposite way using the xBee modules to the 18F442. The PIC than decides what PIN he has to set to drive the accordingly channel of the ULN2803 to illuminate finally the desired LED-eye.
Working in this manner means that when a LED-eye illuminates its state is confirmed. To work like this the entire system is stable.



PW_PAD_USB (power_management).

The circuits are powered by two UNIROSS 3,7V 1080mA batteries. One is used to drive the LED-eyes, and the second battery powers the 18f442, xBee and the Trigger-PCB with the DG406CWI multiplexer.
The two Li-Ion batteries are charged with a MAX1811ESA each directly from a USB. As the UNIROSS battery have already a protection circuit in the battery-case, there is no need to design an extra circuit. This is why a simple MAX1811ESA does the charging job perfectly.
The need of 5V to have a proper signal at the 74HC14 makes it inevitably to use a DC-DC converter. I used the MAX856 for the job. To get the aprox. 12V for the LED's I used a very tinny chip of Texas Instruments, the TPS61040. A small potentiometer allows to adjust the voltage between 9V and 16V.(LED brightness adjust).

Using Christmas lightning (every PAD is illuminated), 16 * 8 LED's are lighted up, the circuit needs 300mA.
I made an experiment and the batteries powered the system for 3h30min, enough time to perform in most cases.


Panel para Pure Data Pure Data y Panel de Martin Hug
esquema Pad_trigger_HC14
esquema Pad_18442_xBee
esquema PW_PAD_USB


Host del proyecto del Panel inalámrico de Martin Hug Host con xBee del Panel inalámbrico de Martin Hug

HOST with a xBee module and a 16F690 (the chip allows me to connect the panel to an other PIC and is for this project for no use).

esquema RX_Pad_to_HOST


MAX232 interfaze proyecto panel inalámbrico de Martin Hug

Simple level-shifter UART to RS232.

An alternative interface for USB using a FT232 is presented in the "PEDAL" project.

esquemna MAX232_UART



open related linksin new window. (only Internet Explorer)