Using ChatZilla in the age of Firefox Quantum

ChatZilla is a very good IRC application that both allows logging an IRC channel and automatically reconnect if some network error happens (both in contrast to using a web-based approach, e.g. http://webchat.freenode.net/?channels=sigrok). Disconnections happen a lot, especially with 3G connections that are far from stable.

But Firefox Quantum (Firefox from v. 56 and later, end of 2017) has introduced a lot of confusion as it breaks a lot of extensions, including ChatZilla, so it appears it can not be used any more. But it can!

Note that SeaMonkey promises to have ChatZilla built in (and presumably working), but that is because their documentation has not been updated. It is actually not included in the later versions. It suffers from the same problem as Firefox as it based on the Firefox code base. You have to get some year-old version to get it working.

Instead it is much easier to install ChatZilla as an independent application (that don't share any setting with Firefox or SeaMonkey) - ChatZilla can also run as a normal application under XULrunner. Even though XULrunner has been deprecated for a long time there is a version of ChatZilla available for it (there are of course security implications, but as long as it used in the limited fashion here it should not be a problem).


  1. Download the XULrunner version of ChatZilla
    From http://chatzilla.rdmsoft.com/xulrunner/, e.g. http://chatzilla.rdmsoft.com/xulrunner/download/chatzilla-0.9.92.en-US.win32.installer.msi
    It is about 36 MB.
  2. Install ChatZilla by opening the downloaded MSI file
  3. Add the "sigrok" IRC channel:
    Menu "ChatZilla" → "Preferences" → Global settings:
        Nick name: <Your preferred IRC nickname - one word, no spaces>
    Menu "IRC" → "Join channel"
        Network: freenode
        Channel: sigrok
  4. Set up logging
    In this example, for base folder "C:\UserProf\IRC logs". The actual log files are burried two levels deeper, in this example in folder "C:\UserProf\IRC logs\freenode\channels", with file names like "#sigrok.2018-04-07.log".
    Menu "ChatZilla" → "Preferences" → "Global Settings" → "Logging":
        "Log folder": file:///C:/UserProf/IRC%20logs/

    Note: It is NOT necessary check "Log this view" (for this global setting) - this is done for the specific channel, in this case "sigrok".
    Menu "ChatZilla" → "Preferences" → "freenode/#sigrok" → "Logging": Check the checkbox.
  5. Show timestamps:
    Menu "View" → "Show Timestamps"
  6. Rejoin the channels when the program is restarted or the computer is restarted:
    Right click "#sigrok" at the lower left and check "Open This Channel at Startup".
  7. Put a shortcut of ChatZilla in the startup folder
    • <Windows key> + R, "shell:startup" (this will open a window with the startup folder)
    • <Windows key> + "chat" → right click on "ChatZilla" → "Open file position" → right drag "ChatZilla" to the startup folder (the window that was opened with "shell:startup"), and select "Create shortcut here".


Level shifter, 18 V to 5 V

As part of the baud rate converter (see later), it was required to interface CMOS at 18 V (CD4046 PLL) to a 5 V part (TTL, 7493).

The requirement was that it should work up to 3 MHz.

1. BJT inverter

This is a simple way, 2 resistors and a transistor (BC547B), but it is also shockingly slow. Both in simulation in LTSpice and in a realised circuit it could not even handle a 50% dutycycle 1 MHz squareware.

2. Resistive divider

This will not work due to the relative low input impedance of the TTL. The output swing is reduced to 1.3 V (1.1 V to 2.4 V).

3. Diode

Here we use let the internal pull-up in the TTL part for the high signal and place a diode in reverse so the output stage of the CMOS get a low-impedance path to pull the signal low. The input voltage will be close to the limit, about 0.7 V due to the diode voltage drop.