GP2040-CE
GP2040-CE copied to clipboard
Pin Viewer is unable to show GPIO 23, 24, 25, 29
Prerequisites
Please check the following before posting an issue / bug report.
- [X] I am running the latest version of the firmware found HERE
- [X] I have checked the documentation HERE and found no answer
- [X] I checked to make sure that this issue has not already been filed HERE
- [X] I am reporting the issue to the correct repository
Context
- Firmware Version: GP2040-CE_0.7.7_RP2040AdvancedBreakoutBoardUSBPassthrough.uf2
- Name of device: RP2040 Advanced Breakout Board Version 5.5e Passthrough Edition
- Link to where you purchased the device: JLCPCB
- Is this a custom build?: No
- Operating System: Windows 11
- Browser: Google Chrome
Expected Behavior
When using the Pin Viewer function at http://192.168.7.1/pin-mapping I expect the pin viewer to confirm whenever a GPIO pin connects to ground/a button is pressed.
Current Behavior
When using the Pin Viewer function, the pin viewer displays the pin corresponding to the pressed button, except for GPIO 23, 24, 25, and 29. For each of those four pins, the pin viewer times out waiting for an input and it appears that any button presses occurring on those pins simply do not register.
Steps to Reproduce
- Move the USB slide switch from "USB" to "Options"
- Connect wires to a known working button, wire the button to G and 23.
- Navigate to the Web Configuration tool, pin mapper, then press the pin viewer button.
- When prompted for a button press, press the button connected to G and 23. The pin viewer will not respond and will eventually time out.
- Assign an input to Pin 23, e.g., "up", save, and reboot in controller mode.
- Navigate to a gamepad tester.
- Press the button and watch as the pin delivers the desired input notwithstanding that the pin viewer was unable to detect it.
Repeat the steps above for pins 23, 24, 25 (with the LED slide switch configured correctly), and 29.
Screenshots & Files
Video of the pin mapper failing to register on Pin 23: https://cdn.discordapp.com/attachments/1049370387563163731/1212664412083716107/Pin_viewer_failure.mp4?ex=65f2a8be&is=65e033be&hm=01bc576ea0be3e621fa0347b5da4405ee5b4e538a93b1cfb24b62851dad12e42&
Video of the button press succeeding notwithstanding that the pin is invisible to the Pin Viewer: https://cdn.discordapp.com/attachments/1049370387563163731/1212664506820329492/Button_press_success.mp4?ex=65f2a8d4&is=65e033d4&hm=52705a5b0dfbd714d712e0f3c0bd175e10332740a8fd4c997bb14f95b5905105&
@CapnHawke are all of those pins assigned to addons elsewhere in the config?
@CapnHawke are all of those pins assigned to addons elsewhere in the config?
~~At the time I originally found this issue, I had pin 23 and 24 used by the USB Host.~~
CORRECTION: I just reviewed my original post. Please forgive my bad memory. Given that part of my process for pin 23 was to assign it to an input, I assume I had released the USB host. The video showing the button working (assigned to up) used pin 23. I think that would only be possible if Pin 23 had been released.
/Correction
As to pin 25, I am unsure how to best answer the question. Pin 25 looks to be mapped to the On-Board LED in the add-on configuration menu. I have not found a way to select any other pin, or to release the pin assigned to that function. Unlike other add-ons, there is not a field available to enter a pin number. I first experienced this issue nine days ago, and I do not remember whether I was experiencing it at a time when the On-Board LED addon was enabled or disabled. So I tested again today.
Pin 29 was not and never has been mapped to an add-on while experiencing this issue.
Today's test:
- Flash Nuke
- Install new instance of GP2040-CE_0.7.7_RP2040AdvancedBreakoutBoardUSBPassthrough.uf2
- Navigate to web config
- Test pin mapper, confirm that 23, 24, 25, 29 are not detected.
- Navigate to USB Host configuration field, assign pin to -1.
- Disable USB Host.
- Test pin mapper, confirm that 23, 24 continue to be undetected.
- Verify that the On Board LED in add-ons is disabled.
- Test pin mapper, confirm that 25 is undetected.
- Test pin 29, confirm that it is undetected by the pin mapper.
- Search through add-ons to confirm that pin 29 is not assigned to anything. (as expected in a fresh instance of the firmware)
- Just for fun and information searching, map pin 29 to turbo.
- Test pin 29. It is still undetected by the pin mapper.
If you reboot the webconfig mode after step 6, does that make 23 and 24 work in the pin mapper?
Just ran through the steps from the beginning, saved, and rebooted into web config after step 6. Pin viewer still does not show these pins.
To be clear, the pins do function.
Odd, but we'll continue to investigate.
I have an update on this, isolating the issue.
- Flash Nuke
- Install fresh instance of 0.7.7 firmware
- Navigate to Web Config.
- Click Pin Viewer, and test pins 23, 24, 25, and 29. Observe that they are not detected, the Pin Viewer times out.
- Disable addons using pins 23, 24, and 25.
- Map inputs to pins 23, 24, 25, and 29. It doesn't seem to matter what. Could be DDI directions, could be B1-B4.
- Save.
- Restart Board in web config mode.
- Test pin viewer, and observe that pins 23, 24, 25, and 29 are detected by the pin viewer.
- Remove the mapped inputs on 23, 24, 25, and 29, assigning them to "none."
- Save.
- Restart board in web config mode.
- Test pin viewer, and observe that pins 23, 24, 25, and 29 are once again not detected by the pin viewer.
It appears that the pin viewer is unable to detect pins 23, 24, 25, and 29, when they are not mapped to a function in the pin mapper. However, the pin viewer is able to detect other unmapped pins. For example, pins 26, 27, 2, and 3 can all be detected even when they have no assignment to any function.
those pins are not useable it seems 23,24,25
perhaps its better to grey them out in the mapping tool
those pins are not useable it seems 23,24,25
perhaps its better to grey them out in the mapping tool
Thank you for your interest but this is not the hardware being discussed. The PCB in question is designed differently and can access those pins.
those pins are not useable it seems 23,24,25 perhaps its better to grey them out in the mapping tool
Thank you for your interest but this is not the hardware being discussed. The PCB in question is designed differently and can access those pins.
I wanted to add more buttons to my hitbox, thinking 23,24,25 are available, but they are not.
after looking into it for a while led me to this: https://github.com/pinout-xyz/pico.pinout.xyz/issues/13
from the schematics posted there, GPIO23,24,25,29 all have hardware purpose and are thus wired differently for their purpose, might not be related to your problem, but seems like too big of a coincidence
the current firmware shows pin 25 as customisable, rest as addons, but thats most likely not true as you won't be able to connect a button to 25
I wanted to add more buttons to my hitbox, thinking 23,24,25 are available, but they are not.
after looking into it for a while led me to this:
https://github.com/pinout-xyz/pico.pinout.xyz/issues/13
from the schematics posted there, GPIO23,24,25,29 all have hardware purpose and are thus wired differently for their purpose,
might not be related to your problem, but seems like too big of a coincidence
the current firmware shows pin 25 as customisable, rest as addons, but thats most likely not true as you won't be able to connect a button to 25
You may simply need a different PCB. The schematic for the PCB being discussed in this issue is pictured here.
The buttons which have been mapped to these pins function just fine. They also show up in the pin viewer after they have been assigned to an input. The sole issue is that while these pins are not assigned, they are not visible to the pin viewer while other pins are.
I wanted to add more buttons to my hitbox, thinking 23,24,25 are available, but they are not. after looking into it for a while led me to this: pinout-xyz/pico.pinout.xyz#13 from the schematics posted there, GPIO23,24,25,29 all have hardware purpose and are thus wired differently for their purpose, might not be related to your problem, but seems like too big of a coincidence the current firmware shows pin 25 as customisable, rest as addons, but thats most likely not true as you won't be able to connect a button to 25
You may simply need a different PCB. The schematic for the PCB being discussed in this issue is pictured here.
The buttons which have been mapped to these pins function just fine. They also show up in the pin viewer after they have been assigned to an input. The sole issue is that while these pins are not assigned, they are not visible to the pin viewer while other pins are.
I am only using the standard pico board
from its documentation, the pins you are having problems with are listed as internal use
i can't find the wiring diagam for the breakout board, thus cannot confirm if they share these uses
found it, 25 is the LED the rest are OPTIONS
don't know what they are for tho
found it, 25 is the LED the rest are OPTIONS
don't know what they are for tho
GPIO 25 can be used for other things too. I suggest we leave the "issue" alone and you can join the GP2040-CE discord if you are interested in learning more about what your basic pico can do, and what the RP2040 Advanced Breakout Board (and its revisions) can do. The capabilities of these boards are maybe a discussion better had somewhere else. Same with your controller.
https://discord.gg/openstickcommunity-1049366310389289001
Here's the issue: