PWM Buddy allows you to create a PWM (Pulse Width Modulation) signal via the audio port of an Android device. PWM is a broadly used
and versatile way to transmit small amounts of data. It is commonly used in R/C (radio control) to remotely control cars or planes.
The app allows you to create a chain of channels, that each can use different inputs to determine their value (tilt and roll of the device, a random varying value, a fixed value, a slider on the touch screen, some buttons on the screen, ...)
Due to the limited bandwidth of an audio port the generated signal is not an exact block wave but it will be sufficient for most applications. I only tested with an Arduino microcontroller using the here below referenced library and this was working fine. However if for some reason you need a clean block wave, a simple circuit with 1 transistor and 1 resistor can shape the signal to perfect squares.
Advanced gui (graphical user interface) for Arduino or other microcontroller circuits.
A PWM signal can be very easily decoded by a microcontroller. A library is readily available for the broadly used Arduino platform
(ServoDecode library http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1228137503). The app will allow you to build a user interface by adding buttons, sliders, ... in a flexibel and versatile way.
Control your R/C equipement with your Android
By connecting your Android to the trainer port of your R/C transmitter, you can control your plane or car by tilting and rolling your phone.
This is a pre 1.0 version release, since a configuration cannot yet be saved... still working on that... but since it does only take a few seconds to setup the channels, you can already test wether it suits you needs. Extended versions will follow.