WM8650 tablet as remote control for Sony TV

Hello, here I am, again, with a simple mod for our tablets. In this picture you can see how it’s possible to control a TV set with our tablet using just one resistor and one IR Led ! In the picture you can see the tablet “dongle” (free of the plastic case) with the additional components needed. The circuit is the same proposed at point 3. of my article at this link (in Italian), just the led “color” is IR and the resistor is of lower value to gain some additional emitting “power”.

The IR led anode is directly connected to the 3.3V pad and the cathode to the resistor and this to the TXD pad ; the resistor value is 220 Ohm and must not be decreased in value.

Obviously, the distance you can reach with this small interface is very low, about 20 cm, but I will add in next days a driver circuit to make it working at longer distance. This is just a “proof of concept” (I like this definition).
At this link you can find the zipped APK file (the application) that I’ve written to test the device. Starting the application, you can see 12 buttons keyboard for entering the code to be transmitted, one “display” that shows what you type, and 2 other buttons: one is named “SEND” and simply transmits the IR code while you hold it down, and the other is named “QUIT”, to exit the application.

The program is compiled in debug mode, so without keys or locks. Deflate it from the downloaded zip and copy to sdcard of your tablet, then install it. Obviously, you must have the “unknown source” flag active.

The default command is 21 that in my Sony Bravia TV is the power-on / Power-off ; also test the numbers from 0 to 8 that are for changing channel from 1 to 9 ; for other commands, search on the internet for the Sony IR protocol.

Note: the program needs a small modification in init.rc file (you must be able to do this or the program will open with an exception error). In the init.rc command you MUST disable the console service.

this is the original:

## Daemon processes to be run by init.
##
#service console /bin/sh
service console /bin/login
    console

you must change it to :

## Daemon processes to be run by init.
##
#service console /bin/sh
#service console /bin/login
#    console

Obviously, this is a first try… so if there are errors, please, don’t shot me ! But give me your feedbacks and suggestions to improve it. Thanks

2 thoughts on “WM8650 tablet as remote control for Sony TV

  1. Ottima idea! E complimenti per il sito!
    Non sarebbe però più conveniente utilizzare un transistor e l’alimentazione di una delle porte USB per estendere l’intensità del raggio IR?

    intendo: un BJT NPN con la base al TXD e a collettore il leddino IR, semplice piccolo economico e (credo) efficiente!:D

    P.S. modificando init.rc si perderebbero i contatti con il terminale seriale giusto?
    Credo di conoscere un altro modo:
    Giocando con una devboard (su /dev/ttyUSB0) ho notato che non avevo problemi a ricevere (a parte qualche buggino grafico credo dovuto al tipo di carattere utilizzato dal terminale in android), riuscivo anche a inviare, insomma una connessione seriale/USB completa su ttyUSB0.
    Ricordo bene il nome dell’applicazione che ho usato perchè cercavo “minicom”
    ma ho scoperto esserci il fratellino “microcom” 🙂

    era presente di default sul mio tablet: supervox-vt1107, WM8650, vibrazione(dopo che ho saldato il motore) e led verde.

  2. Salve d0ct0r, grazie per i complimenti, sono sempre graditi !
    Per quanto riguarda il transistor, nell’articolo scrivo, appunto, che è possibile utilizzare un driver per estendere la portata del “telecomando” e che mi riservo di pubblicarne lo schema… non l’ho ancora fatto perché non ho visto grande entusiasmo per questo progetto e sono quindi andato avanti su altre cose. In ogni caso, dato che l’uscita della seriale è normalmente ALTA (3.3V) non si può usare un transistor NPN, così come suggerisci, con la base collegata (tramite resistenza) al segnale TXD, l’emettitore a GND e il collettore al led IR (con una resistenza) verso il +5V della USB ; in questo modo il led IR sarebbe sempre acceso, mentre il “trucco” per generare i “burst” a 38KHz è proprio di generare precisi “pattern” usando appropriati caratteri sulla porta seriale. Quindi, led acceso quando l’uscita è BASSA, zero volt. A questo punto ci sono due possibilità :
    a) un transistor PNP, con la base (tramite resistenza) al TXD, l’emettitore al 3.3V e il collettore al led e resistenza verso GND. Ovviamente, il led IR viene alimentato a 3.3V perché non è possibile collegare l’emettitore del transistor a 5V, altrimenti sarebbe sempre in conduzione ANCHE con l’ingresso TXD a 3.3V!
    b) per alimentare il circuito a 5V o a 7.4V della batteria (nel mio caso) ci vuole un doppio stadio npn – pnp in cui il primo inverta lo stato logico e porti il livello di segnale da 3.3V a 5V (o 7.4) e il secondo faccia da driver per il led.

    Per il file init.rc quello che dici è esatto, il servizio “console login” viene disattivato e quindi non è più possibile effettuare il login da terminale seriale, però diciamocelo, non credo che nessuno usi questo servizio sul tablet 🙂
    Per la porta ttyUSB0, ti invito a guardare il mio post a questo link: http://www.techknow.t0xic.nl/forum/index.php?topic=1033.msg9279#msg9279, con applicazione Android allegata, che permette di leggere i dati da un ricevitore GPS USB, utilizzando appunto la porta ttyUSB5 ; il post fa parte della mia sezione “Robotop’s Place” nel forum di HcH / TechKnow (vedi il link a destra). Nei tablet, a seconda del software, ci sono i drivers per PL2303 (Prolific) e CP210x (Silicon Labs) che sono interfacce usb-seriali rs232 e quindi è possibile utilizzare queste porte seriali virtuali per fare tutto quello che si fa con la ttyS0 di serie. Io tendo sempre ad usare ciò che è disponibile sul tablet, senza aggiungere altro, ma in certi casi è impossibile. Per esempio, nel mio articolo che descrive come aprire un “mouse GPS” USB e prelevare direttamente il segnale seriale, avrei voluto collegare questo GPS seriale direttamente alla porta ttyS0, ma NON E’ STATO POSSIBILE… perché la ttyS0 non può essere settata a 4800 bps ; se ci si prova, si ottiene un “default” su 9600, che non è buono per l’uscita del GPS che è fissa a 4800. Con la porta ttyUSB5 (nel mio tablet il software assegna questa unità alla prima interfaccia usb-rs232 che “vede” collegata) è invece possibile settare la velocità giusta di 4800 BPS.
    Altre informazioni su varie periferiche USB le potrai trovare sempre nel mio “Robotop’s Place” e negli altri articoli di questo blog, ovviamente in Disordine… 🙂

Comments are closed.