Double Board: Neo-M9N works in f0 but not in f1 with ESP32

I get the following error when flashing any example from the SparkFun GNSS u-Blox Arduino library with the Neo-M9N in the f1 slot. f0 is either unpopulated or has the 1W Lora board in it. I’d like to run Lora and GPS but I can’t run Lora in f1 without modifications due no connections for SPI CS, SPI RST and TXEN in f1. The GPS works in f0 but I need it for Lora. Any ideas?

Sketch uses 301153 bytes (22%) of program storage space. Maximum is 1310720 bytes.

Global variables use 17336 bytes (5%) of dynamic memory, leaving 310344 bytes for local variables. Maximum is 327680 bytes.

esptool.py v4.2.1

Serial port COM9

Connecting......

Chip is ESP32-D0WDQ6-V3 (revision 3)

Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None

Crystal is 40MHz

MAC: 24:6f:28:8f:7c:64

Uploading stub...

Running stub...

Stub running...

Changing baud rate to 921600

Changed.

WARNING: Failed to communicate with the flash chip, read/write operations will fail. Try checking the chip connections or removing any other hardware connected to IOs.

Configuring flash size...

Flash will be erased from 0x00001000 to 0x00005fff...

Flash will be erased from 0x00008000 to 0x00008fff...

Flash will be erased from 0x0000e000 to 0x0000ffff...

Flash will be erased from 0x00010000 to 0x00059fff...

Compressed 18912 bytes to 13025...



A fatal error occurred: Packet content transfer stopped (received 8 bytes)

A fatal error occurred: Packet content transfer stopped (received 8 bytes)





This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Figured it out. The Neo-M9 nReset module pin has an internal pull up and is connected to MTDI/IO12 on the ESP32. MTDI high sets the SDIO voltage to 1.8V instead of 3.3V which will obviously cause issues when writing code to a 3.3V flash chip. Cutting the trace on the GPS fixes the issue.

Sparkfun: please make note of this combo in the not working in the MicroMod double carrier documentation and add a jumper to the nReset line on the next run of Neo-M9N boards.