convert two analogue pulses (5000/second) for display on HDMI or Composite Video

Started by charliecoutas, Jun 29, 2026, 01:19 PM

Previous topic - Next topic

JonW

I did have a look, and nothing like this exists; there are PC-based emulators, but no true hardware emulators with HDMI. I'm not sure how many I would sell for the effort, and I would have to make it secure so I didn't get ripped off. I would have to design a new FPGA board without using the Sipeed development board, as programming the onboard flash is VERY hit-or-miss due to the poor Chinese-made/copy FTDI device, which misses commands and has terrible JTAG timing.  Plus, the Gowin parts are not easy to get hold of at a low price; I will check, though.

I have just knocked out a quick 27Q43 dev board this morning. I am using this part in more projects, so I thought it's probably worth doing one. It should connect directly to the FPGA, as with an SPI OLED; with the inbuilt VHDL SPI test sequence, the OLED should image the HDMI without an MCU present; a great way of proving if I have captured the full SD1306 command set.  Whacked on an encoder (with caps this time).  Hmm, maybe I should have done an Alps joystick...

Once I have them, I'll send you the Dev and a programmed FPGA, so you can do some funky code on a large screen!

charliecoutas

That's brilliant Jon, well done indeed.

Why two channels? Was a question: The scope on Colossus at the moment shows the sprocket hole signal plus one data track. The lad who thought he was good at Python has shown that he isn't. So guess who's been up until all hours trying to get it working?

Micropython is not part of my DNA so I have been struggling but I have got something going on a little Pico2. The amount of code is massive. One clever thing about the processor used on the Pico is that it has four State Machines. These can be programmed in their own right (to generate vertical and horizontal syncs or whatever you like) and they don't affect the main processor at all. So timing is not a problem once you've worked out how to do it.

I have also made a front-end which will connect to Colossus. It monitors the data bits as they leave the tape reader, and surprisingly, they are around 5 volts high. But they are negative going from zero so I have converted this to positive going pulses. The sprocket fires an interrupt in the 18F46K22 which manages a ring-buffer and sends 20-byte samples to the VGA display every 5 seconds.

So it's coming along nicely. I haven't been on the forum for a few days as I have been getting depressed over my attempts at writing Micopython. But the sun is out and I am feeling positive again.

The original idea of making a VGA screen behave like a scope was replaced with an analysis of the data and a picture of the data itself.

Will report back soon.

Charlie

JonW

The Pico is decent, and MicroPython is very efficient due to the libraries. I have a few projects done for the RP2354A that has protected internal flash.  The PIOs are a marvel, really something that should be on many MCUs.  If you want to use the HDMI emulator, let me know.  I need to test it a little more, but you should be able to program the SSD1306 OLED and connect the hardware to any HDMI monitor in the project with no changes to the code.

J


charliecoutas

I might take you up on the HDMI emulator Jon, as VGA screens will become rare before long.

Charlie

JonW


charliecoutas

Jon, I hadn't realised that you did the HDMI for us (Bletchley). How Very Kind of you. Yes, let's do it.......

Charlie

See_Mos

The major problem that I come across with VGA screens is the backlight tubes have worn out.  Conversion to LED backlight is fairly easy but not normally viable except for the industrial monitors that I do.  The LED and driver kits are very cheap.

charliecoutas

Do LED VGA screens suffer screen-burn? This will running for long periods so I might just build in a PIR detector and blank the screen when nobody is about. For some reason long forgotten I have a couple of ZILOG detectors. Was that the same ZILOG that made the Z80's etc?

Charlie