Main Site Documentation

G120 - getting started with tft's


Hi Guys,

I’m really new to .net Controllers and the use of tft Displays. We are using the ChipworkX Module and things are running quite good,
the Developmentprocess is very fast with this board. But due to cost savings for series production, we decided to switch to the G120 Module, and so we ordered the FEZ Cobra II with WiFi Option last week. The delivery time is a 4Weeks so i’m trying to get some Informations about the integrated tft controller.

In normal it seems there are some important signals which every TFT Display needs:
VSync, HSync, Clk

and the color signals:
R0-7, B0-7, G0-7 (when using 24bit color depth)

As i mentioned i never used a tft LCD before, but the main idea is, to use the 3.5’’ TE Display Module when getting started with the Cobra board, but later on,
it should be possible to use other tft LCD’s (5’’ or up to 7’’).
So the first question is, that i noticed that the color signals on the .net Controllers are B0-4, G0-5, R0-4.
It seams that it should be possible to connect nearly every TFT Display like a 7’’ 24bit RGB TFT, but the color resolution cannot be used.
The unused color signals should then be hold on a certain level(push up or pull down to Digital Display Supply) i think.

And may someone explain me the purpose of 5bit Blue, 5bit Red but 6bit Green Color Depth?
As my collegue who does the Software part mentioned, it is possible to use 24bit colors in Software, but in my opinion this does not make any sense, because the integrated tft controller only uses 16bit on the physical Interface.

Thanks for any tipps and advices,
best regards Christian


[quote]and the color signals:
R0-7, B0-7, G0-7 (when using 24bit color depth)[/quote]

That is incorrect on NETMF devices as NETMF is 16bit color 5:6:5 which will give you plenty of color depth on embedded system without losing much more resources. Your ChipworkX is also 5:6:5 and so is any other NETMF device. I wouldn’t be concerned about 24bit vs 16bit as any graphics you do will look fantastic.

The best place to see what signals are required is by checking the 3 RGB sockets in the FEZ Cobra II schematics. If you use one of our displays then it is plaug and play. If you use your own TFT then you just need to map the signals on your display to the 3 RGB sockets, which are gadgeteer compatible.


Hi Gus,

thanks for your advice. Yesterday we’ve got the CP7, looks really impressive.
We are currently developing the prototype but we are planning to start with small series production with some of your NETMF Controller (50+/month) at the end of this year.
For that reason we have to do some customizations to the glass plate, and of course the gadgeteer connectors wont be needed any more.
I really look further that the prototype will be running quite good with the G120 controller, but for our product we really have to customize the tft / touch combination.

Is there any possibility to get some information about the gadgeteer PCB on the CP7, and who manufactures that Display/ touch combination?
I’m looking forward that we can find a solution to our problem,

thanks for your help,
best regards


Hi ChristianM,

I’d suggest that anything’s possible, but it’s probably a discussion you want to have with GHI offline - approach them directly and I am sure they’ll help where they can


Hi Brett,

thanks for your tip. I’ve started a request on GHI sales office.
best regards,


Mein Kollege, seines Zeichens verantwortlich für das HW Design unserer NETMF Komponenten, ist auch Österreicher.
Ich nicht ganz :wink:


Hmm :think:


@ Architect - Sorry for that: just ignore our German bla bla :wink:


Hi to my german speaking colleagues,

interesting ;), I’m from Graz anyway…
Am i right, that there is only one way to contact GHI, and thats to phone the US sales office?

best regards,


Try online form


You can try our friends at AUG in Austria. They speak German if that helps


@ Gus: thanks! ill take a look into that.
@ architect: i sent a mail to GHI sales, but i did not get a answer yet. So i thought that such questions should be talked by telephone.

thanks for your excellent support,
best regards,


This is correct. Just pull them down to 0. So, for example, hooking a 24-bit display up to a 16-bit controller, you’d use the following pin assignments:
R7 = R4
R6 = R3
R5 = R2
R4 = R1
R3 = R0
R2 = GND
R1 = GND
R0 = GND

This is done all the time, as it is common for different displays and display controllers to have idfferent color depths. If you hooked a 24-bit controller up to a 16-bit TFT, you’d do the same thing, but flip it around. Just always remember to match up the the MSB (most significant bit) on both sides, and work your way down to the LSB (least significant bit).

RGB 565 is the most common implementation of 16-bit (computers like buses that are multiples of 8, so you end up with 8bit, 16bit, 24bit and 32bit graphics). Although we could just do RGB555 (which would be 15 bits of color, with one unused bit on the 16-bit bus), we give that extra bit to green.

Here’s why: Human eyes have more M cones (which sense green light) than any other types of cones, so we perceive green light better than red or blue. That’s why it makes sense to allocate more data to green.Many applications have YUV4:2:2 as the source encoding, where green (on the luminance channel) is sampled twice as much as red and blue. Bayer patterns on cameras have twice as many green sensors as blue sensors. This is a common trend in color graphics.

The physical LCD signaling isn’t too complicated to figure out. Different displays have different tolerances for front/back porch and sampling rate, though, so you’ll have to create an appropriate DisplayConfig to pass to the LCD controller. Once you select a display, pop back onto the forums and we can help you get the appropriate displayConfig set in .NET Micro Framework.


Hi Jay,

thanks a lot for your well-founded support.
I’ll post again if we have troubles with our display.

best regards