Change WiFi modem Commodore 64, NodeMCU, ESP8266, 5V tolerant? No! 3.3V. Modification with diode on RX

Commodore 64 WiFi Modem Modification

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? Is a modification to the Commodore 64 WiFi Modem really necessary? It has been pointed out to me that these modems, very often, are not well designed and now I will explain why.

Subscribe my YouTube channel ValorosoIT. Retro technology, vintage audio, retro computers, experiments and tests. Retroprogramming, Basic. Commodore, IBM, Atari, Apple, Texas Instruments, Amstrad, MSX.

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!

The result of directly connecting the Commodore 64's 5V signal output to the RX input of the WiFi modem module (the ESP8266MOD) is a completely incorrect voltage of 3.7V.

WiFi modem, NodeMCU, ESP8266, wrong voltage on RX pin

A little theory

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.

Commodore 64 WiFi Modem Modification, NodeMCU esp8266, wrong scheme wrong, it is not 5V tolerant

I measured the voltage on all the pins and the only one that is suffering is the RX of the module, which connects to pins M and 5 of the Commodore 64 user port.

Changing the WiFi modem for Commodore 64 is very simple to do. Indeed, just add a diode. I noticed that, inside the WiFi modem module, there is already a pull-up resistor, which imposes 3.3V when no signal is fed into the RX pin. The Commodore 64 also has a pull-up resistor on pin 5 of the user port. This can be seen by consulting the service manual on page 13 of the manual (it is 17 of the PDF file).

What it takes to reduce the 5V of the Commodore's output, bringing the voltage to 3.3V is called 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.

Commodore 64 WiFi modem modification, NodeMCU esp8266, correct scheme with addition of 1N4148 or Schottky diode

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).

Follow me on Instagram channel. Retro technology, Commodore, vintage audio, retro computers, experiments and tests. Retroprogramming, Basic. Commodore, IBM, Atari, Apple, Texas Instruments, Amstrad, MSX.

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.

Commodore 64 WiFi modem modification, NodeMCU, ESP8266, diode added

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.

Commodore 64 WiFi Modem Modification, NodeMCU, ESP8266, 5V is not 3V3 3.3V tolerant, signals

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.

Commodore 64 WiFi Modem Modification, NodeMCU esp8266, TX pin signals

Is it really necessary to change the WiFi Modem for Commodore 64?

Change or not change the modem? Online, there are conflicting opinions.

“I have never seen any Commodore 64 break from installing these WiFi modems!”
“The currents involved are very small and cannot cause damage!”

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.

Furthermore, for completeness, I attach the document "hardware design guidelines", From the manufacturer of the ESP8266 module: Shanghai Espressif Systems. On page 11 of the document, which corresponds to page 15 of the PDF, the following can be seen: "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!

Subscribe my YouTube channel ValorosoIT. Retro technology, vintage audio, retro computers, experiments and tests. Retroprogramming, Basic. Commodore, IBM, Atari, Apple, Texas Instruments, Amstrad, MSX.

Do you like this page? Share it:

Posted in Retro Computer, Retro Technology and Vintage Electronics, All articles.

2 Comments

  1. 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.

  2. 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.

Leave a Reply

Your email address will not be published. Required fields are marked *