Cobra II + CP7 Touchscreen Not Working When Powered Thru Power Jack

I’ve been working for weeks with two Cobra II systems with connected CP7 displays running off the USB port (using a USB cable with extra USB power connection) and everything has been working just fine. I’ve never had one problem with the touchscreen and clicking buttons, checkboxes, etc. Now I’m ready to perform some burn-in testing and removed the USB power and plugged in a 12V 2A power supply into the Cobra’s power jack. All of a sudden I’m getting all kinds of touch events that are completely off. I have a screen with a button on the right side of the screen and one on the left side and when I click the right side button the left side button actuates! A lot of the times the buttons take two or three times to click before they actuate, if they actuate. The touchscreen is completely wonky and is totally useless!

So, thinking that I’ve got a power supply problem I plugged in a completely different power supply, 15V 4A. This does not fix the problem. The touchscreen is still completely off, actuates the wrong buttons, you name it!

So, thinking that MAYBE it is the on-board power supply circuit being bad I tried another board and I get the same results.

So, thinking that it is a board problem with the two boards that I have I plugged in a USB Client DP into one of the spare sockets to power the system with the two different power supplies and I still have the same problems.

BUT, if I plug in the USB power through the micro USB port as I have had all along when developing the system the touchscreen works just fine!!!

I scrounged around and found a 5V 800ma power supply that I can plug a USB cable into and power the board through the USB port and it really doesn’t work any better. The touch events seem delayed and can still actuate a button on the other side of the screen. Don’t know if this is maybe related to the fact that it is only a 800ma supply, but I don’t have anything with more power.

WHAT THE HECK IS GOING ON??? :wall: :wall: :wall: :wall: :wall: :wall: :wall:

I’d still say its power.

CP7 is a beast and draws a lot of power. Touch is using analog input, and analog is sensitive to noise.

Do you have access to an oscilloscope? I’d look to probe the power supply lines to see if there’s much ripple being generated on the 5v output.

What is interesting is that when you re-reference everything to GND on your PC (by connecting the USB cable) you get a different result. Perhaps this means that you have a noisy environment that is interfering with the touch signals, how about getting out the tinfoil hats and making a crude shield for the device and CP7? (I remember someone else in an area with fluorescent lights getting this kind of issue with a CP7)

@ Brett - CP7 uses I2C for touch, or did you mean internally in display module?

Good point, I forgot that the comms between the panel itself and device is based on I2C, but it’s most likely going to rely on analog on the panel…

@ Brett,

Maybe it is grounding, but the environment is the same. I’m running everything on my desk at this point. The only thing that is changing is the power. I am using an ungrounded wall transformer when the touchscreen behaves badly. What would you suggest that I do to solve this problem? Should I tie a ground from the wall plug ground to the Cobra?

the environment is not the same though, you have a completely different ground reference and power source.

What do I suggest? If you have an oscilloscope, check power lines for noise. If you don’t, try an aluminium foil shield around the CP7 and/or cables (search here for the other thread I mention about CP7 and fluoros, IIRC it was an aquarium project)

I have the same experiance, first the Cobra II isn’t capable to drive the CP7, the power curcuit can’t supply enough power. Second, the power curcuits on the CP7 produces a lot of noise. At my project I had about 1V peak to peak noise on the 5V rail and about 500mV on the 3.3V. So finally I bought the Power Extender Module from GHI and all problems are gone.

1 Like

I can confirm having a bad power source can yield this kind of behaviour of the CP7.

Make sure you have a stable power source for the CP7 our you’ll receive all kinds of faulty touch positions. Just try this program (Joe’s @ GHI) and see the effects of a bad power source:

namespace GadgeteerApp1
     public partial class Program
         void ProgramStarted()
             display_CP7.SimpleGraphics.DisplayRectangle(Gadgeteer.Color.Blue, 0, Gadgeteer.Color.Blue, 0, 0, display_CP7.Width / 2, display_CP7.Height / 2);
             display_CP7.SimpleGraphics.DisplayRectangle(Gadgeteer.Color.Green, 0, Gadgeteer.Color.Green, 0, display_CP7.Height / 2, display_CP7.Width / 2, display_CP7.Height / 2);
             display_CP7.SimpleGraphics.DisplayRectangle(Gadgeteer.Color.Yellow, 0, Gadgeteer.Color.Yellow, display_CP7.Width / 2, 0, display_CP7.Width / 2, display_CP7.Height / 2);
             display_CP7.SimpleGraphics.DisplayRectangle(Gadgeteer.Color.Purple, 0, Gadgeteer.Color.Purple, display_CP7.Width / 2, display_CP7.Height / 2, display_CP7.Width / 2, display_CP7.Height / 2);
             display_CP7.ScreenPressed += (a, b) => display_CP7.SimpleGraphics.DisplayEllipse(Gadgeteer.Color.Red, (uint)b.touchPos[0].xPos, (uint)b.touchPos[0].yPos, 5, 5);

1 Like

@ JdV - Thank you for the test app! This helped determine that it was indeed a power issue

@ jp_miata - Thank you for your input about the Power Extender module. I didn’t know GHI had one. I received mine today and it worked like a charm! Appreciate the heads up. :clap:

@ Brett - I tried the foil and with my current setup it didn’t fix the problem. I purchased the Power Extender module and that was the fix. Looks like GHI might want to update the page on the CP7 to be a little more descriptive about this display really needing the power extender due to most of the power supplies NOT handling it.

I will say though that grounding may have something to do with it as well. I was able to get the display to work if I used a grounding strap that connected to the shield of PC USB cable (unplugged from the Cobra) and the USB connector on the Cobra board itself. With this grounding I was able to plug in either of my power supplies and the display worked properly.