logo elektroda
logo elektroda
X

[Youtube] How to use CH341 SPI flash reader and how to easily desolder SPI memory without hot air

p.kaczmarek2 4851 7
ADVERTISEMENT
📢 Listen (AI):
  • [Youtube] How to use CH341 SPI flash reader and how to easily desolder SPI memory without hot air
    Here's a short 25VQ16ATIG flash memory reading/writing tutorial with CH341 dongle and Neoprogrammer software. Video also includes desoldering/soldering guide for a memory in SOIC/SOP package. The method shown here can be used for any SPI memory, including BIOS from a computer motherboard, but here we will use an IoT device WiFi module as an example. Keep in mind that similar method can be used to swap SPI memory for a larger one for ESP8266 modules.

    Before we begin, I'd also like to note that some of CH341 programmer versions might use 5V voltage levels on SPI lines which may not be expected by SPI flash memory chips, so if you want to be on the safe side, consider getting newest CH341 version or doing a 3.3V mod for the older one. We may also cover this topic in a future.

    Here's the tutorial:
    [youtube]
    https://www.youtube.com/watch?v=z9uLPo9QAY8
    [/youtube]
    Please also remember that there is a possibility of flashing without soldering, CH341 comes with a clips, but in some cases it may not be a reliable approach.

    Here's a Github repository with CH341 tools:
    https://github.com/YTEC-info/CH341A-Softwares

    Thank you for watching. If you have any experience with CH341, let us know. You may also visit our Youtube channel and watch our other IoT-related videos. See you!

    Cool? Ranking DIY
    Helpful post? Buy me a coffee.
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 wrote 13103 posts with rating 10878, helped 602 times. Been with us since 2014 year.
  • ADVERTISEMENT
  • #2 20525683
    Mateusz_konstruktor
    Level 36  
    p.kaczmarek2 wrote:
    some versions of the CH341 programmer may use 5V voltage levels on the SPI lines, which SPI flash chips may not expect, so if you have concerns, consider buying the latest CH341 version or making a 3.3V mod for the older version (just switch the power supply and mode to 3.3V ).

    The matter is even more complicated with systems that require 2.5 or 1.8V, and for some time there are more and more of them even in quite unsophisticated electronic devices.
    The programmer at first glance looks really good, but in practice the adapters for lower voltages are a must at the start.
  • ADVERTISEMENT
  • #3 20526868
    @GUTEK@
    Level 31  
    Recently I had the need to program Flash to 1.8V. Due to the fact that I did not have any programmer that supports this type of memory, I quickly soldered a makeshift one according to this description: http://rayer.g6.cz/elektro/spipgm.htm
    The memory connected to the spider was easily detected and programmed correctly.
  • ADVERTISEMENT
  • #4 20552069
    fotisp2
    Level 2  
    The best program in my opinion for the CH341 is the Ch341Programmer_v 1.38 [Youtube] How to use CH341 SPI flash reader and how to easily desolder SPI memory without hot air
  • ADVERTISEMENT
  • #6 21708998
    p.kaczmarek2
    Moderator Smart Home
    OBK Easy Flasher has now basic SPI support. Can you check
    https://github.com/openshwprojects/BK7231GUIFlashTool

    Follow instructions from video, but use our flasher.

    Implemented features:
    1. Read flash (detect full 2MB size).
    2. Write flash (you can also DRAG AND DROP file on flasher):
    Screenshot of BK7231 Flasher with incorrect JPG file selected as firmware
    3. Also "Verify" should work
    4. Also "Erase all" (that's a full chip erase) and Blank check.

    You can verify with Neoprogrammer.

    Which flash chips can work well with our flasher and which do not? Which flash chips do you have?

    Extra task: Get A9 camera from Aliexpress and help us support this chip - why it fails to flash even with Neo?
    https://www.elektroda.com/rtvforum/topic4074636-240.html#21707905

    Added after 45 [seconds]:

    Extra task: can you find something that works with NeoProgrammer/other tools, but does not work with our EF Flasher?
    Helpful post? Buy me a coffee.
  • #7 21709178
    DeDaMrAz
    Level 21  
    Ok, after some trouble shooting we got it to work on Win11 (compiled in .NET 4.8). Here are some logs that I managed to read via our GUI flasher.


    Backup name has not been set, so output file will only contain flash type/date.
    Now is: Friday, 3 October, 2025 21:14:56.
    Flasher mode: GenericSPI
    CH341 ready!
    JEDEC ID: FE-C2-20-13
    Detected flash size: 512 KB
    Starting flash read, ofs 0x0, len 0x80000


    Backup name has not been set, so output file will only contain flash type/date.
    Now is: Friday, 3 October, 2025 21:17:15.
    Flasher mode: GenericSPI
    CH341 ready!
    JEDEC ID: FF-EF-40-15
    Detected flash size: 2048 KB
    Starting flash read, ofs 0x0, len 0x200000


    Backup name has not been set, so output file will only contain flash type/date.
    Now is: Friday, 3 October, 2025 21:16:10.
    Flasher mode: GenericSPI
    CH341 ready!
    JEDEC ID: FF-EF-60-17
    Detected flash size: 8192 KB
    Starting flash read, ofs 0x0, len 0x800000


    Backup name has not been set, so output file will only contain flash type/date.
    Now is: Friday, 3 October, 2025 21:11:48.
    Flasher mode: GenericSPI
    CH341 ready!
    JEDEC ID: FF-C2-20-18
    Detected flash size: 16384 KB
    Starting flash read, ofs 0x0, len 0x1000000


    Backup name has not been set, so output file will only contain flash type/date.
    Now is: Friday, 3 October, 2025 21:23:03.
    Flasher mode: GenericSPI
    CH341 ready!
    JEDEC ID: FF-EF-40-19
    Detected flash size: 32768 KB
    Starting flash read, ofs 0x0, len 0x2000000


    and the only problem was the smallest chip I had

    Backup name has not been set, so output file will only contain flash type/date.
    Now is: Friday, 3 October, 2025 21:19:19.
    Flasher mode: GenericSPI
    CH341 ready!
    JEDEC ID: FF-7F-9D-20
    Detected flash size: 0 KB
    Starting flash read, ofs 0x0, len 0x1
    Done!
  • #8 21709363
    p.kaczmarek2
    Moderator Smart Home
    Flasher is unable to decode the flash size from the JEDEC ID FF-7F-9D-20. I don't know yet a method to do it automatically. We probably would need a lookup table for that.
    Helpful post? Buy me a coffee.
📢 Listen (AI):

Topic summary

The discussion focuses on using the CH341 SPI flash reader for reading and writing 25VQ16ATIG flash memory, with a tutorial that includes desoldering and soldering techniques for SOIC/SOP packages. The method is applicable to various SPI memory types, including BIOS chips and IoT device WiFi modules. Users are cautioned about voltage compatibility, as some CH341 versions operate at 5V, which may not be suitable for all SPI flash memories. Recommendations include using the latest CH341 version or modifying older versions for 3.3V operation. Additionally, the CH341 programmer can be used with clips for non-soldering flashing. Users have shared experiences with programming at lower voltages (1.8V) and recommended the Ch341Programmer_v 1.38 software for optimal performance.
Summary generated by the language model.
ADVERTISEMENT