I since a few months, I have been using a Hyperpixel 4.0 Touchscreen with my Raspberry 3B+ without any problems. Since a few weeks i use my touchscreen with the Raspberry Pi 4 Compute module and mounted both on my own designed PCB. Unfortunately, I’m facing some difficulties with the Touch function of my Hyperpixel 4.0. I have no clue how to solve these problems because the circumstances, which cause the fault don’t make sense to me.
Which System do I use?
Hyperpixel 4.0 in combination with Raspberry ComputeModule 4 with 2GB RAM and 8GB onBoard eMMC. Both is mounted on my custom PCB, which is supplied with 24V, stepped down by an «APP63300WU-7» Step down converter, which provides 3A # 5.1V continuous output. The measured Voltage over 2 Days of measurement is a maximum of 5.2V and a minimum of 5.05V. The software ist the latest Raspbian.
What error is caused?
I have been running a GUI on my Raspberry Pi. I have one Page on which i have three sliders for changing brightness of my room light, colortemperature and one slide is to regulate the speed of some fans. Everything works fine in darkmode, but if I change to lightmode and touch the screen for about 1.5 seconds, the touch- function hangs up. My GUI doesn’t move anymore and I have a still image. I know that it’s only the touch function beacause if I plug in a keyboard and mouse, I can open for example chromium or other stuff without problems. With «i2cdetect »-command I can detect the Goodix GT911 driver on Address 0x14. Even if the touch has hung up, i can detect the Goodix GT911. I know that the address should probably be 0x5D but I thought it isn’t necessary to care about this problem as long as it works. After a reboot, the touchscreen works fine again until i use the lightmode of my GUI. Interesting to mention is, that i can click a thousand times for around 0,25seconds and no problems occur. But if I touch the screen permanently for around 1,5seconds, I instantly get my above described problems. Generally considered, this problems seems very strange to me and it doesn’t behave like any physical law i know…
On the first view, the error seems like a software issue ? Hear this!
If i use the official «Compute Module 4 IO-Board » to mount my Compute Module and Touchscreen, I don’t get the issue at all… My actual designed PCB ist the 2nd version. On the 1st version It also worked fine without any problems. The only differnce between version 1 and 2 is the wiring, which I tried to improve on the 2nd version and viewer parts which I only put on my 1st version to evaluate some functionalities like ethernet or 2nd I2C-Bus, which I’m not using on my 2nd version. The wiring did not change between these two versions, i only tried to increase the distance between the GPIO-traces to improve signal integrity.
So it seems like a hardware problem? But why does the GUI work fine in darkmode? I don’t have any explanation to that.
What did I do to narrow down the error?
I flashed a new image on my Compute Module and also used another Compute Module, Custom PCB and touchscreen as well, but without any success. As far as I experienced, the issue is only caused on my GUI and not on any other websites or images, etc. An interesting thing was the interrupt line, which is typically only drawn to 0Volts if the touchscreen gets touched. After the touchscreen hung up, I measured 0,084V on that line and as long as I touched the screen, this voltage rised to about 0,2V, which for me seems also like a strange behaviour. I also checked the «dmseg» file and got some entries for failed i2c tests of the GoodixGT911. I also tried the github fix for the swapped i2c address, but without success. I used the command «git clone GitHub - pimoroni/hyperpixel4: Driver for the Pimoroni HyperPixel 4.0" Touchscreen Display -b pi4-i2c-fix » for that.
What do I try next?
I dont have any clue what to do next. My only solution in mind, is to undo the «improved» wiring of my 2nd PCB to get as close as possible my first PCB version.
Conclusion :
I really need help and hope, someone can do me this favour. I’ve never found my described error behaviour in any forum. Are there any other usable forums for problems with the Hyperpixel 4.0? Let me please know.
Update:
I tried to reproduce the errors and specify the error source. As above mentioned, the touchdriver hangs up on lightmode (nearly every pixel on rgb(255,255,255)). If i change the color in lightmode to around rgb(245,245,245) the error does not occur. I also noticed that there are two flatband cables on the Hyperpixel 4.0: One for displaying the image and another for the whole I2C-Communication to the touch driver. I plugged out the one for displaying the image and got no problems at all. Even if was theoretically in lightmode(if display would have been on). The touchscreen worked fine and transmitted everyting flawless:
Conclusion on my Update: It seems as the rgb(666) datalines for displaying the image on the screen cause some problems on the I2C bus. I also checked the bus and the power supply with an oscilloscope but I haven't seen any unusual behaviour in any case. Voltage ripple was around 200mV Peak to Peak and the I2C-Datalines rised and fell really sharp
I still need help from you!
Thanks, Manuel
I am working on a non-linear network-optimization problem. When I run a large problem instance on the lab high-performance computers (imposing the time limit of 1 or 2 hours), those computers give me the output when the time is exhausted.
I wanted to use Google Collab to run the same code and to share it with my supervisors (they don't have Pyscipopt installed on their computers). However, when the problem size is small – all is good, but when the problem size is large, it says that the execution is completed (on the bottom of the screen) along with the time it took and a small red exclamation mark BUT it does not show any output for the large-size network optimization problems (neither it prints the solution nor it explains what is the reason/error of this behaviour).
Again, the same code works perfectly fine on high-performance computers, so I do not think there are any problems with syntax.
Please let me know if there are any solutions to the problem described.
Kind regards,
Lidiia
I tried to change "None" in the hardware accelerator to GPU and CPU. I tried to proofread the code in order to find any mistakes. I tried to not leave the Google Collab to run the code at night (I read somewhere that kernel stops working if there is inactivity) so I tried to click on something there to prevent the execution from stopping. Nothing worked.
Long story short, I am tring to run an custom os on REAL hardware. I am using http://www.brokenthorn.com/Resources/OSDevIndex.html this tutorial as guild line(more like copy 99% of there code there). I made it to page 20 there (demo15) and there i got into a problem, its explained there how to read from a flopy, and I have a hard drive in the laptop! so i started working on a ahci and pci driver and it was going pretty well. But then somthing wired happend I discoved that when the kernel size is more than 17kb is doesnt work. I have no idea to why and i have been stuck on it for 5 days now working on it every day. I know its the size that matter and not the code through my experiments with it. But it runs ok in Bochs only not on read hardwear.
Everything works as long as the kernel is less than 17kb and if its not than when its jump to the kernel entry point is stops or start a infinit loop where it restarts itself for some reason. Well wasnt very short story in the end sorry.
Anyway It will be realy helpful if someone has any idea to why its like that or how to fix it.
I know you dont have my laptop so you cant realy test anything but even an idea to why will help my.
my code is on github https://github.com/xXvilckoXx/os, here.
I am working on VS C++ 2010 express.
Sorry for my bad english and thank to everyone who takes his time to try help me or even just reading this post!
There are some repeating characters when my ubuntu 20.04 is booting, like [[^~[[^~[[^~ ... it seems like someone is pushing specific buttons but pushing buttons doesn't write anything when I try. Also sometimes when I'm writing something my keyboard starts repeating 0, and it stops when I push another button. I think it may be related to that problem. Is that a software bug or a hardware problem? What should I do? I add a picture of that. My laptop model is Lenovo Ideapad 520. (about three months ago I spilt a cup of tea on my laptop but these problems appeared recently, I'm not sure if they are related)
Console Screenshot
this is most likely a direct issue of you adding tea to your keyboard.
I have previously worked with repairing computers and sometimes a customer could tell you they dropped a glass of water in their keyboard a year ago and one day the computer couldn't turn on or their keyboard didn't work correctly.
without going into an over technical explanation, this is something that happens, and when you spill water in your computer (or any other type of liquid) the connectors and fuses in the board might get damaged and it can take a while before the problems start showing.
you can do 2 things, if possible you can deactivate the keyboard on your laptop and buy a USB keyboard and use that, which might work forever or to some other water related problem occurs.
The best solution is to bring your laptop to a computer repair service and tell them what happened, they'll be able to pull it apart and look for damage and might be able to just clean it with isopropyl and save it that way, or they will be able to tell you what to do.
Really depends on your budget and the age of the laptop tbh as depending where you live the repair can be costly.
I'm new in here. Hoping to find someone who can help me out with a project that I'm having right now. It's a Raspberry made robot to solve a wall maze. It's my first time in these kind of robotic stuff so I really need help.
The general idea of this robot is to follow the right wall with an ultrasonic sensor attached on the right part of it. It should go forward until it stops when it detects a wall. Then it should turn to the right to repeat doing the same thing. I also have added an ultrasonic sensor to the front part, so in case it detects a wall it could turn to the left. I was wondering if someone could help me out to code all this.
I've been following this tutorial and everything works fine until that part: https://pythonprogramming.net/turning-raspberry-pi-car/
After that, I don't know how to do the rest of the code to start doing the "do while" and all that complicated stuff. I'll put a photo of the robot so you guys can have an idea of how does it looks like by now: