I recently bought a SmartGPU 2 for my automotive project and I'm trying to connect it over a distance of about 3 meters.
I don't have an oscilloscope to investigate the issues I'm facing but I can tell that the gpu is not receiving the serial data correctly.
The reason why I need such a setup is that the display will be placed in the van's dashboard while my Arduino DUE is at the back, connected to various sensors.
I guess this has something to do with serial communication reliability over long distance rather than the GPU.
What I've done so far.
run my sketches with the provided short cable (TX,RX,RST,3.3v,GND): Everything works
replace the short cable with a 3 meters long one: consistent (predictable) errors
use the long cable only for the TX and RX pins and short wires for the other pins: Everything works
tested voltage across long and short cables: no difference
I'm quite new to electronics therefore... yes, I'm missing something
The problem is you are trying to run logic signals over a long wire.
Try a simple 1K pull up resistor. That is from the RX to 3V3. On both devices.
Otherwise you will have to use a buffer with a higher voltage. A common way is to use an RS232 buffer at both ends.
I am assuming that both ends talk with 3V3 signals at the moment.
I had this problem, and it was caused by voltage drop in the GND line. the "far" device(The one further from the power supply) is consuming current to power itself, and the ground wire acts like a resistor, so the "ground" at the far device is above the ground at the near device. Since that device can't pull the voltage lower than it's ground, when it sends a zero, the "near" device doesn't see 0v, it sees whatever voltage the far device ground is at, which might be above the threshold that the reciever considers a 1.
Also, when the near device sends 0, the far device sees a voltage below it's ground, which could cause damage unless there is a resistor in the line.
A possible awful hacky workaround would be to use 2 1k resistors or so to make a voltage divider on each input. By halfing the voltage into the rx pins you might be able to bring the level back down to what is considered a low(the threshold is usually less than half of 3.3v)
Do it to both devices RX pins, and the resistance will also protect against the slight negative voltages.
It could also be the gpu just isn't getting enough power over the long wires.