Archive for August, 2019

RGB modding JVC TM-A101G

Sunday, August 18th, 2019

So next in the line of small JVC monitors I’ve worked on is the JVC TM-A101G.

As the TM-1011G and DT-V100CG this is a 10″/9″V CRT pro monitor, but only has composite video inputs. I guess it’s the older version of the TM-1011G but I’m not sure, and it doesn’t matter anyways… Looking at the service manual which is available on teh webz, this uses a TB1226EN which is the same as the TM-A140PN I wrote about here, so I know this jungle a bit. I wondered if it needed I2C interception and mangling like the TM-A140PN, but already before I got my TM-A101G monitors, I helped a guy mod his, where we found out it *did* need this. Luckily the software I wrote for the TM-A140PN worked out-of-the-box here, so with that information, I started modding my own.

Opening up the monitor, the signal PCB is sorta small:

The TM-A101G signal board, with IC201, the TB1226EN in the top

There are only two larger ICs, of which the top is the TB1226EN (IC201), which is the one we’re interested in. According to the datasheet of the TB1226EN the RGB inputs are pin 23 (R), 24 (G) and 25 (B), and according to the service manual these are “grounded” with capacitors, these being C716, C717 and C718, which can be seen roughly in the lower middle here:

The TB1226EN and the RGB grounding caps

So these are THT/through hole caps, which sucks, because then we need to remove the shielding that is on the other side, or disconnect the tracks, by cutting them. I chose the former. There are 4 points which needs to be desoldered for that, which requires a lot of heat because it’s connected to the GND plane, and in itself is a large GND plane. So after doing that, removing the caps with a needle-nose pliers, and either a desoldering gun, or simply by heating the solder and pulling the component, they’re quite easy to remove.

The caps removed and holes covered with solder blobs

After removal, the RGB signals can then be attached to the open pads, R to the pad of C716 (the one not on GND plane), G to C717 and B to C718. The signals needs to be run through a circuit like this:

Input attenuation and DC block (here from TA1276AN jungle, but it’s the same). A more correct termination wise scheme would be 24 Ohm for R1 and 54 Ohm for R2, although it seems not particularly important

Notice the R726 just below the “VIDEO/CHROMA” text in the top right of the above picture. This is a 10K resistor, and connects to the YS pin, which is the pin needed to switch to RGB. Usually, on similar displays, there are quite low Ohmic resistors here, because it’s pulled to GND, as RGB is “disabled” anyway. To switch to RGB we need to put something higher than 0.85V at the YS pin, I usually use the 3-5V RGB blanking voltage from SCART, however if the pulldown resistor is small, it will draw a lot of current, for no reason. I therefore usually switch these pulldown resistors to 10K resistors, but here, that is then not needed. We can therefore inject RGB blanking, either from SCART or another source (a switch for example) directly at the pin, or at the side closest to the pin row of the TB1226EN (I chose this).

I inject sync directly at the BNC input of Input A to avoid sync problems, and utilize the built-in sync extraction circuitry. GND is then just whereever it’s most appropriate to obtain. Here are my connections (yellow is sync, white is blanking and black for GND):

RGB, blanking and sync connections

If we don’t do anything else, the picture is really low contrast, washed out and doesn’t look any good at all. Here is where we need to mess with the I2C communication from the monitors MCU to the jungle IC. Basically the monitor doesn’t treat the jungle I2C registers correct so RGB is not properly set up, just as with the TM-A140PN. Since it was verified that the previous software I wrote for the TB1226EN works for this monitor, it was simply getting an Arduino in. Download the software here and program the Arduino with Arduino IDE (remember to install SoftI2CMaster library). I’ve begun using the Mini Pro because it’s even smaller than the Nano, with otherwise the same feature set. Mind that it should be the 5V version. So we need to isolate the jungle from the I2C bus, which is done at R291 (SCL) and R292 (SDA):

The two resistors where we intercept and mangle I2C communication

Desolder these two, and attach the Arduino here, with the wires from R291 going to A5 (SCL) and R292 going to A4 (SDA), use the pads that are “away” from the jungle. Attach the other pads from R291 to D5 and R292 to D4. If you use another Arduino than Mini Pro or Nano v3, you might need to change accordingly. Remember to solder a 2.7-4.7K resistor from D4 and D5 to VCC/5V. I do this on the back of the Arduino (which is why you can see a solder blob on VCC to the right on the Arduino, but its better to use the bottom VCC instead, as now the programming “header” sorta blocked, although not needed). Here’s a picture of the same deal:

Pull-up resistors on the back of the Arduino

I then use a load of hot glue to stick it to the board.

The Arduino Mini Pro attached on the board and to the R291/R292 solder pads
Close up of the solder pads

It’s important that the Arduino powers up early, to avoid the monitor not initializing, so I attach it to 9V which I found at the top of the unmounted C509 (there is 9V many places). Attach this to the “RAW” input of the Mini Pro or VIN of Nano v3. Find GND somewhere and attach to GND of Arduino.

Stereo to mono mixed audio is then routed to the audio input of Input A.

The complete mod

All the signals are routed to the RGB SCART breakout board I’ve made, which can be found here and a bracket that fits the ventilation grille here.


Lo and behold, RGB in all its wonders: