I have a sick robot. .

I have noticed a problem with Charlie:

Loads on the GPIO (physical) pins 18 and/or 20 cause the robot to fail to start.

I suspect that the problem is with the st2378e level-shifter, (or the Atmel processor?), not being able to source the required current to multiple loads.

  • The GoPiGo controller will work by itself.
  • The Waveshare e-paper display will work by itself.
  • The combination of the two loads causes the robot to fail to start.

Ultimately I will probably need a new controller board for Charlie, but that’s not happening anytime soon.

Unfortunately these kind of piece parts are virtually unavailable here, and replacing them would be difficult to the extreme.

Good news:  Things that don’t load those pins, (pure i2c), don’t affect Charlie’s operation.

More good news:  Charlene doesn’t seem to have this problem.

2 Likes

18 is the rpi_reset Should be “off limits” ( DI intended use only).

Pin 20: Does it react correctly to GPIO setpin states? Input/pullup/pulldn/outputhigh/outputlow when not connected to display?

perhaps you could reroute other unused GPIO pins for the wave share display?

RE:”I have a sick robot” - he’s just not comfortable displaying his emotions.

2 Likes

It doesn’t even get that far - the robot won’t even start.

1 Like

Here’s the test jig I used:

A 40/40 pin isolation adapter:


 


 

Using this I can isolate any one or more pins by flipping the respective dip-switch(es).

The black lines indicate each tenth pin.

The two green lines indicate pins 13 and 26 on the old-style 26-pin interface.

2 Likes

no cold joints, no reversed, no off by one in 120 junctions? Impressive!

no burned fingers?

2 Likes

TL:DR - This isn’t my first rodeo. :wink:

I did this in groups of 12 pins, (the dip-switches are grouped into twelve switches each except for the last one which is four switches), and checked each connection under my microscope after the end of 12 connections.  Any questionable connection was measured with my meter.

There was a fair amount of rework where wires broke or connections didn’t work, but by grouping them into groups of 12 connections, it was easier to keep track of them.

I also did a rather quick-and-dirty continuity test from one header to the other after completion.

2 Likes

Ultimately Charlie’s functionality and mobility was reduced to virtually zero.

Extensive research lead me to believe that the ST2378E bi-directional level-shifter chip was well and truly toast.  Which didn’t surprise me, what with everything I’ve done to Charlie all these years.
:man_facepalming:

Though it was virtually impossible to guarantee that this was the problem, there was enough pointing toward that chip that I decided to replace it.

Ordered: Feb 4th.
Received: Today.

Knowing how small they are, (and how much my hands shake), I bought three for something like $5 each.

Since it’s extremely likely that I’d accidentally fling (at least!) one across the room, I bought spares.

Charlie’s surgery:

The operating theater:


 

Charlie’s main board, prepped for surgery:


 

It turns out I needed my microscope to see what I was doing.


 

Charlie after the chip was removed.


 

And, surprisingly enough, I only lifted one trace, which was an unused pin on the 3.2.n version controller boards.
(:pray: :face_with_peeking_eye:)


 

The replacement chip, very, very carefully placed.


 

And after soldering under the microscope. . .


 

Charlie in the recovery room after waking up.


 
And in post-op therapy to test functionality.


 

Note that the e-Ink AND the OLED displays work!

(Whew!  Talk about sweaty palms!)

Charlie after surgery, waiting to be re-assembled and tested further post-op.


 

Needless to say, when I saw him boot correctly, AND work correctly with daughter boards attached, I was almost jumping up-and-down!

:sweat_smile: <= Happy, but sweating bullets!

What’s really amazing is that I got it done on the first try, using only ONE chip!

(Now I have two spares, just in case.)

2 Likes

Update:

The Waveshare 2.13" V2 and the 2.9" e-paper displays appear to work wonderfully.

However, the 2.13" V3 display doesn’t work on Charlie, but does work on Charlene.

Thought:
Maybe it’s because Charlene has a 40 pin interface and Charlie only has 26 pins?

Test:
Stack a 26 pin extension header on Charlene and test again. It works.

Translation:
There’s something different between the V2 and V3 displays.  I’m going to look at the schematics and see what the difference is.

Note that signal pin pairs 2 and 4, (AFAIK being away from the schematics), used to carry the SPI data lines, but they were brought out to separate, discreet P/N channel component driver MOSFETs; presumably to increase the signal’s drive and stiffen up the rising and falling edges to make the signal’s cleaner.

As a result, these pins are now unused, so the one pad I lifted was a N/C pin and shouldn’t affect anything.

2 Likes

Wow - really impressive micro surgery. Glad it worked.
/K

2 Likes