logo elektroda
logo elektroda
X
logo elektroda

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

p.kaczmarek2 6765 7

TL;DR LABEL_AI_GENERATED

  • A walkthrough covers reading and writing a 25VQ16ATIG SPI flash chip with a CH341 dongle and Neoprogrammer, using an IoT WiFi module as the example.
  • It also demonstrates desoldering and soldering an SOIC/SOP memory chip, with the same method applicable to BIOS chips and larger ESP8266 SPI replacements.
  • The example centers on a 25VQ16ATIG chip, and some CH341 versions may drive SPI lines at 5V instead of 3.3V.
  • A clip-based, no-solder readout is possible, but the connection may be unreliable in some cases.
  • A GitHub repository provides CH341 tools for the workflow.
AI summary based on the discussion. May contain errors.
ADVERTISEMENT
Listen:
  • [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 14797 posts with rating 12955, helped 659 times. Been with us since 2014 year.
  • ADVERTISEMENT
  • CH341 voltage-level warning and 3.3V mod

    #2 20525683
    Mateusz_konstruktor
    Level 37  
    Posts: 4343
    Help: 272
    Rate: 1113
    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  
    Posts: 1568
    Help: 163
    Rate: 424
    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  
    Posts: 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
  • Request for compatible SPI flash chips and failure cases

    #6 21708998
    p.kaczmarek2
    Moderator Smart Home
    Posts: 14797
    Help: 659
    Rate: 12955
    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.
  • Win11 .NET 4.8 flasher reads larger SPI flashes correctly

    #7 21709178
    DeDaMrAz
    Level 23  
    Posts: 621
    Help: 34
    Rate: 130
    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
    Posts: 14797
    Help: 659
    Rate: 12955
    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:

Topic summary

LABEL_AI_GENERATED
The discussion covers using a CH341 SPI flash programmer with NeoProgrammer to read, write, verify, and erase SPI flash memories, including BIOS chips and IoT/WiFi module flash in SOIC/SOP packages. It also explains practical desoldering and soldering of SPI memory without hot air, and notes that clip-based in-circuit flashing is sometimes possible. Participants highlight voltage compatibility issues, especially with 5V CH341 variants and the need for 3.3V, 2.5V, or 1.8V adapters for lower-voltage flash chips. Later posts discuss OBK Easy Flasher support for basic SPI operations, flash size detection from JEDEC IDs, and troubleshooting unsupported chips.
AI summary based on the discussion. May contain errors.

FAQ LABEL_AI_GENERATED

TL;DR: For 15 SPI-flash questions, “adapters are a must” is the core safety rule: CH341 workflows can read 512 KB–32768 KB chips, but voltage and JEDEC detection decide success. This FAQ helps repairers use CH341, NeoProgrammer, CH341Programmer v1.38, and OBK Easy Flasher safely. [#21709178] Why it matters: A wrong CH341 voltage or unsupported JEDEC ID can turn a simple BIOS or IoT flash backup into a failed read or damaged chip.

Tool or method Thread-specific role Reported capability or limit
NeoProgrammer Tutorial tool Used for 25VQ16ATIG read/write and verification
CH341Programmer v1.38 Preferred by one participant Described as “the best program” for CH341
OBK Easy Flasher New GenericSPI support Read, write, verify, erase all, blank check
SOIC clip In-circuit access Convenient, but not always reliable
Desoldering Direct chip access More controlled than clip flashing

Key insight: Treat CH341 SPI flashing as a voltage-first job. Check 3.3 V, 2.5 V, or 1.8 V needs before reading, writing, or erasing any flash chip.

Quick Facts

  • The tutorial covers a 25VQ16ATIG SPI flash using a CH341 dongle, NeoProgrammer software, and SOIC/SOP soldering guidance. [#20522371]
  • Some CH341 programmer versions may put 5 V levels on SPI lines, while many SPI flash chips expect 3.3 V operation. [#20522371]
  • Low-voltage flash parts need attention at 2.5 V or 1.8 V; one participant calls lower-voltage adapters “a must at the start.” [#20525683]
  • OBK Easy Flasher logs showed successful size detection at 512 KB, 2048 KB, 8192 KB, 16384 KB, and 32768 KB. [#21709178]
  • One edge case failed: JEDEC ID FF-7F-9D-20 returned 0 KB and only read length 0x1. [#21709178]

How do you read and write a 25VQ16ATIG SPI flash memory using a CH341 programmer and NeoProgrammer?

Use a CH341 dongle with NeoProgrammer to read, save, write, and verify the 25VQ16ATIG dump.
  1. Connect the SPI flash to the CH341, preferably off-board.
  2. Read the chip and save a backup before writing.
  3. Write the image, then verify it with NeoProgrammer. The tutorial used a 25VQ16ATIG chip and showed both reading and writing in one video workflow. [#20522371]

How can you desolder and solder an SOIC/SOP SPI flash chip without using hot air?

Desolder the SOIC/SOP SPI flash with a soldering-iron method, then solder it back after programming. The thread’s video covers desoldering and soldering without hot air for an SOIC/SOP memory package. This approach gives direct access to the chip pins. It avoids the unreliable contact problems that can happen with a clip. The same method can apply to BIOS flash or IoT WiFi-module flash. [#20522371]

What is an SPI flash memory chip and where is it commonly used in devices like BIOS chips and IoT WiFi modules?

An SPI flash memory chip stores firmware in devices such as BIOS boards and IoT WiFi modules. “SPI flash memory is a non-volatile memory chip that uses a Serial Peripheral Interface bus, stores firmware or configuration data, and appears in BIOS chips, WiFi modules, and embedded devices.” The thread uses a 25VQ16ATIG example and mentions computer motherboard BIOS use. [#20522371]

What is a CH341A programmer and what does it do when working with SPI flash chips?

A CH341A programmer reads and writes SPI flash chips through a USB-connected dongle. “CH341A programmer is a USB flash-programming adapter that connects a computer to SPI memory, drives the chip’s serial lines, and lets software read, write, erase, or verify firmware images.” The thread uses a CH341 dongle with NeoProgrammer and later OBK Easy Flasher. [#20522371]

Why can some CH341 programmers be risky for 3.3V SPI flash chips because of 5V signal levels?

Some CH341 programmer versions are risky because their SPI lines may use 5 V levels. Many SPI flash chips do not expect 5 V signalling. The thread warns users to choose a newer CH341 version or modify an older one for 3.3 V operation. This matters before connecting BIOS chips, IoT modules, or 25VQ16ATIG-type memories. [#20522371]

How do you modify an older CH341 programmer to work safely at 3.3V?

Modify an older CH341 by changing its supply and operating mode to 3.3 V. The thread describes this as a “3.3V mod” for older CH341 versions. The quoted instruction says to “switch the power supply and mode to 3.3V.” Perform this before connecting a 3.3 V flash chip to avoid 5 V SPI signalling. [#20525683]

What should you check before using a CH341 programmer with 1.8V or 2.5V SPI flash memory?

Check the flash chip voltage first, especially for 1.8 V or 2.5 V devices. The thread states that lower-voltage flash memories appear even in simple electronic devices. It also says adapters for lower voltages are needed from the start. For 1.8 V parts, one participant built a quick makeshift programmer and successfully detected and programmed the memory. [#20525683]

CH341Programmer v1.38 vs NeoProgrammer vs OBK Easy Flasher — which tool is better for reading and writing SPI flash?

Use NeoProgrammer for the shown tutorial, CH341Programmer v1.38 as one user’s preferred CH341 tool, and OBK Easy Flasher for OBK-related GenericSPI testing. One participant wrote that CH341Programmer v1.38 is “the best program” for CH341. OBK Easy Flasher later added read, write, verify, erase all, and blank check. NeoProgrammer remains useful for cross-checking OBK results. [#20552069]

How reliable are SOIC test clips for flashing SPI memory in-circuit compared with desoldering the chip?

SOIC test clips are convenient but less reliable than direct chip access after desoldering. The thread says CH341 kits come with clips and can flash without soldering. It also warns that this approach may not be reliable in some cases. Desoldering the SOIC/SOP chip gives cleaner access for reading, writing, and verification. [#20522371]

How can you use OBK Easy Flasher or BK7231GUIFlashTool with a CH341 programmer in GenericSPI mode?

Use BK7231GUIFlashTool in GenericSPI mode with a CH341 connected and ready. The thread points users to the OBK Easy Flasher repository and says to follow the video instructions while using the OBK flasher. Windows 11 testing showed logs with “Flasher mode: GenericSPI” and “CH341 ready!” before JEDEC ID detection. One working read detected a 2048 KB chip. [#21709178]

What SPI flash operations does OBK Easy Flasher support, such as read, write, verify, erase all, and blank check?

OBK Easy Flasher supports read flash, write flash, verify, erase all, and blank check for GenericSPI use. The thread says read flash can detect full 2 MB size. It also supports drag-and-drop files for writing. “Erase all” means a full chip erase. Users can verify results with NeoProgrammer after OBK Easy Flasher writes the chip. [#21708998]

Why does OBK Easy Flasher detect JEDEC ID FF-7F-9D-20 as 0 KB flash size?

OBK Easy Flasher detects FF-7F-9D-20 as 0 KB because it cannot decode that JEDEC ID automatically. The log shows JEDEC ID FF-7F-9D-20, detected flash size 0 KB, and read length 0x1. The maintainer states that a lookup table would likely be needed for that chip. This is the thread’s clearest compatibility failure. [#21709363]

What is a JEDEC ID and how is it used to identify SPI flash chip size and type?

A JEDEC ID identifies an SPI flash chip so software can infer type and memory size. “JEDEC ID is a manufacturer and device identification code that SPI flash tools read from the chip, then map to capacity, command support, and compatible read/write behavior.” OBK logs used IDs such as FF-EF-40-15 for 2048 KB and FF-EF-40-19 for 32768 KB. [#21709178]

Which SPI flash chips work well with OBK Easy Flasher, and which chips still need compatibility testing?

OBK Easy Flasher worked on several tested chips from 512 KB to 32768 KB, but FF-7F-9D-20 still needed support. Reported successful detections included FE-C2-20-13 at 512 KB, FF-EF-40-15 at 2048 KB, FF-EF-60-17 at 8192 KB, FF-C2-20-18 at 16384 KB, and FF-EF-40-19 at 32768 KB. The smallest tested chip failed size decoding. [#21709178]

How can you troubleshoot CH341 SPI flash reading problems on Windows 11 with a .NET 4.8 flasher tool?

Troubleshoot Windows 11 reads by confirming the .NET 4.8 build runs, then checking CH341 readiness and JEDEC logs. The working log sequence showed “Flasher mode: GenericSPI,” “CH341 ready!,” then a JEDEC ID and detected size. If size shows 0 KB, compare the ID against known working logs. Verify successful reads with NeoProgrammer when possible. [#21709178]
AI summary based on the discussion. May contain errors.
ADVERTISEMENT