Tentei pesquisar bastante e várias outras coisas, tenho uma boa bagagem com embarcados já, mas acredito que algo bobo pode estar passando.
Quando a função Begin do display é invocada o erro abaixo acontece.
Achei várias explicações depois de tentar um debug sem pesquisar:
Nesse link tem parte da explicação (tradução da causa de reset): https://www.espressif.com/sites/default/files/documentation/esp8266_reset_causes_and_common_fatal_exception_causes_en.pdf
E nesse aqui um pouco mais completo, que me disse para não apelar pro google, mas eu fui mesmo assim quando não consegui: https://arduino-esp8266.readthedocs.io/en/latest/exception_causes.html
Alimentação: A causa mais comum apontada para o problema era alimentação...Mesmo com o display desconectado o mesmo erro acontece.
- Tentei alimentar com uma fonte USB de 2A e nada evoluiu.
- Não tentei ligar em uma fonte de bancada ainda, pois acredito que seja um problema com código.
Exemplo com WiFi Tentei usar um exemplo do pacote ESP8266 que utilizasse a função WiFi da placa, ela deve puxar bastante corrente e desestabilizar a placa, mas ainda assim funcionou perfeito, risquei alimentação da lista. (Achei comentários sobre usar um capacitor eletrolítico de 470uF entre GND e VCC para evitar resets aleatórios, não tentei e não acredito que vá funcionar)
Outro palpite que achei era o fato de não haver delay entre as funções (no caso a pessoa estava tentando receber interrupções e ele travava no loop principal).
E por último: O Watchdog parece ser o culpado, mas não sei como desativar ele ainda ou "alimentar ele" a cada ciclo. Não tentei espetar o osciloscópio nele também. Não sei se valia todo esse esforço se parece que os outros conseguem fazer sem problemas.
Fiquei bem desanimado, deixei isso dias a fio de lado...
Não tentei modificar a biblioteca da Adafruit, sei programar em C/C++, não é um problema, mas trabalho bastante e estou com bem pouco tempo para ficar escovando bit, se alguém souber e puder me ajudar.
O erro que recebo através da serial (sei que dá para tentar traduzir aquele dump, mas não fiz ainda):
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
vbc204a9b
~ld
Exception (3):
epc1=0x402053b8 epc2=0x00000000 epc3=0x00000000 excvaddr=0x40239afa depc=0x00000000
\>>>stack>>>
ctx: cont
sp: 3ffffd60 end: 3fffffc0 offset: 01a0
3fffff00: 0000000b 00000017 00000000 00000000
3fffff10: 402046d9 feefeffe feefeffe 00000001
3fffff20: 00000001 0000003c 00000020 40100c48
3fffff30: 0000001c 0001c200 00000000 00000001
3fffff40: 00000001 0000003c 3ffee808 40201b3a
3fffff50: 00000001 00000001 3ffee9a4 3ffeea0c
3fffff60: 00000002 00000001 3ffee9a4 40202bf4
3fffff70: 00000000 feefeffe feefeffe 3ffeea0c
3fffff80: 3fffdad0 00000000 3ffee808 402010c8
3fffff90: 3fffdad0 00000000 3ffee9cc 402010ff
3fffffa0: feefeffe feefeffe feefeffe 402033f4
3fffffb0: feefeffe feefeffe 3ffe84ec 4010100d
<<<stack<<<