I think I understand why I could’t get any of my TTGO-LoRa32 v1 boards to work with the TTGO_LORA_V1 .bin and none of my v2 boards with the v2 .bin file…
And why the v1 board works when I load the v2 .bin file in it; and why the v2 board works when I load the v1 .bin file in it !!
Short explanation: Meshtastic config-file is not using the right pins, because there are interpretation mixups betweenTTGO’s LoRa32 v1 and v2 boards.
I noticed this when looking at an excel file I found elsewhere in our group:
In the above excel sheet (columns B, C, D), the first three TTGO LoRa32 boards, are actually ALL version 2 boards, and there is NO v1 board between them.
The board in column B is the first real v2 board which brought out by TTGO (it had no printed markings at all).
The one in column C is definitely the most recent v2 version of LoRa32, introducing the IP5302 powerbank IC (and 4 totally un-economical blue LEDs), also in several later editions of TTGO’s ESP32 (non-LoRa) boards like T-Cell, T8, TQ…
The v2 board in column D is indeed a V_2.1.6 or T3_1.6 as TTGO marked this 2nd version of an earlier one, with the only difference that the older one merged LiPo and USB inputs via 2 onboard fuses. This could cause the LiPo to overheat when both were connected at the same time. The issue was rapidly solved by TTGO, replacing the LiPo fuse by a schottky diode in a corrected version of T3_V1.6. which is still for sale.
Despite all dubious or non-printed board markings or descriptions on AliExpress, all TTGO’s version 2 LoRa32’s are easy to recognize:
All of them are based on PICO-D4 chips,
upgraded CP2102 to 2104,
they have a microSD-slot on the ESP32’s H-SPI (but somewhat pinswapped), plus pins 2 and 4.
This is why they moved I2C to pins 21 & 22 as a main difference with v1 (which used 4 & 15).
And, to me, this appears contradictory with the Meshtastic config file, which is defining I2C pins on 4 & 15 for v_2 (and not 21 & 22) - while 4 & 15 are precisely the I2C pins used by all v_1 boards of TTGO’s Lora32.
(see an excel file I share gladly with you, regularly updated, as I’m sorting out things: https://www.dropbox.com/s/gly6z21qqps7uvc/espMeshtasticBoards_ev01.xls?dl=0 and see other topic [Issues with Heltec and TTGO pinouts in relation to our config file] )
I’ve been testing various physically different LoRa board versions from Heltec and TTGO, and put their pinouts, including those I don’t own but I’m aware of, in this spreadsheet.
As you will notice, per board, there are 4 columns to illustrate differences in pinouts between by the vendor datasheets, espressif board definition, 3rd column is based on current version in 0.2.2. Meshtastic configuration file, and 4th column is my personal conclusion which pin is actually or probably the right one…
I admit I did a lot of research and sometimes confusion made almost made me pull out my little hair left.
Luckily I got very much inspired by a very big topic on ESP32 LoRa boards, especially BlueJedi’s work on TTN’s forum https://www.thethingsnetwork.org/forum/t/big-esp32-sx127x-topic-part-2/11973 , as well as various info found on Bernard (BeeGee) Giesecke’s site and in Andreas Spiess (@sensorsIOT) video’s which helped me a lot clearing out some misunderstandings. I think confusion is mainly caused by typo’s, unclear, missing or update-lacking manufacturers’ documentation on these boards. Note that we can absolutely blame neither Heltec nor TTGO, because they did a real nice job by producing them in the first place, and listening to their customers to improve those!
So, in my opinion, the solution seems really simple: re-swap I2C pin definitions between v1 and v2 TTGO-Lora32 versions.
If it appears true that the LoRa RST pin is not physically connected to any ESP32 pin, then we don’t need to bother if we define it to 12, 14 or 23 depending on the referrer.
And, maybe, this will permit to take decisions on adding more board versions or changing the layout of the config file, looks more and more like the latter is the simplest thing to remediate this problem, as it will stick to a v1 and v2 version fitting all earlier TTGO boards.