[Somewhat solved] NES outputs 4.6V on controller port instead of 5V which prevents Blueretro from functioning properly
EDIT: Thanks everyone for you help, that has been very instructive. I think I just have a very poor quality cable adapter. Given that Blueretro is mostly an opensource DIY project, I’ll make a cable adapter myself instead of trying to fix what would obviously not function properly.
Hi everyone,
First of all let me say that I’m a total noob in electronics (I really only know the basics) and I’m facing an issue that I really don’t know how to tackle.
I have bought a Blueretro NES adapter on Aliexpress (this one) and it does behave erratically when powered by the console alone (Bluetooth not working, LED indicator down, random outputs to the console).
When I’m powering via USB, everything function properly.
So I guessed that I might have a voltage issue on the NES side. I tested mine and make a few friend test theirs (5 in total including mine) and the result is still the same: the controller ports outputs between 4.6 and 4.8V instead of 5V.
The Blueretro itself apparently uses an AMS1117 (picture here) which, from my understanding, is stepping down 5V to 3.3V (wild guess, I don’t really know what it does, just quickly read the datasheet).
So, sorry for the long intro, here are my questions:
Is it wise to try to step up the voltage from the NES to the Blueretro from 4.6V to 5V? How would it be possible? Is it even possible?
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?
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.
Does the voltage you measure change when you connect via Bluetooth?
I can’t even connect via Bluetooth. The adapter is effectively not functioning at all: the green power LED indicator is functional but you can’t connect anything to it.
Do your measurements change when USB powered?
Measurements are 4.54V on input of the AMS1117 when powered through USB, output is 3.35V (which seems « normal »).
Does the 4.6V output from the controller drop when you connect over Bluetooth?
As stated before can’t even connect through Bluetooth.
Are you measuring the ports when something is connected or when the ports are open?
The 4.8V measured on the controller port are when nothing is connected.
Does your blueretro work on the ports of the other NES devices?
I unfortunately can’t test the other NES as I don’t have access to them. But I tested the same Blueretro Core on SNES, N64 & GameCube without any issues. From what I got, the SNES, N64 & GameCube controller ports are outputing 3.3V directly, not 5V.
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...
From what I got, the SNES, N64 & GameCube controller ports are outputing 3.3V directly, not 5V.
Doing a quick google, this excerpt about the GameCube is enlightening:
There are two power rails on the connector, a 3.43V supply that is probably used for the logic, and a 5V supply that appears to be used to power the rumble motor (and perhaps logic also).
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.