Testing a defective touchscreen (resistive)

Hello, sometimes I leave one of my tablets in hands not so accustomed to “well-done” works, so this afternoon, I received back, from a technician, one tablet with “some defect in touch screen”. Obviously, when the tablet went out from my laboratory, it was fine, but now it isn’t. Ok, resistive touchscreen is very simple device. In order to understand what happened, I detached the flat cable from its socket and put it in another one, coming from old, used circuit. I soldered 4 wires to such used connector to measure the touchscreen resistence with a simple multimeter. In the picture below (a little bit out of focus, sorry), you can see the touchscreen’s flat cable withdrawn from the “natural” socket and inserted in the testing one.

Touchscreen flat cable removed from its socket and plugged in a wired one.

Touchscreen flat cable removed from its socket and plugged in a wired one.

The following picture one is a particular of the wiring. The four soldered wires are the X and the Y resistors of the touchscreen.

Particular of the wiring; upper two for X, lower two for Y

Particular of the wiring;  upper two are for X resistor, lower two for Y.

In the next picture you can see the multimeter, set to range 2K Ohms, that shows left positioned “1” and it means over range resistence. The multimeter cables, actually, are connected to the couple of wires at the left (upper) side of my connector. The over range indicates that the circuit is open, and it’s right, ‘cause I’m NOT tapping the touch screen in any position.

Multimeter showing out-of-range measurement (high resistence)

Multimeter shows out-of-range measurement (high resistence)

Next picture shows the multimeter measuring a value of  825 Ohm ; good, ‘cause I’m pressing with my finger approx in the middle of touchscreen, now.

reading 825 Ohm value

reading 825 Ohm value,  pressing the touch screen around the center

Now, I repeated the test moving my multimeter cables from the left two wires to the right two (the other axis of the touchscreen), but this time NO LUCK. The value read is always “1” (out-of.range) even with touch not pressed and even if pressed. So, probably the flat cable has an interruption and the touchscreen is unuseable. Looking with optical power magnifier, I noticed that “someone”, closing the tablet after hardware modding, has damaged the small flat (micro interruption) and now there is only to look around on the Internet for a spare part 🙁
Ok, hope this will be useful for someone. Bye…

Simplest tool for tablet inspecting / repair

This is the simplest tool I use to see if a tablet is fully bricked or still has some activity. It has just a LED and a resistor, connected to the expander box, so is VERY simple to build. When you power-up your tablet, the green led must turn on and flicker. That means the serial port is outputting data. If the led turns off and your tablet doesn’t start with Android, the device is probably hanged in U-Boot, may be after wrong rom image used for upgrade.
If the led doesn’t turn on, the tablet is fully bricked and you have to reflash the SPI to revive it. If the led stays on until the Android starts and then makes a quick lamp every 60 seconds, your tablet is running fine and so, why are you reading this post ?  😉
The led turns on ‘cause is connected to the TXD data of the tablet. When your tablet sends data thru the serial port, the level that’s normally 3.3V goes to GND so the LED is directly polarized and turns ON. When the tablet doesn’t sends data, the TXD is 3.3V so there isn’t any voltage difference at the led terminals and it remains OFF.
PAY ATTENTION: don’t use a resistor with value less than specified, or you can destroy you serial output ! Look at the picture below for details; remarks are in italian, but I think are readable anyway (this tool is also described here in italian language).

Front and back of the led + resistor connected to the expander box

Front and back of the led + resistor connected to the expander box; click on the image for full size view.

Gambas2 su tablet WM8650 9.7″ (prove)

Programmare in Gambas2 ( Basic visuale per Linux ) direttamente su un tablet cinese da 100 Euro ? Si può fare !

Nella foto, una applicazione di esempio, compilata quindi avviata, per il test della porta seriale ttyS0 del tablet ; mediante un’ interfaccia RS232 collegata al dispositivo, si trasmettono e ricevono dati con il programma HyperTerminal ( o qualsiasi altro terminale seriale ) su un PC Windows ( protocollo 19200,N,8,1 ). Funziona.! Cliccare sull’immagine per una visione ingrandita.

Backup your SPI flash memory on SD card (Wm8505 – Wm8650 tablets)

The most important thing to do before attempting to change / upgrade / modify the default firmware for a tablet (we speak about the WM8505 / WM8650 models), is to create a backup of the internal SPI flash memory. The internal SPI flash memory is the hearth of a tablet. If you can rewrite it with original contents, you can always restore your tablet to the original state.

I highly recommend, for anyone wants to play this “game” with his own tablet, to build a serial interface, that is a basic, but powerful, instrument to “look” inside a tablet. There are many interfaces available to convert the 3.3V signals, present in the tablet, to RS232 levels, and other cheap circuits that directly connect 3.3V true logic from the tablet to USB port, that is seen as COM port from a PC. I suggest to use my own design circuit proposed on my page at this link, ‘cause is powered by the tablet itself, so it doesn’t introduce any voltage in the device input lines when the device itself isn’t powered on. I have had problems, with direct USB to TTL interfaces, due to the presence of positive voltages on transmitting side of the interface even if the tablet was off. So, please, build my circuit (it works !), or use one similar…

In the oldest tablet I own, the Evodroid Devo, based on WM8505 processor, there isn’t any “dongle” for the USB / LAN / Serial. There is just a mini plug for USB, but the serial port is always present inside the tablet. So, opening the case, you can solder the 4 wires needed for a serial terminal connection on the 4 pads as in the picture below :

The TXD is intended as tablet TXD, so is the output from tablet, while RXD is obviously, the data input to tablet.

Using a terminal emulator and the RS232 interface, we can make huge amount of tests and experiments. I recently updated my PC serial terminal program for some problems encountered on WM8505 tablets. In the new version, available for download at this link , I added the sequence “+++” ; if you quickly type this sequence on your PC keyboard, the terminal sends a Ctrl-C plus a CR to the tablet, stopping the autoboot (as default, U-Boot automatically starts the Linux Kernel and Android OS that are stored on tablet’s mass storage NAND flash).

Note that, for storing a copy of the internal SPI flash memory, you must insert a FAT32 freshly formatted microSD card in the tablet’s slot !

Well, if you have the serial interface connected to your PC, launch the terminal program, then turn on the tablet. You will see the W-load and the U-Boot messages ; immediatly type on the PC the +++ sequence (or type Ctrl-C and Enter if using another terminal program)… After a while the U-Boot will stop writing the command prompt WMT # ; the autoboot has been stopped and you can execute commands from the U-Boot provided set. Note that the U-Boot versions are different from one tablet model to another, but many commands are always available, even with small syntax differences. Here, I will describe the backups done from a relatively new 9.7″ tablet based on WM8650 processor, and from old 7″ Evodroid tablet (the one shown in the picture).

The first command to enter is the MMC initialization (MMC is the default name for the SD card), so we must type :

mmcinit 0

 (0 selects the first SD card in wm8650 tablet, that has 2 SD cards capability)

or simply :

mmcinit

 (in wm8505 that has only one SD card available)

We receive some messages from the tablet ; if all is OK, the MMC (SD) has been initialized and is ready to operate. Remember to use a FAT32 formatted one !

Now, we type the command :

cp.b FFF80000 0 80000

that means : copy bytes from address FFF80000 (the start of SPI flash memory) to address 0 (the start of RAM) for a length of 80000 bytes (that is hexadecimal, as all the data supplied), so 80000 is 8 * 64K = 512K bytes, the size of the whole SPI flash.

This operation will take a couple of seconds… then we have a copy of the whole SPI flash stored in system RAM. Now, we can use the powerful command “fatstore” to save that area to a binary file on the SD card :

fatstore mmc 0:1 0 backup.bin 80000

This command means : store a file on FAT system device mmc (our SD card), on partition 0:1 (the card is freshly formatted, so has just one partition : card 0, partition 1), reading data from RAM address 0, to a file named backup.bin, for a length of 80000 (hexadecimal) bytes. Note that in the wm8650 tablet I havent had any problem to execute this command, but in WM8505 there was something wrong while writing the SD card. The solution, was (simply) to substitute the original 4GB SD card previously used, with another one, a little bit older, sized just 128 MBytes ! That card was VERY OLD, it was in my LG cellphone by many years. So, if you have errors, try with another SD card, freshly formatted, of different type, brand or size.

When this operation terminates with success, you have a copy of your SPI flash stored on the SD card. This 512KBytes file has the U-Boot.bin, the Env_uboot.bin and the W-Load.bin files all in one. You can expand in 3 different files using my software tool that can be downloaded from this link. The zip file contains just one executable written in FreeBasic ; it does not require installation ; just deflate it in a new directory and copy in the same folder the spi.bin file you want to split ; at end of the process you will have u-boot.bin, w-load.bin and env_uboot files in the same folder.

Obviously, you can simply use the full file spi.bin file with an SPI programmer in case of tablet “hard bricked”.

To turn off the tablet, type the command :

shutdown

or, if it isn’t recognized, simply press and hold the power button. Extract the SD card and read the contents with your PC. If you want, send the BIN file to my blog, using the file transfer form ; I will collect the different roms for future help requests… 🙂

MIDI OUT for cheap tablets


midiout di robotop

Hello, I realized a really cheap and small MIDI OUT interface that can work with low-cost tablets (mine is based on WM8650 processor). Just for testing purposes, I also realized a Drum-Pad application that can play four different sounds if attached to standard Midi Expander. I used, in my test, a VERY old Roland SC-7 Expander with standard drum set. There are no problems to expand the number of pads ( until you fill the screen size ! ). At the moment I used only four as: Bass Drum, Snare Drum, Crash Cymbal and Open Hi-Hat. My circuit isn’t supported by ANY program, I have written the application using my own library and the supported MIDI commands are (actually) only NOTE ON, NOTE OFF and PROGRAM CHANGE. I probably will design a printed circuit board for making a “kit” for this device and also I’m planning to write some easy App to “play” with music. Obviously, at this first stage, this CAN’T be considered a professional tool, but can give some interesting opportunities to our low cost tablets.

Here is a picture of the device: (click to enlarge)

The program running…