Android + IOIO + Remote Outlets

  

This tutorial will demonstrate remote control of 3 AC outlets with Android and IOIO.  The tutorial uses the 3 Channel Remote AC Outlets from DealExtreme.  The cost, less than $25 shipped for the set of three, is quite a savings over alternatives like the PowerSwitch Tail ($25 each), also, they are wireless with a pretty good range as well.

They also have single and dual outlet version. Note: all three of these models are 110V/US plugs.

For additional background information on interfacing Android with IOIO, check out my other introductory tutorials:

Android + IOIO + Simple Digital Output
Android + IOIO + Simple Digital Input
Android + IOIO + Simple Analog Output
Android + IOIO + Simple Analog Input

Background on Android development, IOIO, and electronics:

Meet IOIO
IOIO for Android Beginners Guide
IOIO Wiki
Android Developer’s Guide

 

Hardware

Parts needed:

  • Android Device (1.6+, 2.1 for Bluetooth)
  • IOIO (available at Sparkfun)
  • 3 Channel Remote AC outlet (available at DealExtreme)
  • 6x NPN 2N3904 transistor
  • 6x 10k ohm resistor
  • Breadboard
  • Power supply
  • Hook-up wire

 

Assembly

First, remove the outer plastic case from the remote controller. Looking at the board with the button side facing up, locate the seven solderable holes in the circuit board.  Six correspond to each button (on/off for each outlet) and the seventh is the common line.  Connecting any of the button lines to the common line will activate the connection, turning on or off the respective switch.  Solder a wire to each of the switches and the common line:

Connect each button line to the collector of a transistor and the emitter to the common line.  Connect the base of the transistor to the desired IOIO pin with a 10k ohm resistor in series. Finally, connect the former terminals for the battery of the remote to +3.3v and GND on the IOIO. Here is a diagram of the completed circuit (created with Fritzing):

And here is a picture of the completed circuit:

 

Software

Get the source

With the circuit assembled, the next step is to get the demo application on the Android device. You can either download the pre-built .apk or checkout the source from Github:

git clone git://github.com/mitchtech/android_ioio_remote_outlets.git

If you are building from source, you will also need to import the IOIO Library project, and optionally the IOIO Bluetooth library projects, both available here:

git clone git://github.com/ytai/ioio.git

 

Install, connect, profit!

Finally, upload the app to the Android device (or browse to this page on the device and download the apk above). Connect the device to the IOIO, and start up the app.

 

 

Android + IOIO + Window Blinds Control

  

Demo Android application to control window blinds using IOIO and full rotation servos.

For additional background information on interfacing Android with IOIO, check out my other introductory tutorials:

Android + IOIO + Simple Digital Output
Android + IOIO + Simple Digital Input
Android + IOIO + Simple Analog Output
Android + IOIO + Simple Analog Input

Background on Android development, IOIO, and electronics:

Meet IOIO
IOIO for Android Beginners Guide
IOIO Wiki
Android Developer’s Guide

 

Hardware

Parts needed:

  • Android Device (1.6+, 2.1 for Bluetooth)
  • IOIO (available at Sparkfun)
  • 2x full rotation servos
  • 2x 10k ohm resistor
  • Breadboard
  • Power supply
  • Hook-up wire

 

Assembly

Connect the red, power lines of the servos to +5v, the black ground lines to GND, and the yellow signal lines to the desired output pins, number 3 and 6 in the example below.  Other pins can be used as long as they support peripheral output (for PWM, marked with the letter ‘p’ on the back of the IOIO) AND are 5V tolerant (marked with a black circle around the pin). This leaves pins 3-7, and 10-14 as the only potentials.  Also, connect the same signal lines to +5V, with a 10k ohm resistor in series.  This allows use of the pins in 5V open drain mode, required since the IOIO operates with 3.3V Here is a diagram of the completed circuit (created with Fritzing):

Software

Get the source

With the circuit assembled, the next step is to get the demo application on the Android device. You can either download the pre-built .apk or checkout the source from Github:

git clone git://github.com/mitchtech/android_ioio_blinds_control.git

If you are building from source, you will also need to import the IOIO Library project, and optionally the IOIO Bluetooth library projects, both available here:

git clone git://github.com/ytai/ioio.git

 

Install, connect, profit!

Finally, upload the app to the Android device (or browse to this page on the device and download the apk above). Connect the device to the IOIO, and start up the app.

 

Android + IOIO + Garage Door

  

Control your garage door with Android and IOIO.

For additional background information on interfacing Android with IOIO, check out my other introductory tutorials:

Android + IOIO + Simple Digital Output
Android + IOIO + Simple Digital Input
Android + IOIO + Simple Analog Output
Android + IOIO + Simple Analog Input

Background on Android development, IOIO, and electronics:

Meet IOIO
IOIO for Android Beginners Guide
IOIO Wiki
Android Developer’s Guide

 

Hardware

Parts needed:

  • Android Device (1.6+, 2.1 for Bluetooth)
  • IOIO (available at Sparkfun)
  • Hackable garage door remote
  • 2N3904 transistor
  • 10k ohm resistor
  • 5V DC Relay
  • Breadboard
  • Power supply
  • Hook-up wire

 

Assembly

First, remove the outer plastic case from the garage door controller.  Locate the two sides of the button that are connected when depressed.  Solder a lead to both sides, and connect these leads to the two sides of the switch terminal of the relay.  Now the relay is ready to ‘press’ the button with the coil is activated.

Then connect the base of the transistor to the desired IOIO pin with a 10k ohm resistor in series. Connect the collector to +5v and the emitter to the one side of the relay coil.  Finally, connect the opposite side of the relay coil to GND. Here is a diagram of the completed circuit (created with Fritzing). Note: the button on the right side represents the remote garage door controller:

Software

Get the source

With the circuit assembled, the next step is to get the demo application on the Android device. You can either download the pre-built .apk or checkout the source from Github:

git clone git://github.com/mitchtech/android_ioio_garage_door.git

If you are building from source, you will also need to import the IOIO Library project, and optionally the IOIO Bluetooth library projects, both available here:

git clone git://github.com/ytai/ioio.git

 

Install, connect, profit!

Finally, upload the app to the Android device (or browse to this page on the device and download the apk above). Connect the device to the IOIO, and start up the app.

 

Android + IOIO + Laser Turret

  

Android and IOIO powered pan and tilt bracket with dual lasers. Pew pew!

For additional background information on interfacing Android with IOIO, check out my other introductory tutorials:

Android + IOIO + Simple Digital Output
Android + IOIO + Simple Digital Input
Android + IOIO + Simple Analog Output
Android + IOIO + Simple Analog Input

Background on Android development, IOIO, and electronics:

Meet IOIO
IOIO for Android Beginners Guide
IOIO Wiki
Android Developer’s Guide

 

Hardware

Parts needed:

  • Android Device (1.6+, 2.1 for Bluetooth)
  • IOIO (available at Sparkfun)
  • 2x Hobby servo
  • 2x 10k ohm resistors
  • 2x Laser (like this one at DealExtreme)
  • Breadboard
  • Power supply
  • Hook-up wire

 

Assembly

Connect the red, power lines of the servos to +5v, the black ground lines to GND, and the yellow signal lines to the desired output pins, number 3 and 6 in the example below.  Other pins can be used as long as they support peripheral output (for PWM, marked with the letter ‘p’ on the back of the IOIO) AND are 5V tolerant (marked with a black circle around the pin). This leaves pins 3-7, and 10-14 as the only potentials.  Also, connect the same signal lines to +5V, with a 10k ohm resistor in series.  This allows use of the pins in 5V open drain mode, required since the IOIO operates with 3.3V. Also connect the red leads of the lasers to +3.3V and the black leads to pins 34 and 35 (any GPIO pins can be used). Here is a diagram of the completed circuit (created with Fritzing):

 

Software

Get the source

With the circuit assembled, the next step is to get the demo application on the Android device. You can either download the pre-built .apk or checkout the source from Github:

git clone git://github.com/mitchtech/android_ioio_laser_turret.git

If you are building from source, you will also need to import the IOIO Library project, and optionally the IOIO Bluetooth library projects, both available here:

git clone git://github.com/ytai/ioio.git

 

Install, connect, profit!

Finally, upload the app to the Android device (or browse to this page on the device and download the apk above). Connect the device to the IOIO, and start up the app.

 

Android + IOIO + Laser Tripwire

  

Laser tripwire with Android and IOIO.  This article will demonstrate a proof of concept laser beam tripwire accessory.

For additional background information on interfacing Android with IOIO, check out my other introductory tutorials:

Android + IOIO + Simple Digital Output
Android + IOIO + Simple Digital Input
Android + IOIO + Simple Analog Output
Android + IOIO + Simple Analog Input

Background on Android development, IOIO, and electronics:

Meet IOIO
IOIO for Android Beginners Guide
IOIO Wiki
Android Developer’s Guide

 

Hardware

Parts needed:

  • Android Device (1.6+, 2.1 for Bluetooth)
  • IOIO (available at Sparkfun)
  • Photocell
  • 10k ohm resistors
  • Laser (like this one at DealExtreme)
  • Breadboard
  • Power supply
  • Hook-up wire

 

Assembly

Connect one lead of the photocell to +3.3V and the other to the desired analog input pin (pin 35 below). Also connect that same lead through a 10K resistor to GND creating a voltage divider.   Other IOIO pins can be used, as long as they support analog input (pins 31 – 46 on the IOIO). Connect the red leads of the laser to +3.3V and the black lead to GND (or use a battery powered laser). Here is a diagram of the completed circuit (created with Fritzing):

 

Software

Get the source

With the circuit assembled, the next step is to get the demo application on the Android device. You can either download the pre-built .apk or checkout the source from Github:

git clone git://github.com/mitchtech/android_ioio_laser_tripwire.git

If you are building from source, you will also need to import the IOIO Library project, and optionally the IOIO Bluetooth library projects, both available here:

git clone git://github.com/ytai/ioio.git

 

Install, connect, profit!

Finally, upload the app to the Android device (or browse to this page on the device and download the apk above). Connect the device to the IOIO, and start up the app.

 

Android + IOIO + Temperature + Light

  

Sensing temperature and light with Android and IOIO.  This article will demonstrate a basic thermometer / ambient light level detection input accessory.

For additional background information on interfacing Android with IOIO, check out my other introductory tutorials:

Android + IOIO + Simple Digital Output
Android + IOIO + Simple Digital Input
Android + IOIO + Simple Analog Output
Android + IOIO + Simple Analog Input

Background on Android development, IOIO, and electronics:

Meet IOIO
IOIO for Android Beginners Guide
IOIO Wiki
Android Developer’s Guide

 

Hardware

Parts needed:

  • Android Device (1.6+, 2.1 for Bluetooth)
  • IOIO (available at Sparkfun)
  • Photocell
  • 10k ohm resistors
  • TMP36 temperature sensor
  • Breadboard
  • Power supply
  • Hook-up wire

 

Assembly

Connect the ground and power leads of the TMP36 to GND and +3.3V respectively, and connect the center signal lead of the TMP36 to the desired input pin (34 below).  Then connect one lead of the photocell to +3.3V and the other to the desired analog input pin (pin 35 below). Also connect the same lead through a 10K resistor to ground creating a voltage divider.   Other IOIO pins can be used, as long as they support analog input (pins 31 – 46 on the IOIO). Here is a diagram of the completed circuit (created with Fritzing):

 

Software

Get the source

With the circuit assembled, the next step is to get the demo application on the Android device. You can either download the pre-built .apk or checkout the source from Github:

git clone git://github.com/mitchtech/android_ioio_temp_light.git

If you are building from source, you will also need to import the IOIO Library project, and optionally the IOIO Bluetooth library projects, both available here:

git clone git://github.com/ytai/ioio.git

 

Install, connect, profit!

Finally, upload the app to the Android device (or browse to this page on the device and download the apk above). Connect the device to the IOIO, and start up the app.