Hacking Hardware Picofly - a HWFLY switch modchip

Phantomas77

Well-Known Member
Member
Joined
Dec 19, 2022
Messages
281
Trophies
0
XP
713
Country
Italy
Trouble in paradise...

I had the thing done, licked, complete. I was booted into CFW on emuNAND and was loading retroarch. I suppose I didn't put enough thermal paste and the console started to overheat and shut itself off into "sleep mode". It turned back on once or twice, but I heard a small pop and then it wouldn't boot into Hekate. It would still attempt to load the IPL hekate asking for an sd card, but if I inserted an sd card, I would get a successful glitch, and then console would reboot/turn off. I could keep getting successful glitches, but the software would never boot. From the SD screen of IPL hekate, I also could not boot into OFW with the VOL +/VOL - button combo, it would reboot/turn off as well.

As of getting home from work today, after leaving the switch on the charger all day, it doesn't even attempt to glitch (no lights on the rp2040, no screen turn on from the switch, and no more IPL hekate). I'm pretty sad here guys, I don't know what to do to fix this, but I presume it is now power circuit related, unless I've just fried my APU.

Any suggestions before I start shopping for a replacement motherboard?
Disconnect the +3.3V wire from Pico, remove the SD card, and see if it boots to OFW.
 
  • Like
Reactions: Ricky_25

Donnie-Burger

Well-Known Member
Member
Joined
Oct 27, 2021
Messages
927
Trophies
0
Website
www.youtube.com
XP
1,796
Country
United States
There is some videos with people installing picofly on Switch Lite with V2 Flex without any problem.

That is the reason I ordered V2 Flex for my Lite project (and V2 Flex is cheaper than Lite).
I just did a lite with a v2 flex and I like the v2 flex as I put zero on the right side and the lite flex faces the left. Works fine and insta glitch like all pico installs.
 
  • Like
Reactions: Ricky_25

rehius

Well-Known Member
Member
Joined
Feb 6, 2023
Messages
377
Trophies
1
Age
34
XP
1,790
Country
Canada
NOT tested, so NOT putting into the main post (will be updated once I test everything).

no guarantees, use at your own risk.
for those who can't wait

!!!!PINOUT!!!! (resistors / mosfets are still required)

Common GPIO for all boards:
CMD => 28
CLK => 27
RST => 26

Waveshare 2040-zero / 2040-one (default, floating pins 29, 11, 16):
DAT => 29
CPU => 15

Raspberry Pi Pico (detected by thermal sensor on pin 29):
DAT => 22
CPU => 21

XIAO2040 (detected by LED power on pin 11):
DAT => 29
CPU => 6

Adafruit ItsyBitsy (detected by LED power on pin 16):
DAT => 29
CPU => 24

ChangeLog:
- fixed regulator setup
- firmware update feature (+ rollback to backup in case of non-working fw update)
- multiple boards support (no idea if that works, magic, ensure LED blinks after write! that means detection worked fine!!)
- extended OFW support, should not break BOOT0 anymore, OFW BCT is copied into the unused space

P.S. I need some rest.
 

Attachments

  • picofly_toolbox_0.2.bin.pdf
    69 KB · Views: 69
  • fw_2.6_alpha_b91694d8.uf2.pdf
    240.5 KB · Views: 61

LogicalMadness

Well-Known Member
Member
Joined
Nov 3, 2014
Messages
287
Trophies
0
Age
41
XP
690
Country
United States

SQc04

Well-Known Member
Newcomer
Joined
Mar 23, 2023
Messages
99
Trophies
0
Age
21
XP
419
Country
China
NOT tested, so NOT putting into the main post (will be updated once I test everything).

no guarantees, use at your own risk.
for those who can't wait

!!!!PINOUT!!!! (resistors / mosfets are still required)

Common GPIO for all boards:
CMD => 28
CLK => 27
RST => 26

Waveshare 2040-zero / 2040-one (default, floating pins 29, 11, 16):
DAT => 29
CPU => 15

Raspberry Pi Pico (detected by thermal sensor on pin 29):
DAT => 22
CPU => 21

XIAO2040 (detected by LED power on pin 11):
DAT => 29
CPU => 6

Adafruit ItsyBitsy (detected by LED power on pin 16):
DAT => 29
CPU => 24

ChangeLog:
- fixed regulator setup
- firmware update feature (+ rollback to backup in case of non-working fw update)
- multiple boards support (no idea if that works, magic, ensure LED blinks after write! that means detection worked fine!!)
- extended OFW support, should not break BOOT0 anymore, OFW BCT is copied into the unused space

P.S. I need some rest.
0MV531W65V@P$}G5@HP[NWO.jpg

That's great, it worked! :D
 

Spore2

Well-Known Member
Member
Joined
Jan 12, 2016
Messages
221
Trophies
0
Age
45
XP
246
Country
Just wanted to give an update on my Pokemon Let's Go patched V1. I had to disassemble and reassemble a few times to get everything to fit properly in the case and not ruin the glitching process.

Still had a few loose-ish solder points apparently, as when I went and retouched some areas after checking for continuity, I managed to get the Hekate ipl consistently to load.

Thanks to everyone involved in this project, including all the brave souls willing to be on the front line of testing out the newest hardware mod to the scene.

I would post some photos, but I'm too busy reading all the things about how to load different software on this sucker now, ENDLESS POSSIBILITIES! :D

EDIT to add photos:
View attachment 362961
I ended up doing the same mod as a few other folks earlier in the forum of installing a ps4 controller flex connector in the stead of the USB C that gets removed. This was my second or third attempt at stripping the flex cable and getting to the pins without bending them. I used a razor blade to scrape the surface away and reveal fresh copper in the flex cable, then tinned them which causes the rest of the flex cable to melt away. Then I tinned the pins on the USB C port and held the flex cable down with some electrical tape and lined up the usb-c with tweezers while hitting the pins with my hot-air station. Once I had a solid connection, I used UV-cure resin to reinforce the solder joint. It is sitting on an American Dime for scale.

View attachment 362962
This is what the CPU wire looks like when attached using 30awg Kynar. Kynar is not LARGE wire by any means, but these components are certainly a little more challenging with 30awg wire wanting to move... we'll get to that in a second. That is the head of a Q-Tip for referenc scale.

View attachment 362969
After seeing where the ground points are, I decided on the easy and sure-fire way out of just ground to the leg of the USB-C port.

View attachment 362970
The 3.3v line was the first tiny spot that I went for, and this was where I learned how valuable uv-cure resin and a UV handheld laserpointer can be to keeping your wires held in place after soldering.

View attachment 362963
These are the Dat0 and Clk pins prior to getting a UV-cure resin treatment to more permanently hold the wire leads down.

View attachment 362968
Here are my RST and CMD lines along with the two previous pins after being cured with resin. There is also a wooden toothpick for scale.

View attachment 362964
This was while things were looking good. I had just gotten the mosfet situated in place on the left cap. As I was feeding the CPU wire through the APU shielding, I jiggled the backend a little too hard and ripped the capacitor clean off the pads, taking the pad closest to the APU completely off, and de-tinning the ground pad... Recovery involved sulking a little, making sure my console still booted to OFW, and then pressing onward to the following...

View attachment 362966
This abomination is layers of resin used to both mask solder joints from bridging, and to prevent my clumsy self from ripping off my last remaining lifeline to glitching this switch. Am I proud of it? Oddly yes, a little. I had to cut part of my APU shield to make sure this doesn't get disturbed, but WORTH IT. It's nearly unrecognizable at this point, but that is the same MOSFET from earlier on in this post.

View attachment 362965
Here was my bodged long-wire setup to prove that the pico would work for me. This is the second rp2040 zero that I installed, which ultimately led me to check every last one of my solder joints again. After confirming I could glitch my switch, I swapped back to my flex-cable modded picofly to be able to fully install it with no bulge, but still be able to easily update it through USB to at least make the jump to 2.6 when it's released. As everyone else is hoping, we'll hopefully be able to remotely update future firmwares through the switch (if even needed).


Thank you again for all the insight, and I hope this can provide even a little inspiration (or even an eye-opener to how small-scale this solder job is) for anyone seeking to do this kind of mod to their own switch. It's a real chore, even if you are good at soldering. Things can and will go wrong, even if you do everything right. Just be prepared to fix things if you mess them up. As others have stated, you can ruin your console if you mess up installing these kinds of mods (and several members have openly mentioned that they have learned from losing consoles as experience) but with careful planning and the right tools, you too can own a picofly modded switch.

So it's "just" that thinner wires are easier to use? Would thicker wire just fit without needing to be rerouted?
safer to use thinner wires IMO. You run the risk of tugging the wire in some installs. With a thicker wire you could rip a terminal or worse a capacitor.
 

rodrigues14

Well-Known Member
Newcomer
Joined
Nov 30, 2009
Messages
65
Trophies
1
XP
831
Country
Brazil
NOT tested, so NOT putting into the main post (will be updated once I test everything).

no guarantees, use at your own risk.
for those who can't wait

!!!!PINOUT!!!! (resistors / mosfets are still required)

Common GPIO for all boards:
CMD => 28
CLK => 27
RST => 26

Waveshare 2040-zero / 2040-one (default, floating pins 29, 11, 16):
DAT => 29
CPU => 15

Raspberry Pi Pico (detected by thermal sensor on pin 29):
DAT => 22
CPU => 21

XIAO2040 (detected by LED power on pin 11):
DAT => 29
CPU => 6

Adafruit ItsyBitsy (detected by LED power on pin 16):
DAT => 29
CPU => 24

ChangeLog:
- fixed regulator setup
- firmware update feature (+ rollback to backup in case of non-working fw update)
- multiple boards support (no idea if that works, magic, ensure LED blinks after write! that means detection worked fine!!)
- extended OFW support, should not break BOOT0 anymore, OFW BCT is copied into the unused space

P.S. I need some rest.
no update.bin file to update via picofly toolbox?
 

Dee87

Well-Known Member
Member
Joined
Mar 19, 2023
Messages
1,139
Trophies
1
XP
1,575
Country
Germany
  • Like
Reactions: Donnie-Burger

Jopa777

Active Member
Newcomer
Joined
Sep 20, 2020
Messages
44
Trophies
0
Age
42
XP
226
Country
Portugal
Hi, sorry if this isn't the correct thread.

Installed rp2040 zero. All went ok and booted Hekate.

Two issues:

- can't backup keys with lockpick
- can't boot emunand after creating it. I think this one is related to first one

When I try to boot emunand, I receive message "pkg1 decryption failed bek is missing"

Does anyone knows what is wrong?

Consoles boots normally in OFW

Thanks in advance
 

Dee87

Well-Known Member
Member
Joined
Mar 19, 2023
Messages
1,139
Trophies
1
XP
1,575
Country
Germany
Hi, sorry if this isn't the correct thread.

Installed rp2040 zero. All went ok and booted Hekate.

Two issues:

- can't backup keys with lockpick
- can't boot emunand after creating it. I think this one is related to first one

When I try to boot emunand, I receive message "pkg1 decryption failed bek is missing"

Does anyone knows what is wrong?

Consoles boots normally in OFW

Thanks in advance
Flash unlock.uf2 should do the trick
 
  • Like
Reactions: Jopa777

cowboy619

Well-Known Member
Member
Joined
Jan 22, 2014
Messages
248
Trophies
1
Age
40
Location
Cape Town, Western Cape
XP
1,810
Country
Hi, sorry if this isn't the correct thread.

Installed rp2040 zero. All went ok and booted Hekate.

Two issues:

- can't backup keys with lockpick
- can't boot emunand after creating it. I think this one is related to first one

When I try to boot emunand, I receive message "pkg1 decryption failed bek is missing"

Does anyone knows what is wrong?

Consoles boots normally in OFW

Thanks in advance

You need to run the unlock.bin via hekate but backup Boot0 first


Sent from my iPhone using Tapatalk
 

NooBziN

Well-Known Member
Member
Joined
Apr 28, 2016
Messages
176
Trophies
0
Age
38
XP
458
Country
Brazil
Hi, sorry if this isn't the correct thread.

Installed rp2040 zero. All went ok and booted Hekate.

Two issues:

- can't backup keys with lockpick
- can't boot emunand after creating it. I think this one is related to first one

When I try to boot emunand, I receive message "pkg1 decryption failed bek is missing"

Does anyone knows what is wrong?

Consoles boots normally in OFW

Thanks in advance
unlock.bin or unlock.uf2
Post automatically merged:

You need to run the unlock.bin via hekate but backup Boot0 first


Sent from my iPhone using Tapatalk
unlock.uf2 wtf?
Explain the side effect
 
Last edited by NooBziN,
  • Like
Reactions: Jopa777

khuong

Well-Known Member
Member
Joined
Jul 18, 2018
Messages
1,542
Trophies
1
Age
44
XP
6,503
Country
Canada
NOT tested, so NOT putting into the main post (will be updated once I test everything).

no guarantees, use at your own risk.
for those who can't wait

!!!!PINOUT!!!! (resistors / mosfets are still required)

Common GPIO for all boards:
CMD => 28
CLK => 27
RST => 26

Waveshare 2040-zero / 2040-one (default, floating pins 29, 11, 16):
DAT => 29
CPU => 15

Raspberry Pi Pico (detected by thermal sensor on pin 29):
DAT => 22
CPU => 21

XIAO2040 (detected by LED power on pin 11):
DAT => 29
CPU => 6

Adafruit ItsyBitsy (detected by LED power on pin 16):
DAT => 29
CPU => 24

ChangeLog:
- fixed regulator setup
- firmware update feature (+ rollback to backup in case of non-working fw update)
- multiple boards support (no idea if that works, magic, ensure LED blinks after write! that means detection worked fine!!)
- extended OFW support, should not break BOOT0 anymore, OFW BCT is copied into the unused space

P.S. I need some rest.

It'd be fancy if we could inject our own bootimage/logo into the uf2 ;P but amazing work sir.
 
  • Like
Reactions: iolo57

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Purple_Heart @ Purple_Heart: ye