Hacking Hardware Picofly - a HWFLY switch modchip

Laufzeitfehler

Active Member
Newcomer
Joined
Oct 7, 2017
Messages
28
Trophies
0
Age
54
XP
76
Country
Germany
You can use only one point. No problem.
Thank you for your support!

My Pico is now installed - so far it boots instantly to SD Menu.
After the install i created first a Full Nand Backup and after this i created EmuMMC.
Then i have used Lockpick to get my keys and after this i created my hekate_ipl.ini. I tried to start EmuMMC and Atmosphere was booting. So far so great but i cant start OFW on Sysnand. First try i've got a error: Atmosphere error Unknown pkg1 version

I restartet the console and now when i try to boot ofw without atmosphere on sysnand i stuck with a Black screen after Nintendo Logo appears.

Any thoughts about this?

Ps.: OFW is also not booting when i boot without SD and Volume +- // Hekate says emmc is initialized in slower mode
 
Last edited by Laufzeitfehler,

Laufzeitfehler

Active Member
Newcomer
Joined
Oct 7, 2017
Messages
28
Trophies
0
Age
54
XP
76
Country
Germany
Add a second 47 Ohm-Resistor at DAT0.
Thanks i tried this with no luck but i saw a bad solderpoint on the Pico 🤦 the resistor in dat0 Looks suspecious. I changed them with a normal 47 Ohm resistor and sysnand is now starting 👍 i am not sure If my emmc ist now fixed but for now i can boot
 

Extreme_

Member
Newcomer
Joined
Oct 1, 2023
Messages
12
Trophies
0
Age
50
XP
35
Country
Germany
Also ich habe eine OLED und ich hatte das gleiche Problem, der Chip war OK, allerdings hat der verbaute Widerstand mit 47 Ohm nicht ausgereicht (Slow Mode). Dann habe ich einen 100Ohm Widerstand eingebaut, das ging ca. 2 Wochen gut... Nach zwei Wochen bootet die Switch nicht mehr zur CFW. Dann habe ich den 100 Ohm Widerstand gegen einen 47 Ohm getauscht (an DAT0) und seitdem ist alles gut.

Ich habe einen HWFly (RP2040) aus China gekauft.

On my OLD-Switch I had the EMM-SlowMode-Error with HWFly (RP2040). I added a 100 Ohm Resistor at DAT0 everthing runs fine. After 2 weeks my oled won't boot, than i changed the resistor with an 47 Ohm-Version and everthing works fine since about 4 weeks..
 

LucasRomeiro

Member
Newcomer
Joined
Sep 30, 2023
Messages
16
Trophies
0
Age
36
XP
152
Country
Brazil
Anyone can help me with this fake/clone rp2040 tiny? the LED do not work. firm 2.3
 

Attachments

  • IMG_7401.png
    IMG_7401.png
    8.9 MB · Views: 29

Endracion

Well-Known Member
Newcomer
Joined
May 16, 2008
Messages
56
Trophies
1
XP
230
Country
Canada
I'm back to do a friend's Switch Lite, but I'm having trouble seeing where people place the chip exactly, looks like there's less space than the OLED I did for myself. Anyone got a picture of the RP placement?
 

Laufzeitfehler

Active Member
Newcomer
Joined
Oct 7, 2017
Messages
28
Trophies
0
Age
54
XP
76
Country
Germany
Also ich habe eine OLED und ich hatte das gleiche Problem, der Chip war OK, allerdings hat der verbaute Widerstand mit 47 Ohm nicht ausgereicht (Slow Mode). Dann habe ich einen 100Ohm Widerstand eingebaut, das ging ca. 2 Wochen gut... Nach zwei Wochen bootet die Switch nicht mehr zur CFW. Dann habe ich den 100 Ohm Widerstand gegen einen 47 Ohm getauscht (an DAT0) und seitdem ist alles gut.

Ich habe einen HWFly (RP2040) aus China gekauft.

On my OLD-Switch I had the EMM-SlowMode-Error with HWFly (RP2040). I added a 100 Ohm Resistor at DAT0 everthing runs fine. After 2 weeks my oled won't boot, than i changed the resistor with an 47 Ohm-Version and everthing works fine since about 4 weeks..

I must ask you again:
Do you have now 2x47 Ohm resistors in Line or only one on dat0? Currently i have one and ofw is working but only with Hekate Reset to OFW. Also Speedtest ist not good (slow emmc)
 

d.b

Member
Newcomer
Joined
Jan 24, 2009
Messages
21
Trophies
1
XP
338
Country
Greece
hi i have a very weird problem.. i install an rp2040 zero in a switch lite and sometimes it booting into hekate but sometimes it boot straight to ofw without any light come from rp..
i have done countless installations and this is a first time happen to me...
i tried 3 rp2040 new mosfet redone the installation 3 times and always the same problem...
it may boot 10 times straight into hekate and then boot 2 times into ofw with no light from rp...
i also tried thicker wires for 3.3 and gnd and i also try the alternative point for 3.3v
any thoughts??
 

Jdlat

Member
Newcomer
Joined
Sep 18, 2023
Messages
6
Trophies
0
Age
38
XP
72
Country
Spain
Hi all,



i have finished 2 switchs, one V2 and one Oled.



I want to talk about the Oled + picofly. I did a good installation, and I had a purple screen. I checked everything, i didnt see any problem (I used the v6 dat0 adapter). I removed the entire installation and I cleaned everything. I can enter to hekate but emmc was missing (slow mode 0 mb/s) .



I read in other thread thay can be the cmd resistor. I scratched the resistance with tweezers and console worked fine, but again purple screen. What i did was remove the original cmd resistor and replace it with other smd resistor + wire and everything worked fine. Now emmc speed is 400 mb/s.



I tell this because there werent any issue in my installation, cmd resistor had very little tin and it wasnt doing contact.
 

Hassal

Well-Known Member
Member
Joined
Apr 22, 2023
Messages
568
Trophies
0
Age
24
XP
516
Country
United Arab Emirates
Anyone can help me with this fake/clone rp2040 tiny? the LED do not work. firm 2.3
Clone boards are almost never checked when they are shipped out in order to save money so you're likely get a faulty or burned component. The QC is passed on to you.

If you want to avoid such predicament only use authentic boards from the source.
 

bilalhassan341

Well-Known Member
Member
Joined
Apr 1, 2023
Messages
138
Trophies
0
XP
271
Country
United States
Thank you for your support!

My Pico is now installed - so far it boots instantly to SD Menu.
After the install i created first a Full Nand Backup and after this i created EmuMMC.
Then i have used Lockpick to get my keys and after this i created my hekate_ipl.ini. I tried to start EmuMMC and Atmosphere was booting. So far so great but i cant start OFW on Sysnand. First try i've got a error: Atmosphere error Unknown pkg1 version

I restartet the console and now when i try to boot ofw without atmosphere on sysnand i stuck with a Black screen after Nintendo Logo appears.

Any thoughts about this?

Ps.: OFW is also not booting when i boot without SD and Volume +- // Hekate says emmc is initialized in slower mode
Emmc points are not soldered correctly. resolder or try to add another resisters on emmc points.
 
  • Love
Reactions: impeeza

LucasRomeiro

Member
Newcomer
Joined
Sep 30, 2023
Messages
16
Trophies
0
Age
36
XP
152
Country
Brazil
Clone boards are almost never checked when they are shipped out in order to save money so you're likely get a faulty or burned component. The QC is passed on to you.

If you want to avoid such predicament only use authentic boards from the source.
These clones of the rp2040 tiny are everywhere, I bought several like this without knowing, in different purchases.
Apparently they only got the pins wrong to activate the LEDS. I don't know how to fix this somehow because lids are very important to help find errors in unlocking.
This code was sent by one of the sellers to show that the LED works (he changed the LED pins), were we able to make a correction for this? I suggest using the jumpers present on pins 24 and 25 on the board to signal that it is a fake board and you should use another LED pin if these points are soldered:
from machine import Pin
import array, time
from machine import Pin
import rp2
p24 = Pin(24, Pin.IN, Pin.PULL_UP)
print(p24.value())
p25 = Pin(25, Pin.OUT)

Configure the number of WS2812 LEDs.​

NUM_LEDS = 1
@rp2.asm_pio(
sideset_init=rp2.PIO.OUT_LOW,
out_shiftdir=rp2.PIO.SHIFT_LEFT,
autopull=True,
pull_thresh=24,
)
def ws2812():
# fmt: off
T1 = 2
T2 = 5
T3 = 3
wrap_target()
label("bitloop")
out(x, 1) .side(0) [T3 - 1]
jmp(not_x, "do_zero") .side(1) [T1 - 1]
jmp("bitloop") .side(1) [T2 - 1]
label("do_zero")
nop() .side(0) [T2 - 1]
wrap()
# fmt: on

Create the StateMachine with the ws2812 program, outputting on Pin(22).​

sm = rp2.StateMachine(0, ws2812, freq=8_000_000, sideset_base=Pin(16))

Start the StateMachine, it will wait for data on its FIFO.​

sm.active(1)

Display a pattern on the LEDs via an array of LED RGB values.​

ar = array.array("I", [0 for _ in range(NUM_LEDS)])

Cycle colours.​

for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 100
g = 0
b = 0
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 0
g = 100
b = 0
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 0
g = 0
b = 100
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 100
g = 100
b = 100
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 0
g = 0
b = 0
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
while 1:
if p24.value()==0:
p25.on()
else:
p25.off()
 
  • Like
Reactions: impeeza

Dee87

Well-Known Member
Member
Joined
Mar 19, 2023
Messages
1,139
Trophies
1
XP
1,589
Country
Germany
These clones of the rp2040 tiny are everywhere, I bought several like this without knowing, in different purchases.
Apparently they only got the pins wrong to activate the LEDS. I don't know how to fix this somehow because lids are very important to help find errors in unlocking.
This code was sent by one of the sellers to show that the LED works (he changed the LED pins), were we able to make a correction for this? I suggest using the jumpers present on pins 24 and 25 on the board to signal that it is a fake board and you should use another LED pin if these points are soldered:
from machine import Pin
import array, time
from machine import Pin
import rp2
p24 = Pin(24, Pin.IN, Pin.PULL_UP)
print(p24.value())
p25 = Pin(25, Pin.OUT)

Configure the number of WS2812 LEDs.​

NUM_LEDS = 1
@rp2.asm_pio(
sideset_init=rp2.PIO.OUT_LOW,
out_shiftdir=rp2.PIO.SHIFT_LEFT,
autopull=True,
pull_thresh=24,
)
def ws2812():
# fmt: off
T1 = 2
T2 = 5
T3 = 3
wrap_target()
label("bitloop")
out(x, 1) .side(0) [T3 - 1]
jmp(not_x, "do_zero") .side(1) [T1 - 1]
jmp("bitloop") .side(1) [T2 - 1]
label("do_zero")
nop() .side(0) [T2 - 1]
wrap()
# fmt: on

Create the StateMachine with the ws2812 program, outputting on Pin(22).​

sm = rp2.StateMachine(0, ws2812, freq=8_000_000, sideset_base=Pin(16))

Start the StateMachine, it will wait for data on its FIFO.​

sm.active(1)

Display a pattern on the LEDs via an array of LED RGB values.​

ar = array.array("I", [0 for _ in range(NUM_LEDS)])

Cycle colours.​

for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 100
g = 0
b = 0
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 0
g = 100
b = 0
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 0
g = 0
b = 100
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 100
g = 100
b = 100
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 0
g = 0
b = 0
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
while 1:
if p24.value()==0:
p25.on()
else:
p25.off()
well if u know what pin the led is connected to atm and wich on it needs to be then disconnect it from wrong pin and solder a wire to the correct pin.
if u buy from a proper selling then u wont get fake chips.
if u buy because its a few cents cheaper and get a fake chip thats up to you.

u can order from waveshare direkt and then u will get the correct zero.
 
Last edited by Dee87,

karatefeet

Well-Known Member
Newcomer
Joined
May 18, 2023
Messages
89
Trophies
0
XP
477
Country
Canada
These clones of the rp2040 tiny are everywhere, I bought several like this without knowing, in different purchases.
Apparently they only got the pins wrong to activate the LEDS. I don't know how to fix this somehow because lids are very important to help find errors in unlocking.
This code was sent by one of the sellers to show that the LED works (he changed the LED pins), were we able to make a correction for this? I suggest using the jumpers present on pins 24 and 25 on the board to signal that it is a fake board and you should use another LED pin if these points are soldered:
from machine import Pin
import array, time
from machine import Pin
import rp2
p24 = Pin(24, Pin.IN, Pin.PULL_UP)
print(p24.value())
p25 = Pin(25, Pin.OUT)

Configure the number of WS2812 LEDs.​

NUM_LEDS = 1
@rp2.asm_pio(
sideset_init=rp2.PIO.OUT_LOW,
out_shiftdir=rp2.PIO.SHIFT_LEFT,
autopull=True,
pull_thresh=24,
)
def ws2812():
# fmt: off
T1 = 2
T2 = 5
T3 = 3
wrap_target()
label("bitloop")
out(x, 1) .side(0) [T3 - 1]
jmp(not_x, "do_zero") .side(1) [T1 - 1]
jmp("bitloop") .side(1) [T2 - 1]
label("do_zero")
nop() .side(0) [T2 - 1]
wrap()
# fmt: on

Create the StateMachine with the ws2812 program, outputting on Pin(22).​

sm = rp2.StateMachine(0, ws2812, freq=8_000_000, sideset_base=Pin(16))

Start the StateMachine, it will wait for data on its FIFO.​

sm.active(1)

Display a pattern on the LEDs via an array of LED RGB values.​

ar = array.array("I", [0 for _ in range(NUM_LEDS)])

Cycle colours.​

for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 100
g = 0
b = 0
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 0
g = 100
b = 0
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 0
g = 0
b = 100
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 100
g = 100
b = 100
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
for i in range(4 * NUM_LEDS):
for j in range(NUM_LEDS):
r = 0
g = 0
b = 0
ar[j] = g << 16 | r<<8| b
sm.put(ar, 8)
time.sleep_ms(50)
while 1:
if p24.value()==0:
p25.on()
else:
p25.off()
What I've been doing is initially flashing to v2.67 to get the led back. Then once confirmed the install is good, update via pico toolbox to v2.75.
 
  • Like
Reactions: LucasRomeiro

LucasRomeiro

Member
Newcomer
Joined
Sep 30, 2023
Messages
16
Trophies
0
Age
36
XP
152
Country
Brazil
bem, se você sabe a qual pino o led está conectado ao atm e qual precisa estar, desconecte-o do pino errado e solde um fio no pino correto.
se você comprar de uma venda adequada, não receberá fichas falsas.
se você comprar porque é alguns centavos mais barato e ganhar um chip falso, isso é com você.

você pode fazer o pedido diretamente no Waveshark e obterá o zero correto.
do you have the direct link of Waveshark? i cant find
Post automatically merged:

What I've been doing is initially flashing to v2.67 to get the led back. Then once confirmed the install is good, update via pico toolbox to v2.75.
i want to recompile to solve it. but i dont know how i can do it, im trying to clone the repository in the PIO
 
Last edited by LucasRomeiro,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BakerMan @ BakerMan:
    holy shit why do i have 19 notifications?!
  • BakerMan @ BakerMan:
    AND WHY ARE SOME OF THEM BUNDLED UP REACTIONS TO POSTS?
  • BigOnYa @ BigOnYa:
    Cause I maybe, maybe clicked like a few times.
  • K3Nv2 @ K3Nv2:
    You're as loved as much as Juan now enjoy it
    +1
  • K3Nv2 @ K3Nv2:
    I'm sorry for the insult
  • BakerMan @ BakerMan:
    the difference is i like wario and samus and he likes muscle mommies and feet
    +1
  • BakerMan @ BakerMan:
    wait, i forgot wizards too
  • BigOnYa @ BigOnYa:
    I have a buddy that has a moonshine still and he makes his own shine. He brought me a jar of some peach shine/brandy, shit is damn good. Gonna have to see if can get more.
    +1
  • BakerMan @ BakerMan:
    careful that shit don't make you go blind
  • BigOnYa @ BigOnYa:
    Nuh that's only if you drink what first comes out when distilling, you must throw out the first part of it when it starts running. (Its called the "head(s)" of the run) Or use it for fuel or a general purpose cleaner
    +1
  • K3Nv2 @ K3Nv2:
    If alcohol would've made @BigOnYa blind by now it would have
    +2
  • BigOnYa @ BigOnYa:
    So True.
    +1
  • K3Nv2 @ K3Nv2:
    I should make a poll for bigonya to change his username to DrunkOnYa
    +1
  • BigOnYa @ BigOnYa:
    That's my alt
    +1
  • K3Nv2 @ K3Nv2:
    I don't wanna go to the store someone go for me
  • BigOnYa @ BigOnYa:
    Call my wifey, tell her pick up stuff on her way over.
  • K3Nv2 @ K3Nv2:
    Pick up my door dash meat me in the allyway
    +1
  • BigOnYa @ BigOnYa:
    Wifey is busy, so ill send my buddy @AncientBoi , in his gimp outfit. "who ordered the 6" sausage?""
  • K3Nv2 @ K3Nv2:
    Like subway it's false advertising
    +1
  • BigOnYa @ BigOnYa:
    Ok "who ordered the Vienna sausage?"
  • K3Nv2 @ K3Nv2:
    Uremum
    +1
  • BigOnYa @ BigOnYa:
    My buddy convince me to download and play poker game with him yesterday, called Four Kings Casino, its pretty fun actually, you create a avatar and walk around in a virtual casino, and play any table, or slots with others online.There's even a dance club and bowling alley.
  • SylverReZ @ SylverReZ:
    They should bring advertisements like this back LOL.
  • BakerMan @ BakerMan:
    or that german ninja turtle commercial
    +1
    BakerMan @ BakerMan: or that german ninja turtle commercial +1