Jump to content
IGNORED

Pi Pico[W] Peripheral Expansion Box Side Port Device


JasonACT

Recommended Posts

2 hours ago, chue said:

The only thing that I can think I am doing differently is that I had let the console run a long time previously.  Maybe the console or the Pico was hot.

Just reproduced it.  First I ran the SAMS burn-in 3 times.  After that I ran the test cart using the steps I outlined previously.  It definitely hangs.  I will try on a different TI to see if it makes a difference.

  • Like 2
Link to comment
Share on other sites

I was able to reproduce the issue on the other TI (the beige one). I did not have to run the SAMS burn-in test, so I think we can rule out heat being an issue.

 

In trying to further narrow down the causes, I saw the lockups only if I used the bluetooth keyboard to run the test cartridge.  The lockup would not happen if I used the TI keyboard to run the tests; this is true even if the bluetooth keyboard and joystick were connected.

 

Link to comment
Share on other sites

16 hours ago, JasonACT said:

Does the issue get any better/worse if you change to 2NOPs and 256MHz?

I have not tried this yet, but will do so when I have a little time.  All prior testing has been at 250 mhz and 1 NOP.

Link to comment
Share on other sites

Sounds crazy but it seems to be CAPS LOCK on the bluetooth keyboard. If enabled (outputting uppercase) after connecting to the Pico, then when the prior test steps are run, the lockup usually happens.  If disabled, then the lockup doesn’t usually happen.

 

I still have to test at 256 mhz. 

  • Like 2
Link to comment
Share on other sites

3 hours ago, chue said:

Sounds crazy but it seems to be CAPS LOCK on the bluetooth keyboard. If enabled (outputting uppercase) after connecting to the Pico, then when the prior test steps are run, the lockup usually happens.  If disabled, then the lockup doesn’t usually happen.

Do you have a USB keyboard connected at the same time (less likely to have issues with one connected), if not can you connect one and see if it gets better?

Link to comment
Share on other sites

17 minutes ago, JasonACT said:

Do you have a USB keyboard connected at the same time (less likely to have issues with one connected), if not can you connect one and see if it gets better?

 

I cannot at the moment as I don't have an OTG adapter / USB hub.  Will look at picking those up.

  • Like 1
Link to comment
Share on other sites

I can't see any undesirable connection with CAPS LOCK from BT to the USB code I'm reusing, so it will be good if you can also test without the BT keyboard, but using a USB keyboard only instead - so see if it's some other code (in the USB area).

 

I'm still unable to reproduce the issue.  I do see some things I've overlooked - like I initialise the lock states & LEDs on a USB keyboard, but BT doesn't get that done so CAPS LOCK is not enabled by default...  So I'm fixing that now.  I'm also adding code to see if I can send the same HID command to the BT keyboard for LED statuses (but my BT keyboard doesn't have an LED - actually neither does the USB keyboard I normally use since it's wireless too using a dongle - but I did try another normal corded one yesterday).

 

You may be a guinea pig for my attempts, if it doesn't have any weird effects on my devices.

  • Like 1
Link to comment
Share on other sites

1 hour ago, chue said:

I cannot at the moment as I don't have an OTG adapter / USB hub.  Will look at picking those up.

OK, they are worth having, but don't spend any money for testing this if you don't want to...  I was playing with Myarc XB2 (with CALL PASTE) and with my latest changes, which I had previously written about it not working like other BASICs, I'm seeing it lock up which simply shouldn't happen.

 

It's using all the same key code injection, so I think it could be the same issue...  And I can work on it here now, before you commit to buying anything you don't need.

 

Actually, I only really started looking at the Myarc stuff again because I retried the "Return to Pirate's Isle" "SOCI." printer device (WiFi Socket Out/CRU In) and it was unstable with some mods I had done previously for various BASICs (a speed issue, not the same as this one, but with the changes to get that working I went back to Myarc).

  • Like 1
Link to comment
Share on other sites

Posted (edited)
3 hours ago, Archimedes5000 said:

Hello, I think I missed this, but are there already Gerber files to make a circuit board? I would have it done at JLCPCB after my vacation. There are always at least 5 there. Perhaps someone else is interested. Greetings Axel

in the initial post #1 the gerbers are included for the single PSRAM chip version - the one mostly being tested by Chue here. Also later around page 12 is a file called PPEB3.zip that has the gerber for the two PSRAM version.

I have some of the first bare boards, blue in color, for $6 + shipping if your in the US? I do have some of the second board, but not ready to try to release any yet as the first I built is not functioning yet. Don't know if it's due to a small modification I did before production or the PSRAM I'm using,

Edited by RickyDean
added content
  • Like 2
Link to comment
Share on other sites

3 hours ago, Archimedes5000 said:

Hello, I think I missed this, but are there already Gerber files to make a circuit board?

I believe there are 3 released gerbers:

 

V2: https://forums.atariage.com/topic/358129-pi-picow-peripheral-expansion-box-side-port-device/

V2.1: https://forums.atariage.com/topic/358129-pi-picow-peripheral-expansion-box-side-port-device/?do=findComment&comment=5403250

 

V3: https://forums.atariage.com/topic/358129-pi-picow-peripheral-expansion-box-side-port-device/?do=findComment&comment=5430259

 

I have built V2 and V2.1, and recommend the latter.  No one seems to have built a working V3 yet, although RickyDean is attempting to.

 

  • Like 2
Link to comment
Share on other sites

5 hours ago, JasonACT said:

OK, they are worth having, but don't spend any money for testing this if you don't want to

I see some cheap all-in-ones on Amazon, which have an OTG adapter and powered USB hub in the same unit.  I will likely pick one up but it may take a few days to arrive.

  • Like 2
Link to comment
Share on other sites

Posted (edited)
45 minutes ago, dhe said:

So, if I want to build a board like this: (latest right?)

image.png.6aa1bee7d3d53d4ee723af957d1b8d67.png

What Gerbers do I need and is there a BOM?

 

Thanks!

This is the version 2.1, @dhe, the one I showed you was version 2, my bad on the mis-identification. The only difference between the two is the removed resistor at R4 and the placement of the resistor from pin 6 of the PSRAM to the SD card. V2.1 incorporates those changes into the design. V3 is the one with the pads for two PSRAMS so that you can gain a larger SAMS 8mb vs. 2mb. The BOM is in the PPEB2.zip in the PPEB2.ino file

It goes like this:

BOM

J1 = 22x2P / 44 pin, 2.54mm / 0.1" 3A * 240-44 (industry standard edge connector)
S1 = Surface Mount Micro SD Card Socket (E.G. uxcell spring loaded Push/Push type)
U1 = Pi Pico W
U2 = AP6404L-3SQR (tested), ESP-PSRAM64H, Lyontek LY68L6400 or IPUS IPS6404 (untested)
U3, U4, U5 = 74LVC245
U6 = 74HC138
R1, R2, R3, R4 = 10K Ohm
R5 = 560 Ohm
R6 = 100 Ohm
R7 = 1.8K Ohm
Q1, Q2, Q3 = 2N7000
C1 = 1uF (bipolar)
C2 = 100uF (bipolar - original spec was 47uF, but I had trouble getting small low voltage ones and used a 6V polarised one)
C3 = 100nF (bipolar)

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Building the board...  A small or fine soldering iron tip is required, often cleaned by quickly wiping on a folded tissue.  A flux pen will be invaluable.
Surface mount items should be done first, in this order:
- SD Card Socket, tin (pre-apply solder) to the pins ensuring any excess is removed, position the socket on the board and with a clean soldering tip apply heat to each pin to join.
- SD Card Socket, 4 corner pads - not pre-tinned, so they lie as flat as possible - can now be soldered down with flux-core-solder to secure the socket in place.
- 8MB PSRAM 8 pin chip - same as above, pre-tin (and remove excess) and with a clean iron tip and holding down the chip with a little pressure, join each pin to the board in turn.
- The Pi Pico W, position it and solder one corner pad in place, and while kept hot with the solding iron, manoeuvre it into precise position, then finish off all the other pins.
- All other components - they are easier.  Generally, do one "through hole" leg first, then while pressing down on the component, reheat it to settle it in place.  Finish the other pins.
 

Edited by RickyDean
  • Like 3
Link to comment
Share on other sites

Just a couple of notes on the BOM:

 

S1 - I used this one from Mouser it is the correct size and has the correct number of pins, but the eject mechanism is a little weak:

https://www.mouser.com/ProductDetail/CUI-Devices/MSD-1-A?qs=Z%2BL2brAPG1Ip18XLC4tUPQ%3D%3D

 

R4 - should be 470, not 10K

Edit: for V2, do not put the resistor at R4. Instead it requires a bodge. I would not recommend the V2 board.  Go with V2.1 or if you are adventurous, V3.

 

C2 - I used a 47uf 16V smd cap (size 1210), but it looks like 100uf works as well

 

All of my resistors are 1/8 watt through hole, EXCEPT R4 which is an SMD size 0805.  You can of course use a through hole resistor for R4.

  • Like 2
Link to comment
Share on other sites

Either of you have mouser or digikey part numbers to go with the bom?

 

Any want bare boards? I will probably have to get 5 if I order from OSH park. - it looks like v2.1 is the safe bet now.

 

Link to comment
Share on other sites

BOM - Missing a few things, as I already had them on hand.  Purchased from Mouser, Digikey, Aliexpress, others.

 

J1 = 22x2P / 44 pin, 2.54mm / 0.1" 3A * 240-44 (industry standard edge connector)

https://www.aliexpress.us/item/2255800304077367.html

(you have to choose the 2x22 option)

 

S1 = Surface Mount Micro SD Card Socket

https://www.mouser.com/ProductDetail/CUI-Devices/MSD-1-A?qs=Z%2BL2brAPG1Ip18XLC4tUPQ%3D%3D

 

U1 = Pi Pico W

???

 

U2 = AP6404L-3SQR

https://www.mouser.com/ProductDetail/878-APS6404L-3SQR-SN

 

U3, U4, U5 = 74LVC245

https://www.digikey.com/en/products/detail/texas-instruments/SN74LVC245AN/377483

 

U6 = 74HC138

https://www.digikey.com/en/products/detail/texas-instruments/SN74HC138N/277221

 

R1, R2, R3 = 10K Ohm

https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF18JT10K0/1741566

 

R4 = 470 Ohm

https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF18JT470R/1741717


R5 = 560 Ohm

https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF18JT560R/1741738


R6 = 100 Ohm

https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF18JT100R/1741562


R7 = 1.8K Ohm

https://www.digikey.com/en/products/detail/stackpole-electronics-inc/CF18JT1K80/1741557


Q1, Q2, Q3 = 2N7000

https://www.digikey.com/en/products/detail/diotec-semiconductor/2N7000/13164314


C1 = 1uF (bipolar)

???


C2 = 47uF (bipolar) (SMD - you may substitute through hole if you prefer)

https://www.digikey.com/en/products/detail/murata-electronics/GRM32EC81C476KE15L/5027615


C3 = 100nF (bipolar)

???

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

6 hours ago, dhe said:

Either of you have mouser or digikey part numbers to go with the bom?

 

Any want bare boards? I will probably have to get 5 if I order from OSH park. - it looks like v2.1 is the safe bet now.

 

hand up

  • Like 1
Link to comment
Share on other sites

Initial testing looks good, I haven't seen it crash yet.  The following all worked for me:

- network clock was fine returning the correct date and time

- SAMS burn-in ran successfully 3 times

- Loading of zipped carts was fine

- bluetooth keyboard paired and worked ok

- my test cart "snazzle" ran fine with and without CAPS LOCK enabled on the bluetooth keyboard. I noticed that 

CAPS LOCK is on by default now, which is great. 

- my test cart is multi-bank, so bank switching works

- I was able to run a "Super Space" cart, so cart RAM at 6000 works fine

- I was able to load a file from a directory on the SD card so disk emulation looks good.  I did not try disk images

 

My TODO list:

- I have to test to see if the bluetooth joystick is still ok - I did pair it with the Pico and that was fine.

- More testing with my test cart and the keyboard

- I did notice that the CAPS LOCK LED worked ONE time after I paired the keyboard again.  Afterwords it stopped working.  I will see if I can figure out if it turns on in other scenarios.

- I ordered an OTG adapter and USB hub, so will see what I can break when that arrives.

- I have a compiled XB program that still is crashing and want to investigate

 

 

  • Like 2
Link to comment
Share on other sites

34 minutes ago, chue said:

I did notice that the CAPS LOCK LED worked ONE time after I paired the keyboard again.  Afterwords it stopped working.

That was my best guess :( I'll have to borrow a BT keyboard to get it working properly.

Link to comment
Share on other sites

I got access to more BT keyboards.  But things are not great, one was a BT5 (5.1 I think) device which didn't work at all until I started up more BT(LE) library code, which is very "chatty" and screws with the PS4 controller connection.  I can get the GamePad to connect, just by trying again and again, but getting the PS4 GamePad, BT3-keyboard/mousepad & BT5 keyboard devices all connected at the same time is almost impossible (almost, but I've had it all going now a few times).

 

So, to make it more friendly, I've created a new config entry "BT5KB=" for the MAC address of the BT5 keyboard (not specifying it will ensure the extra library functions are not enabled).

 

The Pico-W BT examples didn't have keyboard LED code, but I've got that working now too on both types of keyboard I have access to - I had to alter the pre-compiled library for the BT5 keyboard to work, due to some sort of state machine bug, and an example I looked at (for BT5) was missing code to make re-connections work (I.E. I pull the battery out, then put it back in, and I expect it to reconnect - but the example code failed without my extra code change).

 

It's all very "BETA", I've decided...  But new firmwares attached.

PPEB2.zip

  • Like 3
Link to comment
Share on other sites

Testing done on the latest firmare:

 

- network clock was fine returning the correct date and time

- SAMS burn-in ran successfully 3 times

- Loading of zipped carts was fine

- bluetooth keyboard paired and worked ok

- bluetooth joystick paired and worked ok

- my test cart "snazzle" ran fine with and without CAPS LOCK enabled on the bluetooth keyboard. I could not get the TI to crash even after many "runs" of the test cart and varying scenarios with the CAPS Lock enabled/ disabled.

- my test cart is multi-bank, so bank switching works

- I was able to run a "Super Space" cart, so cart RAM at 6000 works fine

- I was able to load a file from a directory on the SD card so disk emulation looks good.  I did not try disk images

- Bluetooth keyboard LEDs (CAPS lock, NUM lock) only working after the initial pairing. LEDs do not work on Subsequent connections.  Same behavior with and without additional USB keyboard connected.  If I delete the pairing and then pair again, same thing.  Works when initially paired but not on subsequent connections.

- I was unable to connect the keyboard using bluetooth 5 so I did not test the additional bluetooth libraries. This is probably just a problem with my particular keyboard.  Long story short, I am unable figure out the bluetooth MAC address without pairing it to my Windows laptop.  To pair it to the Pico I need to unpair the keyboard from Windows; at this point the keyboard randomizes (changes) the bluetooth MAC address.

- USB connected keyboard LEDs seem to always work.  I tried two different scenarios - one with another USB (non-bluetooth) keyboard, the second with the same bluetooth keyboard using a USB connection. 

 

My TODO list:

- I have a compiled XB program that still is crashing and want to investigate

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...