Did I break it? Halp!

After receiving my T-beam (Lilygo®Ttgo Meshtastic T-Beam V1.1 ESP32 868Mhz Wifi Ble Lora ESP32 Gps NEO-6M Sma 18650 Batterij Houder Met Oled)

I soldered the display onto it at a friend’s house. At first it worked, but after I got home it wouldn’t switch on.

Then my cat pulled it over while I was trying to charge it, it fell on my carpet. Some connections had severed, so today I soldered it back together myself.

Note: I had zero experience in this, I studied some YT videos about it, but since I succeeded the first time, doing it the second time with even a better (finer) tool, I expected it to work again after inserting the battery back in the device.

Red and blue Lights are blinking. Display won’t switch on.

I have no idea! Is it not working? Is it just the display? What button does what? How do I see if the power switch (apparently it is a switch) is turned on or off?

Did I fry something??

I can only upload 1 image since I’m a new user.

I also can’t seem to connect to it anymore…

Here another picture.

There are several things you can try out:
1.: check if the OLED display is cracked. They are really fragile, and usually crack at the left and right corner of the ribbon connector side.
2.: re-solder the display, follow this guide: https://twitter.com/wellertools/status/1367901341725638656. The solder on your joints has not properly wetted the entire pad and is spilling beyond the pad. You need to preheat the pad and pin, then add solder and wait just long enough that the solder has flowed nicely. If you apply to much heat or stay too long you boil off the flux, the solder oxidises and clumps together instead of flowing.
3.: you can check your device via the UART debug interface. Attach a USB cable, use a terminal program (for example HTerm - der-hammer ) at 921600 bps

Regarding the buttons: orient the t-beam vertical, OLED at the bottom. Buttons are at the right side, going from top to bottom:

  1. reset: tap once to reset the t-beam
  2. user button: tap once to cycle between the different display pages
  3. power button: tap once to switch on, hold to switch off
1 Like

Thank you so much!

I don’t see any cracks in the display.

It was hard to preheat the pad & pin (how do I know if I did it long enough?) And when I added the tin, the drop kept wanting to creep upwards instead of downward…

I’ll study the link you sent me.

I see a chisel tip instead of a five tip ik the example. Is that the recommendation? I guessed a fine tip was better for this level of precision.

Why a chisel tip?

This is nowhere near precision soldering :grin: A chisel tip has much more surface area in contact with the pad and pin then a fine needle point tip. The more contact area the more heat you can transfer. This decreases the time you have wait for the solder to flow, less of a chance for the flux to boil off.
Try to touch the solder to the pad and pin and not to the tip itself! Then you’ll know if you preheated long enough :wink:
Also, try to add a tiny bit of solder to the tip before soldering, this increases the thermal contact to the pad and pin you are trying to solder.

3 Likes

yes, always melt a little solder on the tip of the iron right before soldering

I would also add:

  • touching every contact with a thin layer of solder before actually soldering can help
    (ie. add a thin layer of solder to the pins, then to the contacts around the “holes” on the PCB, then insert pins and finish soldering them together)
  • make sure the solder flows to the contacts instead of spreading it with the tip of the iron
  • don’t apply more heat after the solder flows where you want it to
2 Likes

this should help you out

2 Likes

Thank you all so much. Makes sense :grin:.

I’ll try again soon with my new knowledge.

Curious, did you apply some flux before the solder and iron? (Or are you using solder with a rosin core?)

No separate flux, I assumed the wire that came with the tool box had had a flux core, but now I’m not so sure. It has no label. It was also 1mm, maybe a 0,5mm is easier to handle at those dimensions. I’ll order one. Tnx

Okay. So after few hours of hell, I managed to separate it and reattach it. Had leadfree solderwire with flux. Never leadfree again!!! It was nearly impossible to heat up the joints enough. It wouldn’t flow unless it touched the iron. Not even after 6+ seconds of pre-heating.

They are SO tiny and so close together.:cold_sweat:

This is how it looks now. But… The display still isn’t switching on. How can I see if I damaged circuit or anything? Did it melt?

There is a red LED blinking once per second.

It would be nice if you can just buy them with the display attached. I know dozens of people who want one, but who cannot solder as well… Is there a place you can order them from WITH attached display?

That diagnostic program: as I said, I’m a noob. I don’t program nor know anything about that. I would have no clue what that program would tell me.

All I want is for that thing to function and I have no clue what to do…

When I order it I had no idea I had to attach to display myself. En even though I think I managed now… It still is not working. And it cost me a full day now.:sob:

Not that happy about the backside tho

The solder joints are decent, your next best option is to check the serial output as I’ve told you before. Connect your T-Beam to your computer, install HTerm - der-hammer, choose the right serial interface in the “port” drop down menu and set “baud” to 921600. You can also set “newline at” to CR+LF.
If you are on windows you can open the device manager and check the “COM&LPT” tab, there should be something like “usb to serial adapter (COM4)”
Then connect and analyze the debug messages. Your T-Beam is going to tell you if it was able to find an SSD1306 based display. If not, the display might be broken.
Can you also post a close up picture of the entire front of the oled display?

My “baud” drop-down doesn’t go above 256000…

just delete the numbers and type in 921600 :wink:

1 Like

no idea if it’s done. How long does it take? Dont see any status

ah! sorry, it’s still working i see now haha. Firsttimer :sweat_smile:
But: no idea when it’s finished

can you post a screenshot or copy the log so we can have a look?
There are a bunch of debug messages at first and then only when something happens, for example the user button gets pressed. Or a message gets received.

­Oï¿ý翹¯¿¹«Ûÿퟭý¥{ïß»ýïÿŸÿùçÿ½¯»ýï¿åÿýí¹ÿ»ÿ9ûÛýùÿ­÷««¹­çù¿¥ÿý­¯­ÿ­­ß¯¿¯ÿýï¥ûÛ¹ÿõÏíý嫽¯õ½åÿååÿÿí¥ù¯Ïïÿù¥ÿ½åûûïÿ¯ÿýï¯ÿoµÛïÿßíù¯½ÿo¥ßÿ•íÿí¯½½¥ÿå;¥ßÿýÿý¿ë­í½ë¥¥¿§ÿ廥çÿ¯O-ÿ§¯ý¹½­­ÿßÿ¿­¥­ç¯çý¥¯ï彿ÿûÏýýÿ­÷©­ï­ç¯­ÿ¹¿ý¯­½¹ÿåïKýÿ¯í­ÿ¯=­ë­O¿ß¯íÿý»½ûÿ½ÿ­{½¥ë¥¿ç¯¹¯¹¿ÿýý¥å-Ûïÿÿ½ÿ¥ëõÿïßýï¹õý­ßåÿ¯ÿ«í¥ï;§½­õ¯ý½¿ý¹¯óïÿ§«µï¯¹ï¿¯¿½åß¿¥ÿíÿû“¿ïi·O¯ÿ—ÿåÿýåy/¿½¹§¯í¥ÿ­Õ¿¥ÿ—ý¿¿­ÿåå­ÿ¯­}­¿ÿ­¥½¿½­ûÿÿ½íµå炙¯}ýÿ»ý}ÿ­íO¿ï¥½å½í­ÿÿ¿í½­½ÿïï¿ÿïç½åûëïïÿ½©¹ÿϯÿïéýùÿ½¯íÿ»¿½ï¿¹¿¿ÿç­­ý¿÷­åé¿ÿï¯ëûë=íÿ¿ýíý嫽ÿ­ýÿåïOÿ¹åﯟçݧÿÿ¥û/ý?¿çýëçÿýåéýÿí¥­ÿí/ÿ_ÿýõÿÿýé¥ÿ÷ÿ¥õ­½¥ûë¿ÿµõ½¿¯ïù½¿y¿ý½¿÷¥ûëÿç­¯å­í­ýïÿÿµ­ííç½ç¯­µåý­½/¥ûOïïÿ¿ý¯íµ¹ï¯­¹ç¿»ùÿåïëÿ¿§»å­ååéÿÿùå½ÿíéýÿÿ½½½«¿½ï¹¿¿½¯Ï½ÿû{¿½ï½—ýí/íߧ¯ÿ­¹ÿÿùÿ§ÿ·¿ç¯­µ¿ïç/­½­åéÿí½»¥¯¿ý½¿½½ýµ/ýO¿ÿå/·ûßýçÿ¿Ïï奭ýÿ÷ï½ÿ­­íÿ¯ï奯}ÿýÿïí¥­½¯{ÿ¿åïåå믿­¿§ÿù¥½oOÿ18:57:35 13140 [GPS] WANT GPS=0<\r><\n>
18:57:35 13140 [GPS] publishing GPS lock=0<\r><\n>
18:57:35 13140 [GPS] got gps notify time=1641495455, lat=0, bat=0<\r><\n>
18:57:35 13140 [GPS] DB update position node=0x93879238 time=1641495455, latI=0, lonI=0<\r><\n>
18:57:35 13141 [GPS] Node status update: 1 online, 2 total<\r><\n>
18:59:35 13261 [GPS] WANT GPS=1<\r><\n>
18:59:35 13261 [GPS] Setting GPS power=1<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Sending our nodeinfo to mesh (wantReplies=0)<\r><\n>
19:04:08 13533 [NodeInfoPlugin] cancelSending id=0x7458b041, removed=0<\r><\n>
19:04:08 13533 [NodeInfoPlugin] sending owner !93879238/Phi/Phi<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Update DB node 0x93879238, rx_time=1641495848<\r><\n>
19:04:08 13533 [NodeInfoPlugin] handleReceived (id=0x7458b043 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=4 rxtime=1641495848 priority=10)<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Plugin nodeinfo wantsPacket=1<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Received nodeinfo from=0x93879238, id=0x7458b043, portnum=4, payloadlen=31<\r><\n>
19:04:08 13533 [NodeInfoPlugin] old user !93879238/Phi/Phi<\r><\n>
19:04:08 13533 [NodeInfoPlugin] updating changed=0 user !93879238/Phi/Phi<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Plugin nodeinfo considered<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Plugin routing wantsPacket=1<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Received routing from=0x93879238, id=0x7458b043, portnum=4, payloadlen=31<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Routing sniffing (id=0x7458b043 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=4 rxtime=1641495848 priority=10)<\r><\n>
19:04:08 13533 [NodeInfoPlugin] FIXME-update-db Sniffing packet<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Delivering rx packet (id=0x7458b043 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=4 rxtime=1641495848 priority=10)<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Forwarding to phone (id=0x7458b043 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=4 rxtime=1641495848 priority=10)<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Update DB node 0x93879238, rx_time=1641495848<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Plugin routing considered<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Add packet record (id=0x7458b043 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=4 rxtime=1641495848 priority=10)<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Expanding short PSK #1<\r><\n>
19:04:08 13533 [NodeInfoPlugin] Installing AES128 key!<\r><\n>
19:04:08 13533 [NodeInfoPlugin] enqueuing for send (id=0x7458b043 Fr0x38 To0xff, WantAck0, HopLim3 Ch0xb1 encrypted rxtime=1641495848 priority=10)<\r><\n>
19:04:08 13533 [NodeInfoPlugin] (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=51, time 4104 ms<\r><\n>
19:04:08 13533 [NodeInfoPlugin] txGood=33,rxGood=0,rxBad=0<\r><\n>
19:04:08 13533 [NodeInfoPlugin] AirTime - Packet transmitted : 4104ms<\r><\n>
19:04:10 13535 [RadioIf] Starting low level send (id=0x7458b043 Fr0x38 To0xff, WantAck0, HopLim3 Ch0xb1 encrypted rxtime=1641495848 priority=10)<\r><\n>
19:04:14 13540 [RadioIf] Completed sending (id=0x7458b043 Fr0x38 To0xff, WantAck0, HopLim3 Ch0xb1 encrypted rxtime=1641495848 priority=10)<\r><\n>
19:04:38 13563 [PositionPlugin] Sending position to mesh (wantReplies=0)<\r><\n>
19:04:38 13563 [PositionPlugin] cancelSending id=0x7458b042, removed=0<\r><\n>
19:04:38 13563 [PositionPlugin] Providing time to mesh 1641495878<\r><\n>
19:04:38 13563 [PositionPlugin] Update DB node 0x93879238, rx_time=1641495878<\r><\n>
19:04:38 13563 [PositionPlugin] handleReceived (id=0x7458b044 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=3 rxtime=1641495878 priority=10)<\r><\n>
19:04:38 13563 [PositionPlugin] Plugin position wantsPacket=1<\r><\n>
19:04:38 13563 [PositionPlugin] Received position from=0x93879238, id=0x7458b044, portnum=3, payloadlen=26<\r><\n>
19:04:38 13563 [PositionPlugin] DB update position node=0x93879238 time=1641495878, latI=523339538, lonI=49577633<\r><\n>
19:04:38 13563 [PositionPlugin] Node status update: 1 online, 2 total<\r><\n>
19:04:38 13563 [PositionPlugin] Plugin position considered<\r><\n>
19:04:38 13563 [PositionPlugin] Plugin routing wantsPacket=1<\r><\n>
19:04:38 13563 [PositionPlugin] Received routing from=0x93879238, id=0x7458b044, portnum=3, payloadlen=26<\r><\n>
19:04:38 13563 [PositionPlugin] Routing sniffing (id=0x7458b044 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=3 rxtime=1641495878 priority=10)<\r><\n>
19:04:38 13563 [PositionPlugin] FIXME-update-db Sniffing packet<\r><\n>
19:04:38 13563 [PositionPlugin] Delivering rx packet (id=0x7458b044 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=3 rxtime=1641495878 priority=10)<\r><\n>
19:04:38 13563 [PositionPlugin] Forwarding to phone (id=0x7458b044 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=3 rxtime=1641495878 priority=10)<\r><\n>
19:04:38 13563 [PositionPlugin] Update DB node 0x93879238, rx_time=1641495878<\r><\n>
19:04:38 13563 [PositionPlugin] Plugin routing considered<\r><\n>
19:04:38 13563 [PositionPlugin] Add packet record (id=0x7458b044 Fr0x38 To0xff, WantAck0, HopLim3 Ch0x0 Portnum=3 rxtime=1641495878 priority=10)<\r><\n>
19:04:38 13563 [PositionPlugin] Expanding short PSK #1<\r><\n>
19:04:38 13563 [PositionPlugin] Installing AES128 key!<\r><\n>
19:04:38 13563 [PositionPlugin] enqueuing for send (id=0x7458b044 Fr0x38 To0xff, WantAck0, HopLim3 Ch0xb1 encrypted rxtime=1641495878 priority=10)<\r><\n>
19:04:38 13563 [PositionPlugin] (bw=125, sf=12, cr=4/8) packet symLen=32 ms, payloadSize=46, time 3842 ms<\r><\n>
19:04:38 13563 [PositionPlugin] txGood=34,rxGood=0,rxBad=0<\r><\n>
19:04:38 13563 [PositionPlugin] AirTime - Packet transmitted : 3842ms<\r><\n>
19:04:39 13564 [RadioIf] Starting low level send (id=0x7458b044 Fr0x38 To0xff, WantAck0, HopLim3 Ch0xb1 encrypted rxtime=1641495878 priority=10)<\r><\n>
19:04:43 13569 [RadioIf] Completed sending (id=0x7458b044 Fr0x38 To0xff, WantAck0, HopLim3 Ch0xb1 encrypted rxtime=1641495878 priority=10)<\r><\n>