Hacking Hardware Picofly - a HWFLY switch modchip

QuiTim

Well-Known Member
Member
Joined
Mar 30, 2023
Messages
756
Trophies
0
XP
1,172
Country
Albania
Just come back from lunch and works perfectly fine.
well, I guess they were right :D
c84e97bc-eab6-4017-9177-45390694cc5c.png
 
Last edited by QuiTim,

abal1000x

Well-Known Member
Member
Joined
Jun 5, 2022
Messages
1,070
Trophies
0
XP
1,397
Country
Gaza Strip
I'd be super surprised if any debris got that far under the emmc, I'm not using any sprays or inserting the adaptor with force. I haven't inspected the CPU flex cable yet, it was suggested that could cause issues if there's a short somewhere around that. After I installed it I did continuity testing, and it passed. Any idea on that?
I've no idea.

Maybe your solder utility have 'leak' voltage, bad grounding. The voltage then destroy those tiny smd resistor.
 

hjohn

Member
Newcomer
Joined
Jun 13, 2023
Messages
9
Trophies
0
Age
31
XP
34
Country
Hungary
I installed picofly on oled but sadly it looks dead.
I got the following error code and black screen: *=* No eMMC block 0 read
Removed the pico with emmc and cpu ribbon buts switch still not turn on. Totally dead. Checked for bridges and other obvious mistakes, but all looks good. Nand is samsung.
Do you guys have any idea what to check/try or no hope?
 
  • Sad
Reactions: cgtchy0412

cgtchy0412

Well-Known Member
Member
Joined
Apr 26, 2023
Messages
287
Trophies
0
Age
41
XP
437
Country
Indonesia
I installed picofly on oled but sadly it looks dead.
I got the following error code and black screen: *=* No eMMC block 0 read
Removed the pico with emmc and cpu ribbon buts switch still not turn on. Totally dead. Checked for bridges and other obvious mistakes, but all looks good. Nand is samsung.
Do you guys have any idea what to check/try or no hope?
Did you try to turn on the switch after wires soldered to all point, basically before wires connected to pico?
This to analyze whether the culprit is on soldering, adapter or it needs to be combined with pico connected that result in this bsod.
When last time you turn off the switch and the first you turn it on again?

Example for me (also its good practice to follow) :
1. Turn off, diassemble all until soc and cleaned all thermal paste on it.
2. Turn on .. ok .. checked. Turn Off.
3.0 For oled you can install Dat0 adapter .. TurnOn .. checked .. Turn Off.
3.1 Install CPU mosfet .. Turn on .. checked .. Turn Off.
4. Install all wires to mobo (3.3v, Grnd, rst, cmd, clk, dat0) ... Turn On .. checked .. turn off.
5. Install wires to Pico ... Turn On .. wait 20 second .. No Sd greets ..Horayyyy... :rofl2: .. Turn Off.
6. Assemble Heatsink, .. until Metal Shield .. Push/wiggle gently around pico ... Turn On .. NoSdScreen .. Turn Off..
7. Finally .. close the backdoor .. clean the body ..knock on the back door a few times ... Turn On .. still Nosdscreen.. turn off.
8. Done.

And because i already used to it, then now I oftenly if any got problems only on point 6..
 
Last edited by cgtchy0412,

abal1000x

Well-Known Member
Member
Joined
Jun 5, 2022
Messages
1,070
Trophies
0
XP
1,397
Country
Gaza Strip
I installed picofly on oled but sadly it looks dead.
I got the following error code and black screen: *=* No eMMC block 0 read
Removed the pico with emmc and cpu ribbon buts switch still not turn on. Totally dead. Checked for bridges and other obvious mistakes, but all looks good. Nand is samsung.
Do you guys have any idea what to check/try or no hope?
Analyze:
Since the pico removed its blackscreen, the probable scenario is the cpu couldnt initialize the emmc. It could be the combination CMD/CLK/DAT0 line to cpu is problematic.

The CMD is the lowest probable to be broken, because theres resistor on it. Try to check the resistor value, if its Open Circuit or Short Circuit than thats the problem. Its should be 4k7 (cmiiw i might forgot).

The Dat0 might be problematic if its bridging with the Dat1. If the adapter removed still blackscreen than Dat0 is not the problem.

This left the CLK. Unfortunately theres no easy way to check the connection between emmc and the cpu except to take out the emmc, and check the continuity between CLK pin in the emmc and the CLK trace that goes to the cpu.

Oh and one more thing if the cpu ribbon D short circuit with the S/GND hells opens, any ship could happened.
 
Last edited by abal1000x,
  • Like
Reactions: QuiTim and hjohn

tiger111

Active Member
Newcomer
Joined
Feb 7, 2022
Messages
40
Trophies
0
Age
32
Location
delhi
XP
92
Country
India
i installed picofly on my v1 switch but after installing when i connected battery since then switch showing total blue screen and not booting at all as far as i know i havent damaged any pad or any compoment i have mid level solder experience can you guys kindly guide the probable root cause of this ??
 

QuiTim

Well-Known Member
Member
Joined
Mar 30, 2023
Messages
756
Trophies
0
XP
1,172
Country
Albania
@tiger111 As much as we would like to help, without some detailed pictures of installation there is not much anyone can do. You might as well just search the thread for "blue screen" or "bsod" and go through all the possible scenarios that people encountered until now.
 

hjohn

Member
Newcomer
Joined
Jun 13, 2023
Messages
9
Trophies
0
Age
31
XP
34
Country
Hungary
Analyze:
Since the pico removed its blackscreen, the probable scenario is the cpu couldnt initialize the emmc. It could be the combination CMD/CLK/DAT0 line to cpu is problematic.

The CMD is the lowest probable to be broken, because theres resistor on it. Try to check the resistor value, if its Open Circuit or Short Circuit than thats the problem. Its should be 4k7 (cmiiw i might forgot).

The Dat0 might be problematic if its bridging with the Dat1. If the adapter removed still blackscreen than Dat0 is not the problem.

This left the CLK. Unfortunately theres no easy way to check the connection between emmc and the cpu except to take out the emmc, and check the continuity between CLK pin in the emmc and the CLK trace that goes to the cpu.

Oh and one more thing if the cpu ribbon D short circuit with the S/GND hells opens, any ship could happened.
Got it! My clk line was destroyed. Repaired it and now it's back to life.
Huge thanks!
 
Last edited by hjohn,
  • Like
Reactions: abal1000x

frozenboy

Active Member
Newcomer
Joined
Oct 14, 2020
Messages
42
Trophies
0
Age
31
XP
256
Country
Vietnam
For those wanting to tinker around with the firmware, here's a script that builds the firmware through docker without any other dependencies:


Code:
#!/bin/bash
#
# This script compiles picofly through docker.
# No additional dependencies except docker.
# firmware.uf2 and update.bin will be created and copied to your current
# directory.
#
# If pico-sdk/usk/busk are not present in your current directory, they
# will be git cloned.
# If you want to make modifications to either of these components, clone or
# unpack either of them into your current directory. The script will then use
# those directories as source instead.
#
# Source urls:
# https://github.com/raspberrypi/pico-sdk
# https://github.com/rehius/usk
# https://github.com/rehius/busk
#

set -e
cat <<EOF > picofly.Dockerfile
FROM ubuntu:jammy
RUN apt-get update && apt-get install -y gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
RUN apt-get install -y git python3 cmake
RUN mkdir /build
replace-me-with-picosdk-source-command
replace-me-with-usk-source-command
replace-me-with-busk-source-command
RUN ln -s /build/pico-sdk/external/pico_sdk_import.cmake /build/usk/ && ln -s /build/pico-sdk/external/pico_sdk_import.cmake /build/busk/
RUN sed -i 's/RAM(rwx) : ORIGIN =  0x20000000, LENGTH = 256k/RAM(rwx) : ORIGIN = 0x20038000, LENGTH = 32k/g' /build/pico-sdk/src/rp2_common/pico_standard_link/memmap_default.ld
ENV PICO_SDK_PATH=/build/pico-sdk
RUN cmake -S /build/busk -B /build/busk && make -C /build/busk && make -C /build/busk clean
RUN cmake -S /build/usk -B /build/usk && make -C /build/usk && make -C /build/usk clean
RUN cd /build/usk && python3 prepare.py
EOF
if [ -d pico-sdk ]; then sed -i 's/replace-me-with-picosdk-source-command/COPY picofly-sdk \/build\/picofly-sdk/g' picofly.Dockerfile; else sed -i 's/replace-me-with-picosdk-source-command/RUN git clone https:\/\/github.com\/raspberrypi\/pico-sdk.git \/build\/pico-sdk \&\& cd \/build\/pico-sdk \&\& git submodule update --init/g' picofly.Dockerfile; fi
if [ -d usk ]; then sed -i 's/replace-me-with-usk-source-command/COPY usk \/build\/usk/g' picofly.Dockerfile; else sed -i 's/replace-me-with-usk-source-command/RUN git clone https:\/\/github.com\/rehius\/usk.git \/build\/usk/g' picofly.Dockerfile; fi
if [ -d busk ]; then sed -i 's/replace-me-with-busk-source-command/COPY busk \/build\/busk/g' picofly.Dockerfile; else sed -i 's/replace-me-with-busk-source-command/RUN git clone https:\/\/github.com\/rehius\/busk.git \/build\/busk/g' picofly.Dockerfile; fi
docker build -t picofly-builder -f picofly.Dockerfile .
picofly_image_id=$(docker create picofly-builder)
docker cp ${picofly_image_id}:/build/usk/firmware.uf2 firmware.uf2
docker cp ${picofly_image_id}:/build/usk/update.bin update.bin
docker container rm ${picofly_image_id}
rm picofly.Dockerfile
echo "Done! firmware.uf2 and update.bin have been compiled and copied to your current directory."
Hi, I am using windows, could you give me a script to build it in windows. Thanks in advance
 

poiu15

Member
Newcomer
Joined
Apr 22, 2023
Messages
14
Trophies
0
Age
29
XP
69
Country
Afghanistan
Did you try to turn on the switch after wires soldered to all point, basically before wires connected to pico?
I'm not sure about this method. I remember a few days ago there were discussions about the defective dat0 adapter cause the OFW wrote garbage data to emmc, which became the reason of bsod. If it's true, this method could be a problem. With pico connected, it will stop at the error code, won't start the OFW.
 

snaker

Well-Known Member
Member
Joined
Mar 30, 2009
Messages
217
Trophies
1
Website
biohazard-era.blogspot.com
XP
694
Country
United States
Yeah unfortunately I never found the cause or a solution to the problem. Every other Switch I have done had a Samsung EMMC. That OLED with the slow / random glitch times was the only SK Hynix I have done. I am inclined to put it down to the SK Hynix chip just sucking. Every other Picofly install I have done the glitch times are almost instant. 1-2 seconds at most.
From my experience mostly on oleds i can say with certainty that the samsungs emmcs glitch in max 5 seconds. Sk hynix have for sure slower glitching times. Even when chips boot for first time the training sessions of samsungs lasts half the time of SK Hynix. So be sure that when you have SK hynix boot times will be slower but not by much. For me on SK hynix average is 5-8 seconds and 3-5 seconds average on samsung.
 

Danook28

Well-Known Member
Member
Joined
Jul 17, 2018
Messages
502
Trophies
0
Age
34
XP
1,050
Country
Oman
Hello every body.. Any one tell me the value to this 2 capacitor and the two point that i drow line on both thank you god bless you ❤️
 

Attachments

  • IMG_٢٠٢٣٠٦١٤_٢١٠٨٢٥.jpg
    IMG_٢٠٢٣٠٦١٤_٢١٠٨٢٥.jpg
    268.5 KB · Views: 26
  • Haha
Reactions: LogicalMadness

Uberfish

Active Member
Newcomer
Joined
Jan 5, 2014
Messages
44
Trophies
0
Location
Tangerang
XP
101
Country
Indonesia
Got it! My cmd line was destroyed. Repaired it and now it's back to life.
Huge thanks!
I currently have the same issue as you. CMD resistors seem broken and switch black screen. Waiting for replacements to arrive. Did you redo the install after the repair? In what way was the CMD line destroyed? Broken trace? Bad resistor?
 
Last edited by Uberfish,
  • Like
Reactions: Takezo-San

frozenboy

Active Member
Newcomer
Joined
Oct 14, 2020
Messages
42
Trophies
0
Age
31
XP
256
Country
Vietnam
You can use WSL2 on Windows
Thanks, I should spend more time learning docker. Take a while but now I can modify the fw with green led for success and red led for any bug. I am thinking about using different led code instead of long and short ( long and short yellow quite easy for me to mistake), I will use red for short and some other color for long led (white or yellow could be good choice)
Post automatically merged:

sure mate, as i am employed by picofly inc and you're a paying subscriber i will certainly do any work like this on request in a timely manner
Thanks, I am really appreciated your work and all other people in this community especially rehius helping us (newbie guy) debuging picofly. Take a while but now I am able to build it myself
 
Last edited by frozenboy,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: Murica