A few questions about displays


As I am coming closer to starting to build actual product based around the EMX/spider system I’m discovering that I would like to be able to use different displays from the ones currently on offer. (In particular I would like a 4.3 inch transflective sunlight readable display with a capacitive touch screen-which obviously doesn’t exist in gadgeteer form at the moment). I would also like to be able to put the display connector, emx and other components on a single board to conserve space

It seems that most of the physical signals are the same regardless of display, but, if memory serves, you need to go through a setup procedure before the display will respond properly. I assume that this is hidden in the gadgeteer programming and I’ve no idea how to do it from scratch. Any pointers would be great.

Along similar lines it is clearly possible to talk to a capacitive touch screen through the I2C but I’ve no Idea how to tell my program that it should look for the touch screen information from an I socket rather than a T socket. Again any help would be greatly appreciated


David Cowan

Perhaps this will be helpful for you. It’s a code share from WouterH: “This snippet shows how to configure the internal LCD controller registers.”


For my EMX video player I’ve hooked up a custom LCD, configuration is like this:

Configuration.LCD.Configurations config = new Configuration.LCD.Configurations();
config.Width = 240;
config.Height = 320;
config.OutputEnableIsFixed = false;
config.OutputEnablePolarity = false;
config.HorizontalBackPorch = 6;
config.HorizontalFrontPorch = 6;
config.HorizontalSyncPulseWidth = 6;
config.HorizontalSyncPolarity = false;
config.VerticalBackPorch = 3;
config.VerticalFrontPorch = 255;
config.VerticalSyncPulseWidth = 1;
config.VerticalSyncPolarity = false;
config.PixelClockRateKHz = 5143;
config.PixelPolarity = true;

It is in the GHI.Premium.Hardware namespace. Note that I’m using non-gadgeteer premium libs, so you should check if this class is also available for Gadgeteer.

Well I should remove that entry as now I’ve got it to work with the Configuration.LCD.Configurations class. (I didn’t know this class needed a hard-reset in order to take the new values). While developing and finding the correct timings, you can use the snippet I’ve posted on codeshare because it changes the parameters immediatly.

Maybe keep but clarify that it is usefull for debugging

1 Like

Thanks for all the replies. Very useful.

On the capacative touch screen. I noticed that there is an I2C port on the ‘T’ socket in spider and it seems that capacative use this protocol. So I was wondering if this is how the capacitative touch screen is interfaced??