Willem Programmer ERROR

Thread Starter

WareZ

Joined Jan 7, 2024
31
Last edited:

Thread Starter

WareZ

Joined Jan 7, 2024
31
Thanks. HLF must be the manufacturer and 22A8 is probably a date code.
I had asked the seller in advance because it didn't work, he only just replied to me and told me that he was going to send me the manual by email. No more waiting now, hoping it doesn't take too long
 

dl324

Joined Mar 30, 2015
18,326
I had asked the seller in advance because it didn't work, he only just replied to me and told me that he was going to send me the manual by email. No more waiting now, hoping it doesn't take too long
Does the programmer have a warranty?

These programmers are pretty simple and the ones without PALs are straightforward to repair. Too bad you're in Europe.

I'd be interested in a copy of the documentation. What you referenced earlier doesn't seem to be for your programmer.
 

Thread Starter

WareZ

Joined Jan 7, 2024
31
Does the programmer have a warranty?

These programmers are pretty simple and the ones without PALs are straightforward to repair. Too bad you're in Europe.

I'd be interested in a copy of the documentation. What you referenced earlier doesn't seem to be for your programmer.
According to the manual, I think it's not working because it is mentioned that Windows XP should be used. Since I am using Windows 10, I thought it might work with compatibility mode, but I believe the issue comes from there.
 

Attachments

Thread Starter

WareZ

Joined Jan 7, 2024
31
@dl324
Good news! The program works perfectly on the used PC that I just bought (€10). Do you have a lot of knowledge in using the Williem ?
 

dl324

Joined Mar 30, 2015
18,326
The program works perfectly on the used PC that I just bought (€10).
That's good. But it seems that the quest for a functional parallel port adapter continues.
Do you have a lot of knowledge in using the Williem ?
I have a fair amount. I sold and serviced Willem's 4.0, 4.1, and 4.5 programmers in the US (maybe North America, I can't remember) for 5-6 years.

I became a moderator on willem.org after having problems getting my ATH3.1 to work. The seller only made and sold them but had no knowledge of how they actually worked. I didn't get much help at willem.org either, so I decided to become active to help others who found themselves in my situation.

I've modified about a dozen programmers for people who had unsatisfactory results with the weak power section of the PCB3 variants. Apparently, the people involved with the original designs, including Willem's, didn't understand the importance of following manufacturer programming algorithms. They were also cavalier with the VCC voltage for programming (manufacturers specify 5.0V, 6.0V, or 6.25V). Except for Willem's 4.0, 4.1, and 4.5 programmers, all other Willem-type programmers have options like 4.3V, 5.0V, 5.6V, 6.2V, with all but 5.0V using diodes to adjust the voltage. The 4.3V put a diode in series with the output of the 5V regulator. That's just wrong because a diode is a non-linear device and voltage drop will depend on current. All of them used a transistor to switch VPP and VCC. That was okay for VPP, but not VCC. PCB3 variants always had problems with NMOS devices because they required up to 125mA from VCC and no transistor could provide that current without a significant voltage drop. VCC is the most critical voltage because it's used to check program margin.

To use a Willem-type programmer successfully, you need to know what you're doing. There are probably a large number of users who program at VCC=5V. That voltage was only used for 2716 and 2732 (NMOS and CMOS). Those devices used a 50ms programming pulse and didn't do program margin verification. All higher capacity devices used a higher voltage to guarantee sufficient programming margin.

To make matters worse, I don't think there are any program versions that support a 50ms programming pulse. 0.97g will only go up to 12ms and the default is 1.2ms which was never sufficient for any device that specified 50ms. The default pulse width for 27C64 is 140us, but Intel specified either 100us (for VCC=6.25V) or 1ms (for VCC=6.0V).

To compound the issue, manufacturers used slightly different programming specs. For example, When STM specifies VPP=12.5V, they specify a tolerance of +/- 0.3V while Intel specifies a tolerance of +/- 0.5V.

Some bad news for you. Your PCB5.0 has a weak power section because it's basically unmodified from the PCB3 from which it was derived. The power section of the Willem 4.1 is the best, but I still modify it to give a variable option so I can set the voltage precisely for the operation being performed (like blank verifying at 4.2V which is implied by STM) to assure sufficient erase margin.

I made this table from my PCB3 for another new member who wants to improve the power section of one of his programmers:
1704815416097.png

For comparison, results from my modified Willem 4.0 that can read/program all supported devices:
1704815516203.png
 

MrChips

Joined Oct 2, 2009
34,810
Good to know.
I was just putting away some old stock and found some 27C32 with Vpp @ 12.75V.
I was curious to know how important was such a tight spec.
 

Thread Starter

WareZ

Joined Jan 7, 2024
31
That's good. But it seems that the quest for a functional parallel port adapter continues.
I have a fair amount. I sold and serviced Willem's 4.0, 4.1, and 4.5 programmers in the US (maybe North America, I can't remember) for 5-6 years.

I became a moderator on willem.org after having problems getting my ATH3.1 to work. The seller only made and sold them but had no knowledge of how they actually worked. I didn't get much help at willem.org either, so I decided to become active to help others who found themselves in my situation.

I've modified about a dozen programmers for people who had unsatisfactory results with the weak power section of the PCB3 variants. Apparently, the people involved with the original designs, including Willem's, didn't understand the importance of following manufacturer programming algorithms. They were also cavalier with the VCC voltage for programming (manufacturers specify 5.0V, 6.0V, or 6.25V). Except for Willem's 4.0, 4.1, and 4.5 programmers, all other Willem-type programmers have options like 4.3V, 5.0V, 5.6V, 6.2V, with all but 5.0V using diodes to adjust the voltage. The 4.3V put a diode in series with the output of the 5V regulator. That's just wrong because a diode is a non-linear device and voltage drop will depend on current. All of them used a transistor to switch VPP and VCC. That was okay for VPP, but not VCC. PCB3 variants always had problems with NMOS devices because they required up to 125mA from VCC and no transistor could provide that current without a significant voltage drop. VCC is the most critical voltage because it's used to check program margin.

To use a Willem-type programmer successfully, you need to know what you're doing. There are probably a large number of users who program at VCC=5V. That voltage was only used for 2716 and 2732 (NMOS and CMOS). Those devices used a 50ms programming pulse and didn't do program margin verification. All higher capacity devices used a higher voltage to guarantee sufficient programming margin.

To make matters worse, I don't think there are any program versions that support a 50ms programming pulse. 0.97g will only go up to 12ms and the default is 1.2ms which was never sufficient for any device that specified 50ms. The default pulse width for 27C64 is 140us, but Intel specified either 100us (for VCC=6.25V) or 1ms (for VCC=6.0V).

To compound the issue, manufacturers used slightly different programming specs. For example, When STM specifies VPP=12.5V, they specify a tolerance of +/- 0.3V while Intel specifies a tolerance of +/- 0.5V.

Some bad news for you. Your PCB5.0 has a weak power section because it's basically unmodified from the PCB3 from which it was derived. The power section of the Willem 4.1 is the best, but I still modify it to give a variable option so I can set the voltage precisely for the operation being performed (like blank verifying at 4.2V which is implied by STM) to assure sufficient erase margin.

I made this table from my PCB3 for another new member who wants to improve the power section of one of his programmers:
View attachment 312222

For comparison, results from my modified Willem 4.0 that can read/program all supported devices:
View attachment 312223

Wow, you have a very good experience, and thanks for all the information.

I think it will help more than one!

I will use the Willem only for PLCC32, or maybe not need it over time.

I bought the Willem solely to modify my car's ECU.

Could you tell me if it's possible to extract files from an EEPROM and export them? I see the function (READ CHIP) but no option to export it.


What OS are you running?
Windows XP SP2 x86
 

dl324

Joined Mar 30, 2015
18,326
I was just putting away some old stock and found some 27C32 with Vpp @ 12.75V.

I was curious to know how important was such a tight spec.
VPP is applied to the floating gate and is used to attract hot electrons from the channel. When you use a programming algorithm with program margin verification, VCC is more important.

I have created devices that had insufficient program and insufficient erase margin to illustrate the issue with not using the correct VCC tolerance. The devices with insufficient program margin have bits that appear as unprogrammed at high VCC (5.25-5.5V). The devices with insufficient erase margin appear as programmed at 4.5-4.75V.
What OS are you running?
WinXP.
 

dl324

Joined Mar 30, 2015
18,326
Wow, you have a very good experience, and thanks for all the information.
The guy running ezoflash.com used to be a moderator at willem.org and has archived some of the data from willem.org. Every once in a while, someone finds one of my old posts there.
I bought the Willem solely to modify my car's ECU.
I bought my first one to back up the data in the EPROM in my ECU.
Could you tell me if it's possible to extract files from an EEPROM and export them? I see the function (READ CHIP) but no option to export it.
ctrl-s lets you save it to a file in one of 5 different formats. I use .bin most of the time. Or select "Save As" in the File pulldown menu.
 

dl324

Joined Mar 30, 2015
18,326
27C32 with Vpp @ 12.75V
You need to observe the suffix on lower capacity EPROMs. Don't have data for CMOS handy, but for NMOS:
VPP=25V for 2716/2732
VPP=21V for 2716A/2732A/2764
VPP=12.5V 2716B/2732B/2764A

EPROMs with VPP=12.75V generally program with VCC=6.25V and a 100us programming pulse (up to 25).

EPROMs with VPP=12.5V generally program with VCC=6.0V and a 1ms programming pulse (up to 25) with a 3X over programming pulse.

VCC tolerance is important for any devices programmed with a closed loop algorithm (margin verification). If VPP is too low, it will take more programming pulses to get sufficient margin.

If you have too many programming passes, you could experience a phenomenon called "programming erase" that causes programmed bits in adjacent rows/columns to the one being programmed to be erased. These are caught during the final margin checks. Affected devices are either rejected or erased and reprogrammed.
 

Thread Starter

WareZ

Joined Jan 7, 2024
31
You need to observe the suffix on lower capacity EPROMs. Don't have data for CMOS handy, but for NMOS:
VPP=25V for 2716/2732
VPP=21V for 2716A/2732A/2764
VPP=12.5V 2716B/2732B/2764A

EPROMs with VPP=12.75V generally program with VCC=6.25V and a 100us programming pulse (up to 25).

EPROMs with VPP=12.5V generally program with VCC=6.0V and a 1ms programming pulse (up to 25) with a 3X over programming pulse.

VCC tolerance is important for any devices programmed with a closed loop algorithm (margin verification). If VPP is too low, it will take more programming pulses to get sufficient margin.

If you have too many programming passes, you could experience a phenomenon called "programming erase" that causes programmed bits in adjacent rows/columns to the one being programmed to be erased. These are caught during the final margin checks. Affected devices are either rejected or erased and reprogrammed.
Thanks, i will try now !


Conclusion, I reprogrammed the two PLCC32s in Lo & Hi (a story of 8 bits if I remember correctly)
I touched none of Willem's settings, all by default

I put in my second "TEST" ECU and it works wonderfully! (small stage 3)

All that remains is to play with WinOLS to perfect everything!
 

dl324

Joined Mar 30, 2015
18,326
I reprogrammed the two PLCC32s in Lo & Hi (a story of 8 bits if I remember correctly)
I touched none of Willem's settings, all by default

I put in my second "TEST" ECU and it works wonderfully!
What were the devices? If EPROM, did you program them with VCC=6.25V?

If you didn't program them properly, they may work now, but fail in the future due to charge loss. EPROMs in an engine compartment are subjected to high temperatures and that's one of the enemies of charge retention.

Improperly programmed devices may work at the voltage at which they were programmed, but they might fail under high VCC conditions.

FLASH devices that don't require VPP for programming may be more tolerant to incorrect voltages.
 

Thread Starter

WareZ

Joined Jan 7, 2024
31
What were the devices? If EPROM, did you program them with VCC=6.25V?

If you didn't program them properly, they may work now, but fail in the future due to charge loss. EPROMs in an engine compartment are subjected to high temperatures and that's one of the enemies of charge retention.

Improperly programmed devices may work at the voltage at which they were programmed, but they might fail under high VCC conditions.

FLASH devices that don't require VPP for programming may be more tolerant to incorrect voltages.
No idea! I followed a tutorial that was provided to me
 
Top