I recently bought a WiFi modem on eBay and I had written an article on how to configure and use it. And now, why this article? E' davvero necessaria una modifica al Modem WiFi per Commodore 64? It has been pointed out to me that these modems, very often, are not well designed and now I will explain why.

The modem module, in fact, works at 3.3V, and is not completely 5V tolerant, as many would have you believe! The Commodore 64, on the other hand, powers 5V. It is true that, on the modem, there is a voltage regulator that lowers the supply voltage from 5V to 3.3V. Despite this, there remains a modem data foot into which the 5V voltage of the Commodore 64 is directly injected. This leg, however, withstands only 3.3V! This design error can create problems, both for the modem and for the Commodore!
Il risultato di collegare direttamente l'uscita del segnale a 5V del Commodore 64 all'ingresso RX del modulo del modem WiFi (l'ESP8266MOD) è una tensione completamente errata, di 3,7V.

Un po' di teoria
Here is the original schematic, incorrect, of the WiFi Modem for Commodore 64. You can see all the direct connections, between the Commodore user port to the NodeMCU module, which mounts the ESP8266 chip.

Ho misurato la tensione su tutti i piedini e l'unico che è in sofferenza è proprio l'RX del modulo, che si collega ai piedini M e 5 della user port del Commodore 64.

Changing the WiFi modem for Commodore 64 is very simple to do. Indeed, just add a diode. Ho notato che, all'interno del modulo del modem WiFi, è già presente un resistore di pull-up, che impone 3,3V quando nessun segnale viene immesso nel piedino RX. Anche il Commodore 64 ha un resistore di pull-up sul piedino 5 della user port. Lo si può notare consultando il service manual on page 13 of the manual (it is 17 of the PDF file).
Quello che serve per ridurre i 5V dell'uscita del Commodore, portando la tensione a 3,3V è chiamato level shifter. Many use a simple resistor to perform voltage reduction. At least in this case, it is not a good solution, precisely because there are pull-up resistors in both the WiFi module and the Commodore.
The simplest solution to make a level shifter, in this case, is to insert a diode, type 1N4148, between the RX pin of the WiFi module and pins M and 5 of the Commodore user port. Even if the 1N4148 diode fits perfectly within the required voltage and frequency tolerances, whoever wanted to could use a Schottky diode, which has better performance. For practical purposes, however, no difference would be found.

The diode, facing the cathode towards pins M and 5 of the user port, is used to pass only the logic level 0 (voltage tending to 0V) from the Commodore to the modem. Instead, the logic level 1 (voltage tending to the supply voltage), is provided by the two pull-up resistors (those already present in the modem and in the Commodore).

Modem to the WiFi Modem for Commodore 64: the hardware part
The modification to the WiFi modem for Commodore 64 is not only theoretical but also practical. It is necessary to cut the track that carries the signal to the RX pin of the WiFi module, leaving pins M and 5 of the Commodore user port joined together. Then you need to solder the diode between the RX pin of the WiFi module and pins M and 5 of the user port. The diode is a polarized component: the band that identifies the cathode must face towards pins M and 5 of the user port. Here is the result I got in the picture.

After the modification, I analyzed the voltages with an oscilloscope. It can be seen that, after the modification to the WiFi Modem for Commodore 64, the maximum voltage on pins M and 5 of the user port is no longer 3.7V, but about 5V, as it should be. Furthermore, the maximum voltage on the RX pin of the ESP8266 WiFi module is no longer incorrect at 3.7V, but corrected at 3.3V.

No changes have been made to the other pins, which however have no problems. For example the TX pin has a maximum voltage of about 3.3V, which is correct for the ESP8266 WiFi module. The voltage is also within the tolerances of the Commodore 64 user port inputs.

E' proprio necessaria la modifica al Modem WiFi per Commodore 64?
Change or not change the modem? Online, there are conflicting opinions.
"Non ho mai visto rompersi alcun Commodore 64 per aver installato questi modem WiFi!"
"Le correnti in gioco sono molto piccole e non possono creare danni!"
Of course, everyone has their own opinions. Now, however, we know that:
- the components work with wrong voltages;
- the modification to the WiFi modem for the Commodore 64 costs very little.
Inoltre, per completezza, allego il documento "hardware design guidelines", del produttore del modulo ESP8266: Shanghai Espressif Systems. A pagina 11 del documento, che corrisponde alla pagina 15 del PDF, si evince quanto segue: "The IO of the ESP8266EX is a 3.3 V logic level. In the case of serial communication with a 5 V CMOS logic system, a level switch circuit needs to be added externally. See Figure 1-10c".
The change, in my opinion, must be done!
Excellent intervention that I immediately performed on my homemade modem. Having no technical skills, but excellent dexterity and patience, I made one at home with a millefori and the ESP8266MOD module.
Very interesting what you do, I continue to follow you on Youtube.
Regards.
Hello! Thanks so much! You did well to build the modem on millefori. In case of upgrades or modifications, you already have space to mount the new components.