Tutorial  Updated

How to flash the HWFLY Clone chips

See below for updates.

IF YOU BREAK YOUR BOOT0 PIN. DO NOT DM ME ASKING FOR HELP. THAT'S IT. YOU BREAK THAT PIN AND YOU CANT FLASH. YOUR CHIP IS STUCK WITH WHATEVER HWFLY PUT ON IT


Pre-requisites:




  • Raspberry Pi Zero W
    • You may use another flasher if you desire.
  • Pinout Diagram
  • Modchip Diagram
  • FULL_CHIP_STOCK.bin
  • Modchip Diagram, find the PA9(TX) and the PA10(RX) pins on your modchip, and do the following:
    • Connect GPIO14(TX) on your Raspberry Pi Zero W to the PA10(RX) pin on your modchip.
    • Connect GPIO15(RX) on your Raspberry Pi Zero W to the PA9(TX) pin on your modchip.

  1. Solder a wire to each of the following pinouts on the Raspberry Pi Zero W:
    • 3.3V
    • Ground
    • GPIO 14 (UART TX)
    • GPIO 15 (UART RX)
  2. Do the following to prepare the modchip:
    1. Lift pin 44 (also known as BOOT0).
    2. You will need a way to power the chip, so you need to find two 3.3v points. It can be on a MOSFET, but it will differ based on the revision of the modchip.
    3. Connect Ground on your Raspberry Pi Zero W to the Ground pin on your modchip.
    4. Check the Modchip Diagram, find the PA9(TX) and the PA10(RX) pins on your modchip, and do the following:
      • Connect GPIO14(TX) on your Raspberry Pi Zero W to the PA10(RX) pin on your modchip.
      • Connect GPIO15(RX) on your Raspberry Pi Zero W to the PA9(TX) pin on your modchip.
  3. Boot your Raspberry Pi Zero W and do the following:
    1. In the terminal, type the following command, and press enter:
      Bash:
      sudo nano /boot/config.txt
    2. Add the following line to the end of the file:
      INI:
      dtoverlay=pi3-miniuart-bt
    3. Press CTRL + X to save and exit the editor.
    4. In the terminal, type the following command, and press enter:
      Bash:
      sudo nano /boot/cmdline.txt
    5. Remove the following line from the file:
      INI:
      console=serial0,115200
    6. Press CTRL + X to save and exit the editor.
    7. Restart your Raspberry Pi with this command
      Bash:
      sudo /sbin/reboot
    8. In the terminal, type the following commands, and press enter after each command:

      Bash:
      git clone https://github.com/Pheeeeenom/stm32flash.git
      cd stm32flash
      sudo make install
  4. Now you will flash the modchip.
    Note: This will remove read protection, and the modchip will wipe itself (that is what we want).
    1. In the terminal, type the following command, and press enter:
      Bash:
      stm32flash -k /dev/serial0
    2. Now to flash Spacecraft-NX Version 0.2.0, type the following, and press enter:
      Bash:
      stm32flash -v -w ./FULL_CHIP_STOCK.bin /dev/serial0
  5. Once you're done flashing your modchip, remove the wiring from the modchip, and restore the 3.3v pin on the modchip to its original position.

Please post pictures of your work here to further the identification of the different board revisions!


UPDATE: So it seems like stitching the spacecraft bootloader and firmware together from the repo causes unstable glitching behaviors. For now, consistent glitching behavior works with this bootload/firmware combo.
This is the original file on the OLED variant chip which has 0.2.0 spacecraft. As for glitching, I'll figure it out, give me some time...unless someone else wants to hop in and reverse the differences.

For now, this at least solves the 0.1.0 HWFLY gen 3 issue. More to come.

UPDATE 2: This is only going to work on some HWFLY chips. Older ones use higher protection than the new revisions that seem to use the QFN FPGA.

UPDATE 3: This should fully work on OLED modchips with the QFN FPGA. https://github.com/Pheeeeenom/firmware
 
Last edited by Mena,
  • Like
Reactions: NEOGEOKAI
I installed a hwfly lite with spacecraft v1 and bricked my console, I repaired it because before the brick it backed up boot0 and boot1 and I restored it by hardmod and it worked perfect.
not always a brick, you can get purple screen and have fail emmc init - emmc not detected
 
I installed a hwfly lite with spacecraft v1 and bricked my console, I repaired it because before the brick it backed up boot0 and boot1 and I restored it by hardmod and it worked perfect.
Had that same screen, it’s booting to hekate now but im getting a emmc error
 
Hi!
can someone check the resistance on those pins, with the console turned off?

I've 23 ohms. When i try to boot, the chip is very hot, and the LED is solid yellow, no blinking, no training, just solid yellow LED.

Any ideas?


Uc5109c82ac7546ce9b689f38609e734cj.jpg
 
not always a brick, you can get purple screen and have fail emmc init - emmc not detected
This is likely because the CMD resistor went bad due to heat. I just fixed this issue on someone's console from a prior attempt.
 
  • Like
Reactions: leerz
Tried to flash. Showed on PC as COM5. Putty worked. Flashing showed !!DONE!!, but it didn't train, didn't improve glitch times, and doesn't show firmware version on NO SD screen (ie it didn't actually flash). Do I need to use the programmer method?

EDIT: alright got it to work with Mena's excellent help, here are the steps:

0. Remove SD card. Do not put in your SD card at any point during these steps. Also, if Putty ever says you've lost connection or disconnected, just reconnect.
1. Plug in to PC with battery connected and device as close to fully assembled as possible (heatsink, SD/Gamecard board, heat shield, wireless antennas, etc. all installed and screwed in)
2. Connect with Putty (for me it was COM5)
3. Press power button on console (WARNING: this will boot OFW, for those of you for some reason worrying about fuses on a permanently hacked device just don't do this)
4. Once the console is on press E, wait a second after it stops outputting things, then press P. Wait for a little bit longer. A 2nd message will show after the first few (mine said Samsung, I assume this is because I have Samsung RAM in my console, it might say Micron if yours has Micron RAM)
5. Try to flash using flash.bat (this may not work, if it doesn't, disconnect and reconnect the USB)
6. Connect with Putty again (once again may require disconnecting and reconnecting USB)
7. Press R to wipe old glitch data
8. Unplug USB and try to boot.
9. Should start training (blinking yellow light). This means success.

NOTE: the "NO SD" screen is now "Hekate IPL - Failed to init SD Card!", this is intended.

If it doesn't start training, power off, connect USB, connect with Putty, turn on the console (once again will boot OFW), and press T. The console will now start training. Do not unplug the USB or disconnect Putty until the light turns green.

For me this put glitch times pretty much on par in terms of boot times with my OG Core and Lite. Mad props to Mena, this is absolutely fantastic. Also included in this update:
1644552502820.png

Big thanks to Mena. If you ever talk to him, make sure to thank him for the great work he's done.

EDIT 2: this should only be necessary if you were already using the chip on the included firmware. If it hasn't been installed flashing using the regular Spacecraft-NX instructions should be fine. Try just flashing regularly first, only do this if you still get the Spacecraft-NX "NO SD" screen after doing so.
 
Last edited by xdMatthewbx,
@Mena thanks for the release!
I'm awaiting this modchip in the next few days.
Can I flash it with your FW out of the box? Or does it NEED to be installed in the Switch?

Another question - the launch OFW on boot option - is it possible to enable it, only when no SD card is inserted?
I'd like Hekate to handle all boot options, just to avoid anyone fiddling with the volume rocker on boot for whatever reason and launching the system into OFW by accident.
 
Last edited by FR0ZN,
@Mena thanks for the release!
I'm awaiting this modchip in the next few days.
Can I flash it with your FW out of the box? Or does it NEED to be installed in the Switch?

Another question - the launch OFW on boot option - is it possible to enable it, only when no SD card is inserted?
I'd like Hekate to handle all boot options, just to avoid anyone fiddling with the volume rocker on boot for whatever reason and launching the system into OFW by accident.
installing fresh is the ideal. avoids all the steps above
 
  • Like
Reactions: FR0ZN
@Mena Thank you for your hard work addressing the issues with the firmware!!!!
I´m also awaiting this modchip next week hopefully and I would like to upgrade it before installing it.
When you say that installing fresh is ideal, you mean that I can plug the chip, out of the box, into the usb and upgrade it? Or do I need a programmer (STM32 coming in a couple of weeks)?
Thank you.
 
@Mena Thank you for your hard work addressing the issues with the firmware!!!!
I´m also awaiting this modchip next week hopefully and I would like to upgrade it before installing it.
When you say that installing fresh is ideal, you mean that I can plug the chip, out of the box, into the usb and upgrade it? Or do I need a programmer (STM32 coming in a couple of weeks)?
Thank you.

yes, plug usb in and just flash the fw.. thats assuming they gave you the correct usb header
 
  • Like
Reactions: franky52
Do you need to open it?
I thought there is a way to update it from the SD card.
I know update was supposed to work from sd card on vanilla spacecraft and original Team Xecuter modchip.

As this is not the case, I’m not willing to be the guinea pig to test it, since it takes less than 1 minute to unscrew 7 screws and open it.
 
I know update was supposed to work from sd card on vanilla spacecraft and original Team Xecuter modchip.

As this is not the case, I’m not willing to be the guinea pig to test it, since it takes less than 1 minute to unscrew 7 screws and open it.

I prefer to light some candles, put on some slow music and take my time at about 2 mins
 

Site & Scene News

Popular threads in this forum