fhoedemakers / pico-infonesPlus

NES Emulator with SD card and menu support for the Raspberry PI Pico, Pico 2 and other RP2040/RP2350 based microcontrollers. Play your games from SD card on a HDMI display.
GNU General Public License v3.0
246 stars 26 forks source link

Add second NES controller port to PCB design #48

Open fhoedemakers opened 3 weeks ago

fhoedemakers commented 3 weeks ago

As of v0.13, two player games can now be played. However the PCB is not designed for an extra NES controller port. (Although it is easy to add a second port anyway).

It would be nice to add a second controller port to the design, so no extra wires need to be soldered onto the Pico.

Port 2 connection setup:

2plpcb

DynaMight1124 commented 3 weeks ago

It would be great if the PCB could be updated to remove the SNES port and replace with a second NES port for 2 player. I'd deffo build one and update my 3D Printed case. If someone does do that, I would also suggest that NES controller ports are moved so they are flush with the edge of the PCB as will make a case cleaner, also same with the Pico and SD Card board.

P.S. Not sure if you've seen, but looks like Aliexpress have cloned this and most likely using your software: https://www.aliexpress.com/item/1005007466998896.html

fhoedemakers commented 3 weeks ago

Hi,

I reached out to the designer of the PCB. I hope he has time for it.

Concerning the AlieExpress clones. I see a lot of Chinese vendors selling those clones, They do not reference the GitHub repo, so i guess the emulator is pre-flashed. Sigh...

Frank

fhoedemakers commented 2 weeks ago

@DynaMight1124 just a small update. I got a response from the designer of the PCB. He will change the design to add the second controller.

DynaMight1124 commented 2 weeks ago

Ah nice one, I'll order some new boards when they are released

fhoedemakers commented 1 week ago

This is the new design. Will now be tested. If all works fine, I'll send you/upload the gerber files.

image

DynaMight1124 commented 1 week ago

Looks good to me, happy to see the controller ports closer to the edge of the PCB. Hopefully the design works as intended, I'll orders some boards as soon as released.

fhoedemakers commented 1 week ago

@DynaMight1124 Got the boards today. I assembled one and it worked just fine. Below the gerber files. pico_nes_v2.0.zip

I will publish the design to my repository tomorrow. (PCB branch) Still need to make changes to the README though.

Good luck with your case design.

IMG_6007

jedgarpark commented 1 week ago

@DynaMight1124 your v1 case looks great, are you thinking of updating it for two player board I did?

jedgarpark commented 1 week ago

@DynaMight1124 I moved the ports to the edge as you noted, LMK if there are any other changes you'd suggest to better support the case design.

DynaMight1124 commented 1 week ago

@fhoedemakers I was snooping a little earlier and saw the PCB branch plus new gerbers so already ordered the new boards a few hours ago. Cheapest method from JLCPCB so probably be 10-14 days before I get them, now wondering whether to use a Pico2.

@jedgarpark Yeah I fully intend to update the case for the new PCB with 2 ports. I'll possibly need to remove the fake cartridge flap so may lose a little of the aesthetics but I'll probably have a play over the next week or so, see what works visually. It wasnt originally intending to make the design so NES like but the controller port like lined up so perfectly, probably spent twice as long adding the NES style details than the initial case :) Thank you for moving the ports and the overall PCB design.

fhoedemakers commented 1 week ago

I merged the PCB branch with the main branch. The new PCB design can be downloaded from the latest release (v0.17)

I modified the README with the latest info and mentioned that @DynaMight1124 is working on a new to be released case design.

I keep this issue open for further discussion on the case and pcb design.

Thanks @jedgarpark and @DynaMight1124 for the awesome work done!

DynaMight1124 commented 6 days ago

Been working on something new this afternoon. Mostly there! Uses the Waveshare RP2040-PiZero

PXL_20240907_190438362

fhoedemakers commented 6 days ago

Been working on something new this afternoon. Mostly there! Uses the Waveshare RP2040-PiZero

PXL_20240907_190438362

Cool! Looks awesome.

fhoedemakers commented 23 hours ago

John has made a video on the Adafruit YouTube channel. He also mentioned your 3D-design @DynaMight1124

DynaMight1124 commented 20 hours ago

Thats awesome. Its a great project, happy to add a little bit.

PCB's should be here end of next week. I'm aiming to have a 1 player and 2 player version, one similar to the current design (maybe identical if it fits!) with more NES like appearance and then the 2 player version with as much as I can get but I think the cartridge port and probably power buttons may need to go. See how it pans out.

jedgarpark commented 20 hours ago

Looking forward to your models @DynaMight1124 ! sorry, I put the P2 controller port on the right, so I don't think that'll work as the sole controller for a single player case -- it seems a controller plugged into P2 can pick and launch a game, but not actually control it. I tested on Super Mario Bros. so maybe this isn't always true. Edit: I could reverse the ports, but that may be confusing for two player use. Or I could make some sort of solder jumper / trace cut allowance on the board for people to semi-permanently switch it to single player use. Thoughts?

fhoedemakers commented 19 hours ago

I would stick to one design based on pcb V2.0 with nes P1 on the left and P2 to the right. Maybe with a removable cover on an empty P2 port for those who only want to play 1-player games. For owners of the original PCB I can always refer to the original case design.

Concerning the controllers: the menu listens to any controller, whether it is USB, nes or Wii. In emulator, I cannot determine which nes controller is connected and use that for P1. I can only detect whether an USB controller is connected. Therefore, when an usb controller is connected, this will always be P1, any connected nes controller (port 1 or 2), or Wii will be P2.

DynaMight1124 commented 17 hours ago

Ah yes, forgot about that. It is normal for P1 to be on the left so it is the correct setup. It just slipped my mind.

I'll design v2.0 PCB for both ports, but as 0.2 PCB is still on the repo, I can always leave the original design to cover that incase anyone really only wants 1 player.

Personally I'll probably never use 2 player but its nice to have. I was surprised how good the AliExpress aftermarket NES controllers felt, felt very responsive and really well priced. Its hard to compare to original controllers as they're all like 35-40 years old at this point so probably would feel a little softer anyway.