Skip Navigation

[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?

Thanks in advance and sorry for the long post :)

14
14 comments
  • I don't have specific experience with game consoles, but the erratic behavior when powered by the console suggests that the port's voltage is sagging when the Blueretro is attached, possibly lower than what the AMS1117 can tolerate.

    A quick search seems to show that the AMS1117 has a minimum dropout voltage of 1v. So for 3.3v output, the input must not drop below 4.3v. Other Low Dropout (LDO) regulators could have a smaller dropout voltage, but that might not be the root-cause.

    It's possible that without load, the port provides 4.6-5v. But when loaded, it dips below 4.3v, producing the behavior you see. The problem then becomes: is it the NES that's not providing sufficient current on the voltage bus, or is it the Blueretro trying to draw too much current?

    Are you able to measure the port's voltage bus when the Blueretro is attached? That would help prove if the bus is sagging. Does the Blueretro allow you to use USB power when plugged into the console?

  • 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.

    • What’s is the voltage you measure on the AMS1117?
      

      3.53V on input, 2.61V on the output.

      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.

      • 3.53V on input, 2.61V on the output.

        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.

  • Let me chime in with a few thoughts, can't go into full detail since I'm currently traveling and on my phone:

    1. It should be possible to power the BlueRetro using the controller port only. IIRC, the controller pins providing power are directly connected to the internal NES regulator, so with enough headroom to spare, you should be good to go. Eventually, this will depend on the firmware of the ESP-WROOM module used by the BlueRetro (max. current draw for the ESP32 should be around 250mA with all peripherals enabled and transmitting, I'd expect the BlueRetro to use quite a bit less in normal operation). That's also what the 8BitDo is doing, running at around 100mA.

    If you look at YouTube videos, you'll also find one or two people running the BlueRetro directly off of the port.

    1. Where did you get the level shifter cable from?

    2. I'd also like to know the results of your voltage measurement in operation

    3. If push comes to shove and you decide to replace the LDO, the TLV1117LV made by TI would be a potential candidate, should be a drop-in replacement with better specs (price is about $0.30)

    • It should be possible to power the BlueRetro using the controller port only. IIRC, the controller pins providing power are directly connected to the internal NES regulator, so with enough headroom to spare, you should be good to go. Eventually, this will depend on the firmware of the ESP-WROOM module used by the BlueRetro (max. current draw for the ESP32 should be around 250mA with all peripherals enabled and transmitting, I’d expect the BlueRetro to use quite a bit less in normal operation). That’s also what the 8BitDo is doing, running at around 100mA.
      

      That’s what I thought too. I originally ordered 4 cables (NES, SNES, N64 & GC). I only had troubles with the NES so I decided to just get a replacement. But the replacement has the exact same behaviour, so this is either an issue with my NES or the cable is not designed properly for PAL NES.

      Where did you get the level shifter cable from?
      

      What do you mean by that? The cable itself? It’s from Aliexpress.

      I’d also like to know the results of your voltage measurement in operation
      

      As stated below:

      • 4.8V on the controller port itself
      • 4.6V inside the cable adapter without Blueretro Core attached
      • 3.9V inside the cable adapter with Blueretro Core attached
      • 3.53V on input, 2.61V on the output of the AMS1117 when powered by the console only (and the Core itself is not functional that way)
      If push comes to shove and you decide to replace the LDO, the TLV1117LV made by TI would be a potential candidate, should be a drop-in replacement with better specs (price is about $0.30)
      

      Will it change something when the input power is so low? I feel like I might as well connect the 5V rail directly to the 3.3V input on the Blueretro…

You've viewed 14 comments.