AVR103: Graphics module VFD GU140×16

(AI translated)

Lithuanian airports disposed of some equipment, and there were devices with VFD screens (the devices themselves were specific, with very strange software). At least I got the VFD screens: Noritake Itron GU112x16G-7806A V3. I think the software is suitable for the whole family, so I wrote GU140x16G in the title because I wrote it based on that datasheet. The VFD module itself is probably fully compatible with the LCD module, but additionally has graphic module modes. Therefore, any software (and hardware) that supports a standard LCD module with a 14-pin connector works perfectly with the VFD module. There is a small issue that the module initializes a bit slower, but most of the software works.

Noritake Itron GU112x16G-7806A v3 VFD module AVR driver

However, compatibility wasn’t great for me, but I liked the large (and small) font, drawing, bitmap sprites, inversion, and so on.

The software for the AVR family microcontroller (fully compatible with my ARM library) is written as a “wrapper” for the standard LCD module. You only need to add additional commands to the existing LCD module software, and you already have a luminescent graphic display.

As always: Noritake Itron dot graphic VFD module drivers for AVR gcc. All source code, compiled hex files, and demo program.

The VFD module itself also supports serial (ala RS232) and seems to have I2C and SPI control modes. You just need to solder the appropriate jumpers.

Posted in AI translated, Anything, MCU | Tagged , , , | Leave a comment

CO2 laser tube (bulb)

(AI translated)

My CO2 laser has been unused for a couple of years. Its tube degraded and started to weaken. About a year ago, it was still possible to cut paper and make some “applications.” Today I tried again – the tube lights up, but it doesn’t “heat” – it didn’t burn anything even a bit. The current through the tube is about 20mA, everything glows nicely, but it doesn’t lase. I took out the tube and replaced it with another one (which was like new, but I couldn’t test it well because the cooling system’s hoses had stiffened). I brought the old tube home – it will be the topic of an article. And I can still torture it before breaking it. I have the desire to apply alternating voltage to it…

No matter what the managers say, the power of a CO2 laser is directly proportional to the length of the tube’s resonator (and the tube itself). Theoretically, a tube with a thicker beam can be made, but the optics must be different accordingly, and focusing the beam is somewhat more challenging purely due to geometric laws. My tube is 40W max, its length between the mirrors is 67-70cm. The total length is about 80cm. You can’t push more watts into such a tube. And even 40W should be doubted.

This article is purely illustrative; nothing will be damaged yet. But here, we will explain why there is a glass spiral at this end. This is the “blind” end with a full mirror. The latter is additionally cooled with water. The spiral is needed to ensure that the electrical discharge occurs only inside the tube, not outside. This results in the electrical path through the center of the tube being significantly shorter than outside. The large difference is also necessary because it is very hot in the center of the tube, making it slightly harder for the electricity to flow than through simple N-He-CO2 gases. What is the purpose of the external reservoir? CO2 gases get blocked after discharge, and the molecules need some time to rest. This happens automatically – the laser operates from a constant voltage, and the gases in the plasma move from one electrode to another, then exit to the external reservoir, where they cool, recombine, and so on. Older and more powerful lasers used to have (and maybe still have) external pumps and even the ability to replace the gases. My first laser that I disassembled (it was damaged by storage in cold conditions) was precisely the “open,” “flowing” type. There, higher powers are possible because the gases are forcibly mixed.

The other end. You can see the electrode and a slightly more complex mirror cooling. Here, it is impossible to cool the entire area – the laser has to “exit.” Therefore, the construction is somewhat more complex. By the way, this is the “negative” end.

Here you can see the “half” mirror, most likely made of germanium. This mirror must be conductive to IR rays and withstand the effects of both the internal atmosphere and the external one.

What happened to this laser? I really don’t know – the electrodes don’t seem to have exploded. Helium definitely didn’t escape, and the plasma ignites perfectly. Either the mirrors have deteriorated, or the CO2 gases have disappeared somewhere (they can react with metal or glass. O2 corrodes with metal, and C settles on the walls). The inner tube has a purple tint – that’s normal, some special glass. The inner glass of a new laser is even darker and more purple.

Posted in AI translated, Laser | Tagged | Leave a comment

LM2596* modules from China

(AI translated)

For my latest collection exhibit, I decided to upgrade the power supply – to create something like the LM2596 from an overclocked 7805…

Before the postal service went crazy, I bought the cheapest PCBs with counterfeit LM2596ADJ from several suppliers: LM2596 modules from China (photo enlarges, you can look at the chip logos)

To test, I connected them all with the same load (about 33 ohms) and adjusted them to 5V. Input voltage 13V. Some modules operated at around 50kHz frequency – likely an analog of a weaker chip (LM2576?). Others worked at the correct frequency – around 150kHz, though perhaps a bit more.

One module worked very strangely:

So I removed the chip and connected a salvaged (and maybe original, National-made LM2596S ADJ). I’m not sure about this chip, the inscription looks very unprofessional, but the PCB was assembled in Lithuania and used in some industrial computer. I also replaced the diode. I wanted to use a really original chip, the one nearby in the first photo, but I needed an ADJ.

Oscillograms of all modules. The calculations in the document mean almost nothing because the load is very small. However, if it is the LM2576, the inductance for this chip is probably too small.

Posted in AI translated, Anything | Tagged | Leave a comment

RIFA capacitor failure

(AI translated)

Anyone somewhat involved with old electronics will eventually encounter RIFA capacitors and their tendency to catch fire. I finally experienced it myself – a peculiar device was working, and I had to walk the dog. When I got back home, the room smelled like burnt sugar. I had to disassemble the device, and here’s the reason:

The larger capacitor with a hole was between the live (L) and neutral (N) wires. The other two capacitors connected these wires to the ground (PE). As seen in the photo, the main issue with these capacitors is their transparent plastic. Over time, it cracks and lets in air moisture. After some time, just boom, and the room is full of smoke. Nowadays, capacitors are not very necessary, but if we replace them, the larger one must be X-class (or better), and the smaller ones Y-class.

And to make the message longer, here’s another photo: ultrawide CRT Yes, that’s an “ultrawide” CRT. It’s precisely because of this format that I wanted to get this device. However, there will probably be an article about it another day, or maybe just a new page in my collection on the website.

Posted in AI translated, Anything | Leave a comment

My 484 enemies

I have 484 enemies…

Solder balls, 0.55mm diameter.

Just testing my first 4 layer PCB with some second hand FPGA chips.

I am using old solder paste to build new balls… but with bad result. Two pins are missing (from used).

From left to right: from solder paste, using lead balls, original from factory.

Ahoy, there is problem with left chip and no problems with right chip. Same chip, but different package.

Posted in Anything, FPGA | Tagged , | Leave a comment

Forbidden NEMA repair

(AI translated)

Somewhere, I mentioned that I have a photolithographic (UV-curing resin) printer. But I never mentioned that when I first bought that printer, my relatives decided to move it to another place without my knowledge because it smelled very bad to them. And the printer had resin in it… As a result, it was a complete disaster, and resin spilled everywhere, including inside the printer. After half an hour of shouting and maybe three hours of cleaning with paper, alcohol, and some foreign “some kind of mother’s” solution, I managed to clean the printer. As far as I could see, the resin did not get into the optics, the case was cleaned, and the electronics got an additional insulating layer. The printer continued to print correctly, but its appearance was no longer as it should have been. Today I turned on the printer after about five months and realized it was a disaster. The Z-motor was completely stuck. Apparently, the resin got inside the motor and finally hardened. It hardened so much that when turning with pliers, the metal screw was scraped first, and only then did the motor move a little.

Here is the motor itself without covers, as I thought the resin glued the bearings. Unfortunately, it didn’t. You can see the working area of the screw, so we grabbed the non-working area with pliers and scratched everything there.

This motor is a 17-size NEMA standard. There was no sticker on it.

Here are some old NEMA17 motors with different winding parameters.

Their pinout is more or less standard, showing with an ohmmeter that the connection is the same. However, the old ones had a tap from the winding centers. In the Chinese one, this contact is not connected at all:

Another detail – in the Chinese motor, the 8mm screw is just pressed into the motor. There is no coupling (muff) between the motor and the screw. This means that any motor cannot be connected without turning works. It’s either a new motor or a new printer. Trying in various ways, I couldn’t loosen this motor; it was seriously stuck. Even when connected to a lathe and spun well, the motor heated up, but the resistance did not go away. The only option left was to buy because, according to all legends (and practice with old motors), when you disassemble a motor, its “mojo” – voodoo spirit (not to be confused with Mojo Jojo) evaporates. More seriously, some magnets lose their magnetism if their magnetic lines “open.”

However, the motor was as good as thrown away, so I got brave and disassembled the motor completely:

Either I was lucky, or this is some new model with neodymium magnets that don’t lose their spirit so quickly. So quickly (just in case), I sanded the resin layer from the rotor with sandpaper, and the motor started to rotate relatively freely, but the “catching” effect remained – the magnet was still strong. I was lucky because once I disassembled an old motor, and after disassembly, it started to rotate very easily and lost its strength.

Posted in AI translated, Anything | Tagged | Leave a comment

HTTPS testinis pranešimas

Testuojam https://www.savel.org

Posted in Anything | Leave a comment

HUB08 LED board (matrix) display protocol and interface to STM32F103

There are lots of China made LED board with HUB08 connector. Boards typically are single or two color ones, without variable brightness. Boards can be connected in daisy chain mode using 16 pin connector. There are specialized MCU boards from China with very ugly, sometimes password protected software. For custom use there are some bad coded Arduino “libraries”, but there is no protocol description. We will try to fill this gap and analyze China made controller and will connect some boards to STM32F103 “Blue pill” board.

The connector is standard 0.1″, 16 pin connector:
Hub08 pinout
7 – EN, enable image; 9,10,11,12 – data input; 14 -latch (transfer data from SPI register to output register; 16 – SPI clock; 2,4,6,8 – select current line to show, total 16 lines.

General timing of the interface:
HUB08 interface protocol LED board
SPI clock was about 1.2MHz, horizontal line refresh ~11kHz.

How it works: transfer via SPI some pixel data (up to 4 channels), send short LATCH command (74HC595) to transfer data and for some time enable EN to show line. The LED boad has hardware protection for stalled data transfer. If static data are detected, the output is disabled. To keep image on the board the clocks must be active.
Hub08 LED board SPI clock and data timings
Clock timings details.

There are two ways to create image on the LED matrix board: dynamic creation of the image and transfer from video RAM. First method saves lots of RAM, but there must be very strict timing, like in Atari 2600. Second method is much easier, but we need video RAM.
For our experiment I decided to use video RAM method. I connected two boards in 64×64 pixel (LED) configuration.
As “Blue pill” board’s MCU has only one channel SPI (STM32F103c8t6) I made some strange connections on the LED boards- all SPI data lines are connected in series: Data from the MCU goes to R2 of the first board, R2 output from first board returns to R1 of same, first board. Output R1 of first board goes to R2 input of second board. R2 output returns to R1 input. Now we have 4 rows of 64 LEDs int the single logical row. We need transfer the data for 4×64 LEDs (bits), total 32 bytes of data. And repeat this for 16 lines. Total we need 512 bytes of the video RAM.
All Hub08 interface is interrupt driven: first we use timer interrupt for line start (Horizontal sync). In this interrupt we calculate video RAM addres and transfer 32 byte via SPI using HAL routines (somehow DMA SPI is not working! Maybe some error or fake chip on this PCB). How we wait for SPI finish interrupt. Here we select LED row, enable output, change some variables for the software interrupts and return control to the main program.

All software and source code:
Hub08 LED board interface with STM32F103 Blue pill source code and compiled HEX file.

Hub08 software have only the basic functions: plot and point (setting the point and reading color of the point from video RAM).
Hub08 LED board interfacing with STM32F103 Blue pill

Posted in LED, MCU | Tagged | Leave a comment

Power standard for my computer collection

I have small collection of vintage computers. Several computers do not have PSU, other one have very specific ones. The problem is with some that looks like “standard”, have same connector like others, but have reversed polarity. Like ZX Spectrum or Commodore 16.
I decided to introduce some standard for my collection:

  • The computer must accept any PSU in collection without damage to computer. It may work, o just do not work. But no damage to computer.
  • The computer may harm PSU by shorting it.
  • The computer must accept unregulated transformer PSU with “12V” marking (up to 16V unloaded) for few minutes without harm.
  • Computers can have upgraded internal regulators. (DC/DC converters) and crowbars.
  • Round connectors are “CENTER POSITIVE”.

To prevent reverse polarity, computer may have serial diodes, rectifier bridges installed.

 

20220601_185605a

Silicon rectifier installed in Commodore 16.

To prevent polarity errors it is possible to use 3..5A diode to short power input (assuming that PSU bricks are <3A).

Posted in Anything | Leave a comment

How to print, preview in VB Studio Express

There is classic basic program for Commodore 64 computer to print maze on the screen. This program random prints “/” and “\” character on screen. I wanted to implement same program on modern computer and print the result. Not only to print, but also, use print preview.

Original C64 program:
10 PRINT CHR$(205.5+RND(1)); : GOTO 10

After some investigation I found in the internet the best option for MS Visual Studio Express VB (.net). This software “set” allows to print the same stuff to windows form image, printer preview control or to real printer output. This is not very straight, with some hack, but source code is self explanative. Thanks to MS for making it so strange.

Printing, preview in VB Studio Express
Program is very simple- demo button to invoke various types of functions: print, printer setup, page setup, print preview… With small change it is posible to use same graphics commands to picturebox object.

Visual Studio Express VB Source code.

Program read “page setup” settings and adjust parameters for print. Still there is bug when changing paper orientation, but I think it is solvable.

Posted in Anything | Leave a comment