Picofly AIO Thread

KingMo5h

Active Member
Newcomer
Joined
Mar 12, 2023
Messages
26
Trophies
0
Age
33
XP
139
Country
Germany
If those mosfet is alone in there without the gate connected, only the Vds and GND connected to the apu cap, in your experience what are the possible Vgs might be in there, that we could use as a base of calculation?
I just use the maximum value the mosfet (Vgs) could hold as bases of calculation.


You’re correct, my mistakes.
This is the rough idea in my mind:

View attachment 373523From that diagram, if i use R 300kOhm then the parallel, assume the internal pulldown 65kOhm, is 53kOhm. It seems wrong using 300kOhm as pull down resistor in there, my guts told me that.

You seem expertise on this field. I rather interesting on your analysis for the pull down resistor we could use?
Normaly the most used value for the pull down resistor is between 5k and 10k. I never saw someone using any deep calculation for this. Have done a few electronic layouts with 10k ohm, was never an issue.
 

abal1000x

Well-Known Member
Member
Joined
Jun 5, 2022
Messages
1,063
Trophies
0
XP
1,373
Country
Gaza Strip
Normaly the most used value for the pull down resistor is between 5k and 10k. I never saw someone using any deep calculation for this. Have done a few electronic layouts with 10k ohm, was never an issue.
Yes me too. Usually use 4.7k, 5k, 1k, 10k. Thats why, my instinct says its around that value.
Post automatically merged:

normal play. hekate, restart, ofw and i get error. i used its sd in another switch and its booting hekate with no error.
How about, plug off the sdcard. Goes to nosd, push vol+ and vol-.
I suspect the voltage in sdcard module got disturbed. Maybe because the mosfet, or short circuit of some of the cable (i assume you secured it all).
 
  • Like
Reactions: Phantomas77

WalangAlam

Well-Known Member
Newcomer
Joined
Feb 6, 2012
Messages
70
Trophies
1
XP
366
Country
Switzerland
Yes me too. Usually use 4.7k, 5k, 1k, 10k. Thats why, my instinct says its around that value.
Post automatically merged:


How about, plug off the sdcard. Goes to nosd, push vol+ and vol-.
I suspect the voltage in sdcard module got disturbed. Maybe because the mosfet, or short circuit of some of the cable (i assume you secured it all).

Yes me too. Usually use 4.7k, 5k, 1k, 10k. Thats why, my instinct says its around that value.
Post automatically merged:


How about, plug off the sdcard. Goes to nosd, push vol+ and vol-.
I suspect the voltage in sdcard module got disturbed. Maybe because the mosfet, or short circuit of some of the cable (i assume you secured it all).
i get error 2002 4373 in ofw or after pressing vol, then nintendo logo
 

Phantomas77

Well-Known Member
Member
Joined
Dec 19, 2022
Messages
284
Trophies
0
XP
718
Country
Italy
Yes me too. Usually use 4.7k, 5k, 1k, 10k. Thats why, my instinct says its around that value.
Come on abal, how come you switched from the Pico to INSTINCT? :O:D
Post automatically merged:

i get error 2002 4373 in ofw or after pressing vol, then nintendo logo
Found this and this for you with a simple google search. I suggest you to try it.
 
Last edited by Phantomas77,

Bradlin

Member
Newcomer
Joined
Apr 16, 2021
Messages
17
Trophies
0
XP
132
Country
France
I see in the board_detect code of the firmware that the WaveShare RP2040 Zero board is detected by enabling the pull-up resistor for GPIO 25, and testing if it stays low.

Thus I assume that GPIO 25 is grounded on that board, but nothing in the datasheets say so. I also saw some people saying that the GPIO25 pad should be bridged to the neighbour pad, which is GND, which would ground it and make the detection code detect the board correctly.

So how is the detection code supposed to work? Is the bridging necessary? I see that the fallback option of the detection code sets the board to BOARD_WS, so if every other test fails, the WaveShare board is assumed. But since I'll do an installation soon, I will bridge GPIO25 to GND just to be safe. Or maybe hardcode the board type in the firmware and recompile, though I'd need to recompile firmware updates too which sucks.
 

blackheartme

Well-Known Member
Newcomer
Joined
May 28, 2021
Messages
51
Trophies
0
Age
35
XP
276
Country
Indonesia
i get error 2002 4373 in ofw or after pressing vol, then nintendo logo
if you cant enter ofw mustve been something wrong with your solder, check one by one for shorts take photos as well to post here, also what light code the pico gives?

try disconnect all solder to rp2040, ofw still not booting up?
 
  • Like
Reactions: WalangAlam

abal1000x

Well-Known Member
Member
Joined
Jun 5, 2022
Messages
1,063
Trophies
0
XP
1,373
Country
Gaza Strip
I see in the board_detect code of the firmware that the WaveShare RP2040 Zero board is detected by enabling the pull-up resistor for GPIO 25, and testing if it stays low.

Thus I assume that GPIO 25 is grounded on that board, but nothing in the datasheets say so. I also saw some people saying that the GPIO25 pad should be bridged to the neighbour pad, which is GND, which would ground it and make the detection code detect the board correctly.

So how is the detection code supposed to work? Is the bridging necessary? I see that the fallback option of the detection code sets the board to BOARD_WS, so if every other test fails, the WaveShare board is assumed. But since I'll do an installation soon, I will bridge GPIO25 to GND just to be safe. Or maybe hardcode the board type in the firmware and recompile, though I'd need to recompile firmware updates too which sucks.
The detection is accomplished by acquiring the detection pin value (as input) whether it is returning low (0) while pulling it up (1).

WaveShare doesn’t have detection point (thats why it lay on the `else` part of the if..elseif..else. Also if gpio 25 grounded, means it mustbe WaveShare, because no other board grounded gpio25. The scenario when gpio25 grounded, is when we want to shift the color code which is only happened on waveshare board. There are two kind of WaveShare board on the market, it could be detected with the color after flashing the firmware. Since the error code detected by the color code in the beginning, thats why its important. But now its deprecated, now the error code based on pulse not on color code.

The bridging is not necessary. So if i were you, i wont grounded the gpio25.

The other detection is obvious.
Xiao detect if pin 2 is low (0). The low voltage given by pin 1 programatically.
Itsy detect if pin 2 is low (0). The low voltage given by pin 3 programatically.
Pico detect if pin 22 is low (0) by grounding it.
Sqc detect if pin 17 is low (0) by grounding it.

For xiao and itsy eventhough the pin detected by the same gpio, its okay because the low level voltage are given by different pin.
 
Last edited by abal1000x,

LogicalMadness

Well-Known Member
Member
Joined
Nov 3, 2014
Messages
287
Trophies
0
Age
41
XP
690
Country
United States
Normaly the most used value for the pull down resistor is between 5k and 10k. I never saw someone using any deep calculation for this. Have done a few electronic layouts with 10k ohm, was never an issue.

The cheap, knockoff, flex cables I used to use had 1k resistors for pull down.
 

karatefeet

Well-Known Member
Newcomer
Joined
May 18, 2023
Messages
89
Trophies
0
XP
456
Country
Canada
Most likely it would be shorted Dat0 or Rst solder point, its hard to spot because its very near others point (ussually ground on emmc metal shield). For cmd, clk its easy to spot.
Try to undo all rp2040 solder point, leave the cable hanging, then power on, if stil bsod then remove the wire form apu caps and try again, if still bsod then undo all solder point on mainboard and clean every pad with flux until its clean.
If after cleaning all bassically start from zero again and you still get bsod then it might be some component is broken. Try to clean the pads once again but this time with care, to make sure use macro camera to confirm all clean.
9 out of 10 it should be able to boot.

Tips: On Lite most often than not I use 0.1 enamel wire to install Dat0 point, that alone makes a whole thing much much easier.
You can bend the cable this way to avoid any short on Dat0, And make sure the wire tip is not touching metal shield.
Yes, I have removed all wires to the points along with the ones on the cpu caps. Cleaned up everything and none of the points are lifted but still get blue screen immediately after turning on.

This happened after my first attempt at installing using a single mosfet. I used 0.3 mm wire which was hard to work with but read it was recommended in this thread. On first power on, the RP2040 led was blue and then went off. Subsequent power on attempts were all blue screen with the RP no longer lighting up. I was curious and even swapped the RP chip to another board just to figure out if it was the chip and turns out the gold component labelled NTK 12.000E below the chip was bad. I actually swapped it from another board to confirm. Anyone know what component it is?
Mosfet I used was IRFHS8342 and now I am gun shy about trying again tbh.

Will now check for any shorts and get some diode readings for Dat0 and the other points. Hopefully I can fix this lite, pretty bummed now...
 

QuiTim

Well-Known Member
Member
Joined
Mar 30, 2023
Messages
756
Trophies
0
XP
1,161
Country
Albania
Yes, I have removed all wires to the points along with the ones on the cpu caps. Cleaned up everything and none of the points are lifted but still get blue screen immediately after turning on.

This happened after my first attempt at installing using a single mosfet. I used 0.3 mm wire which was hard to work with but read it was recommended in this thread. On first power on, the RP2040 led was blue and then went off. Subsequent power on attempts were all blue screen with the RP no longer lighting up. I was curious and even swapped the RP chip to another board just to figure out if it was the chip and turns out the gold component labelled NTK 12.000E below the chip was bad. I actually swapped it from another board to confirm. Anyone know what component it is?
Mosfet I used was IRFHS8342 and now I am gun shy about trying again tbh.

Will now check for any shorts and get some diode readings for Dat0 and the other points. Hopefully I can fix this lite, pretty bummed now...
Very good that you went through with it and identified the damaged component. Now we all learn something :)
Btw the component is a crystal oscillator used to provide a clock signal
 

MegaDeKay

Well-Known Member
Newcomer
Joined
Apr 10, 2023
Messages
49
Trophies
0
Age
59
XP
201
Country
Canada
WARNING: This is too technical and I spent far too much time writing this up for something that doesn't matter too much, but it was a fun thing to do while sipping on my morning coffee. Please read it that way :D

The resistor is placed as a safety precaution, when the G mosfet not connected to the picofly, while the switch on. That is why i calculated without the picofly first, using the maximum current the resistor might handle at the maximum voltage of mosfet vgs.
Assuming the accumulated charge will be discharged via the resistor.

I agree that a discharge resistor separate from the Picofly is a reasonable safety precaution in case the Picofly is disconnected. But I can just imagine how yet another offboard connection will increase the chances of someone doing it wrong and frying their Switch :) Anyhow...

Then after that, if picofly connected, also taking into account the pull down resistor it have, whether the resistor added in the mosfet is suitable. Such that the high and low voltage of the GPIO (G mosfet) still in range, so the picofly could control the gate.

How much resistance value do you suggest for the pull down resistor on IR8342?

Right... so it makes sense that we want a large value resistor instead of a small one so the Picofly voltage doesn't droop. And we're also saying that the internal pulldown of the Pico when connected and powered on is sufficient to discharge the mosfet gate, which by itself is 50-80k. So we can in theory get away with a relative high external resistance that doesn't affect this value much.

If those mosfet is alone in there without the gate connected, only the Vds and GND connected to the apu cap, in your experience what are the possible Vgs might be in there, that we could use as a base of calculation?
I just use the maximum value the mosfet (Vgs) could hold as bases of calculation.

The highest value of Vgs to expect is the highest voltage in the circuit: 3.3V. But this value really isn't important because the calculation you did is for the maximum continuous power rating of the resistor that it can take all day long. Discharging the mosfet gate will happen in a tiny fraction of a second as we'll see below. And that calculation leads to a minimum resistance value that is way too small considering the Picofly internal pulldown.

From that diagram, if i use R 300kOhm then the parallel, assume the internal pulldown 65kOhm, is 53kOhm. It seems wrong using 300kOhm as pull down resistor in there, my guts told me that.

You seem expertise on this field. I rather interesting on your analysis for the pull down resistor we could use?

Let's think about the problem we are trying to solve. We want to discharge the mosfet gate to a small percentage of whatever gate voltage might be on there in a relatively short period of time. The mosfet has some gate capacitance and we are adding a resistor in parallel. A resistor and capacitor connected in this way discharges (and charges) exponentially to 63% of its final value in one "time constant", 86% in two, and 95% in three time constants. The time constant is simply R * C. If R=65K and C = 1000pF, we can calculate the time constant as only 65 microseconds. Three time constants is 195 microseconds. In actual fact, the mosfet will have stopped conducting well before this time because we'd be well below the threshold voltage where it is doing anything useful anyway.

Normaly the most used value for the pull down resistor is between 5k and 10k. I never saw someone using any deep calculation for this. Have done a few electronic layouts with 10k ohm, was never an issue.
Yes me too. Usually use 4.7k, 5k, 1k, 10k. Thats why, my instinct says its around that value..
This isn't a pullup / pulldown circuit in the traditional sense there we're pulling the voltage to defined LVTTL levels at (potentially) some relatively high frequency. We're just trying to discharge the tiny amount of charge on one or two mosfets in some rare circumstance without affecting the normal Picofly operation. So we probably want to use a higher value resistor to ensure the Picofly internal pulldown and the glitch timing isn't substantially affected.

So what would I recommend? I would probably...
  • Be lazy, look at what they used on the hwfly flex, and copy that because they have probably thought this through better than I. Or...
  • I'd pick a value of comparable size to the internal pulldown of the Picofly since we are trying to cover the case where it is out of circuit or not powered up.
Something like 100K would probably be what I'd reach for. Sub-millisecond gate discharge time with negigible impact on normal Picofly operation.

If anybody sees anything wrong in this wall of text, please let me know!!!
 

abal1000x

Well-Known Member
Member
Joined
Jun 5, 2022
Messages
1,063
Trophies
0
XP
1,373
Country
Gaza Strip
WARNING: This is too technical and I spent far too much time writing this up for something that doesn't matter too much, but it was a fun thing to do while sipping on my morning coffee. Please read it that way :D



I agree that a discharge resistor separate from the Picofly is a reasonable safety precaution in case the Picofly is disconnected. But I can just imagine how yet another offboard connection will increase the chances of someone doing it wrong and frying their Switch :) Anyhow...



Right... so it makes sense that we want a large value resistor instead of a small one so the Picofly voltage doesn't droop. And we're also saying that the internal pulldown of the Pico when connected and powered on is sufficient to discharge the mosfet gate, which by itself is 50-80k. So we can in theory get away with a relative high external resistance that doesn't affect this value much.



The highest value of Vgs to expect is the highest voltage in the circuit: 3.3V. But this value really isn't important because the calculation you did is for the maximum continuous power rating of the resistor that it can take all day long. Discharging the mosfet gate will happen in a tiny fraction of a second as we'll see below. And that calculation leads to a minimum resistance value that is way too small considering the Picofly internal pulldown.



Let's think about the problem we are trying to solve. We want to discharge the mosfet gate to a small percentage of whatever gate voltage might be on there in a relatively short period of time. The mosfet has some gate capacitance and we are adding a resistor in parallel. A resistor and capacitor connected in this way discharges (and charges) exponentially to 63% of its final value in one "time constant", 86% in two, and 95% in three time constants. The time constant is simply R * C. If R=65K and C = 1000pF, we can calculate the time constant as only 65 microseconds. Three time constants is 195 microseconds. In actual fact, the mosfet will have stopped conducting well before this time because we'd be well below the threshold voltage where it is doing anything useful anyway.



This isn't a pullup / pulldown circuit in the traditional sense there we're pulling the voltage to defined LVTTL levels at (potentially) some relatively high frequency. We're just trying to discharge the tiny amount of charge on one or two mosfets in some rare circumstance without affecting the normal Picofly operation. So we probably want to use a higher value resistor to ensure the Picofly internal pulldown and the glitch timing isn't substantially affected.

So what would I recommend? I would probably...
  • Be lazy, look at what they used on the hwfly flex, and copy that because they have probably thought this through better than I. Or...
  • I'd pick a value of comparable size to the internal pulldown of the Picofly since we are trying to cover the case where it is out of circuit or not powered up.
Something like 100K would probably be what I'd reach for. Sub-millisecond gate discharge time with negigible impact on normal Picofly operation.

If anybody sees anything wrong in this wall of text, please let me know!!!
Thats interesting 100Kohm. I thought my last calculation 300kOhm is erratic. So in your opinion its in the range of hundreds kOhm. I might try it in weekend.

I measure hwfly use 1.1KOhm each on the mosfet GS. Which i soldered together goes to the pico, and its work. So in parallel its like 550 Ohm.
 
  • Like
Reactions: MegaDeKay

karatefeet

Well-Known Member
Newcomer
Joined
May 18, 2023
Messages
89
Trophies
0
XP
456
Country
Canada
Very good that you went through with it and identified the damaged component. Now we all learn something :)
Btw the component is a crystal oscillator used to provide a clock signal
Ok that's what I thought it was after googling it but wasn't sure. Couldn't find a replacement as it's probably cheaper just to buy another RP2040 board. I'll see if I can find one from another device possibly.

Edit: Spoke too soon, looks like I can get some from Ali.
 
  • Like
Reactions: QuiTim

Flaviocarvalho

Well-Known Member
Member
Joined
Apr 28, 2023
Messages
111
Trophies
0
Age
37
XP
95
Country
Brazil
Hi guys...is there any tip on how to reposition the emmc chip on a switch lite to reball? I cant fing any marks on the board to align the emmc chip..
 

Dee87

Well-Known Member
Member
Joined
Mar 19, 2023
Messages
1,139
Trophies
1
XP
1,578
Country
Germany
Hi guys...is there any tip on how to reposition the emmc chip on a switch lite to reball? I cant fing any marks on the board to align the emmc chip..
There should be some marks in the corners , not sure how they are on a lite since I never looked at the lite emmc.

U normaly have on the top left and bottom right some or top right and bottom left of the emmc marking where u align it first and then reflow it
 

Flaviocarvalho

Well-Known Member
Member
Joined
Apr 28, 2023
Messages
111
Trophies
0
Age
37
XP
95
Country
Brazil
There should be some marks in the corners , not sure how they are on a lite since I never looked at the lite emmc.

U normaly have on the top left and bottom right some or top right and bottom left of the emmc marking where u align it first and then reflow it

It doens't have...
 

Mr Skinner

Well-Known Member
Member
Joined
Jul 12, 2010
Messages
162
Trophies
1
Age
36
Location
Bananna Land.
Website
www.nerdfy.com.br
XP
836
Country
Brazil
SOLVED: https://gbatemp.net/threads/picofly-a-hwfly-switch-modchip.622701/post-10168505

I had a strange problem with an OLED. This is my 8th installation.

I installed Picofly with no problems. No LED error. Currently I have been facing issue with SD card detection. When I turn on the switch with the sd connected, "Failed to Int SD Card" appears, even with the HATS files. When I turn the Switch on OFW with SD already connected, the switch hangs on the logo screen. If I remove the sd and initialize the OFW, it initializes normally, however if I connect the SD, the switch freezes.
16849628100713611793449933247701.jpg

I already changed the SD, I already formatted the SD in FAT32, I already formatted it via another OLED that I have here. I've redid solders and measured voltages. Everything looks correct. The only thing I didn't do was the extra SDA and SLC solders that firmware 2.70+ added.
 
Last edited by Mr Skinner,

LuigiGad

Well-Known Member
Member
Joined
May 7, 2023
Messages
160
Trophies
0
Age
56
XP
473
Country
Italy
just finished an OLED with pico with 2.73 and flex V2. I did not use the additional resistor. At the moment no problem. If the resistor was needed, shouldn't it be included in the general guide?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://youtu.be/rMHTo4sAYKA?si=UTMogWR09JOPIPF_