Given that the Blueretro is taking 3.3V apparently, is it possible to step down from 4.6V to 3.3V instead? Is it wiser than stepping up?
That’s what the AMS1117 you identified does! One of the pins on that IC will be the 4.6V input, one will be the 3.3V output. Looking at the datasheet it has a dropout (minimum vin-vout) of 1.3V meaning that voltage regulator doesn’t have much margin…
Power issues/brownouts do seem like a possible explanation. Great job at tracking the issue down as far you did, but I think it’s a bit to early to jump to the conclusion that that is definitely the issue.
-
What’s is the voltage you measure on the AMS1117?
-
Does the voltage you measure change when you connect via Bluetooth?
-
Do your measurements change when USB powered?
-
Does the 4.6V output from the controller drop when you connect over Bluetooth?
-
Are you measuring the ports when something is connected or when the ports are open?
-
Does your blueretro work on the ports of the other NES devices?
My hunch is the ports don’t output enough current for reliable Bluetooth which isn’t going to be fixed without some NES surgery… You might be better off just using the USB power.
There’s your problem! The BLE chip isn’t getting enough voltage, likely because you’re overloading the port with that device requiring more current than the NES port can supply…
I don’t know enough about the NES to walk you through how to mod it to increase the available current, and I’m unfortunately not seeing any immediately available guides on the problem your facing but your two options would be to see if there’s some current limiting inside the NES for those ports (and risk full device brownouts, overloading, damage to power further upstream) or isolate the existing power rail and essentially replace it with the USB power adapter… Or just use the external power adapter…
Doing a quick google, this excerpt about the GameCube is enlightening:
I’m willing to bet the 5V for the rumble is what is being used to power that module as it had significantly higher current capacity and would explain why it works on that device but not the NES.