Here at Hackaday we can never get enough of odd clocks, and we’re delighted to see [Dan O’Shea]’s creation called the Wifi-Telnet-FPGA-NTSC Drunk Wall Clock. That mouthful is an accurate description of what it does: at the heart of the device is an ESP32 that uses WiFi to connect to a Raspberry Pi. It then telnets into the system, logs in, and requests the current time using the Linux date command. So far, so ordinary.
The “FPGA” part is where it gets weirder: the ESP32 is hooked up to a VGA1306 board. This is a little PCB with an FPGA that emulates an OLED display and outputs the image to a VGA connector. [Dan] could have simply hooked up a VGA display to this, but instead went for another layer of complexity by converting the VGA signal to something resembling composite video, using nothing more than three resistors. The resulting “NTSC” signal is then fed into a small TFT display that shows the time.
The clock got its “drunk” label because the process of repeatedly running the date command and parsing its output is slow and prone to hiccups, resulting in a display where the seconds advance in a somewhat unsteady manner. This fits well with the overall aesthetic of the clock, which consists of a heap of PCBs held together with cable ties and electrical tape. Mounted on a round panel of recycled wood, it makes a beautiful wall ornament for any hacker lab.
We love projects like this that accomplish a simple task in a convoluted way, and there’s no shortage of needlessly complicated clocks, whether physically drawing the time or using machine-learning data. But if you simply like your clocks with their electronics exposed, check out this free-form LED clock or this neat circuit sculpture clock.
Continue reading “Drunk Wall Clock Uses Convoluted Circuits To Display Time”
It’s quite a while since any of us unpacked a brand new VGA monitor, but since so many machines still have the ability to drive them even through an inexpensive adaptor they’re still something that finds a use. With so many old VGA flat panel monitors being tossed away they even come at the low low price of free, which can’t be argued with. CNXSoft’s [Jean-Luc Aufranc] was tasked with fixing a dead one, and wrote an account of his progress.
Seasoned readers will no doubt be guessing where this story will lead, as when he cracked it open and exposed the PSU board there was the tell-tale puffiness of a failed electrolytic capacitor. For relative pennies a replacement was secured, and the monitor was fixed. As repair hacks go it’s a straightforward one, but still worth remarking because a free monitor is a free monitor.
We called the demise of VGA back in 2016, and have seen no reason to go back on that. But for those of us left with a few legacy monitors it’s worth remembering that DVI and thus the DVI compatibility mode of HDMI is little more than a digitised version of the R, G, and B channels you’d find on that trusty blue connector. Maybe that little dongle doesn’t make such a bad purchase, and of course you can also use it as an SDR if you want.
Today’s microcontrollers are high-speed powerhouses that can do absolutely wonderous things. By virtue of fast clock speeds and special DMA hardware, it’s often possible to achieve great feats that seem almost ridiculous at face value. [Bitluni] decided to demonstrate just that, running six (6!) VGA displays from a single ESP32. (Video, embedded below.)
The ESP32 clocks in at 240 MHz at top speed. It also features some nifty DMA hardware along with GPIO mapping that makes it perfectly suited to this task. [Bitluni] was thus able to set it up to drive up to six VGA displays at one bit per pixel monochrome output. Alternatively, ganging up six output pins into two sets of three, he was able to run two VGA displays with 3-bit color. The resolution is an impressive 640 x 400 in both cases, and [Bitluni] demonstrated the hardware by driving six projectors with a starfield display.
Is it useful? Perhaps not yet, but there’s certainly a few applications we could think of. Share your own ideas in the comments. In the meantime, check out [Bitluni]’s other great works for the ESP32.
Continue reading “Running Six VGA Projectors From A Single ESP32”
[James Sharman] has built an impressive 8-bit homebrew computer. Based on TTL logic chips, it has a pipelined design which makes it capable of Commodore-level computing, but [James] hasn’t quite finished everything yet. While it is currently built on its own custom PCB, it has a limiting LCD display which isn’t up to the standards of the rest of the build. To resolve this issue, he decided to implement VGA from scratch.
This isn’t a bit-bang VGA implementation, either. He plans for full resolution (640×480) which will push the limits of his hardware. He also sets goals of a 24-bit DAC which will allow for millions of colors, the ability to use sprites, and hardware scrolling. Since he’s doing all of this from scratch, the plan is to keep it as simple as possible and make gradual improvements to the build as he goes. To that end, the first iteration uses a single latching chip with some other passive components. After adding some code to the CPU to support the new video style, [James] is able to display an image on his monitor.
While the image of the parrot he’s displaying isn’t exactly perfect yet, it’s a great start for his build and he does plan to make improvements to it in future videos. We’d say he’s well on his way to reproducing a full 8-bit retrocomputer. Although VGA is long outdated for modern computers, the standard is straightforward to implement and limited versions can even be done with very small microcontrollers.
Thanks to [BaldPower] for the tip!
Continue reading “VGA From Scratch On A Homebrew 8-bit Computer”
[Miroslav Nemecek] really pushes the limits of the Pico with his PicoVGA project, which packs a surprising number of features. His main goal with this library is to run retro games which can fit within the limited RAM and processing power of the Pico, but the demo video below shows a wide array of potential applications.
The library provides a whole slew of features, including frame buffering, sprites, overlays, and resolutions up to 1280×960 in either NTSC or PAL timings. A PWM-driven audio output channel is also included in the package. His library takes full advantage of the programmable I/O module functionality and uses the second core which is dedicated to video processing. However, with care, the second core can perform application tasks in certain circumstances. The VGA analog output signals are provided by resistor ladders, and pixel color is 8-bit R3G3B2 format. To be clear, [Miroslav] does cheat a little bit here in one regard — he overclocks the processor up to 270 MHz to meet the timing demands in some of the resolutions.
[Miroslav] has developed these tools using ARM-GCC on Windows, but he lacks the experience to make a Linux build. He welcomes help on that front from anyone familiar with Linux. And stay tuned — there may be more coming from [Miroslav] in the future. He notes that the PicoVGA library was created as part of a retro gaming computer project which is still under development. We look forward to hearing more about this when it gets released.
A couple of weeks ago we wrote about a monochrome VGA version of Pong for the Pico by [Nick Bild]. It’s exciting to see these projects which are exploring the limits of the Pico’s capabilities. Have you seen any boundary-pushing applications for the Pico? Let us know in the comments below. Thanks to [Pavel Krivanek] for sending this project to our tip line.
Continue reading “VGA Library For The Raspberry Pi Pico”
Few in the 1980s were too fussed about their home computer only supporting a single monitor; indeed, most were satisfied enough by the brand new capabilities on offer at the time. That said, it’s many decades hence, and we really do deserve more. Fear not, for [Ryan Brooks] is here to help with his VG64 VGA Card for the Commodore 64.
The card sits in the cartridge slot of the Commodore 64, and packs a Xilinx CPLD which is responsible for generating the video output signals. It’s hooked up to an SRAM chip which acts as a frame buffer for the video output. Programs can then be loaded on the Commodore 64 which write to the frame buffer, that can then be sent out to an attached VGA monitor hooked up to the cartridge.
It’s not the most useful cart at the moment, as it’s only capable of working with software designed specifically for the hardware. Additionally, it could prove difficult to shift enough data to it to do any kind of fast animation or updates. With that said, it’s an awesome example of just what can be achieved in terms of expanding the Commodore 64, and we’d love to see how far work in this space can go. We’ve seen similar work before, too, albeit with a somewhat smaller 16×2 character LCD. Video after the break.
Continue reading “A Dual Monitor Setup For The C64, And Yes, It’s VGA Compatible”
We’re big fans of the Arduboy here at Hackaday, but we’ll admit its tiny screen isn’t exactly ideal for long gaming sessions. There are some DIY builds of the open source handheld that use a larger SPI OLED display, though you’re relatively limited on what kind of changes can be made to the hardware before the games start balking. But as [Nick Bild] shows with his Arduboy home console, hacking the core system library opens up a lot of interesting possibilities.
Games written for the Arduboy make use of a common library that handles all the low-level hardware stuff, which includes a
display() function to push the graphical data out to an SPI-connected OLED display. What [Nick] has done is re-write that function to instead output to a custom VGA generator running on the TinyFPGA BX. He had to delete support for the Arduboy’s RGB LEDs because he needed the extra pins, but that shouldn’t cause much of a problem in terms of software support.
This does mean that games need to be recompiled against the modified library to work on his hardware, but as the vast majority of Arduboy software is open source anyway, that’s not much of a problem. We particularly like the Super Game Boy style border you get around the display at no extra cost.
At this point the hardware looks less like a console and more like a breadboard filled with jumpers, so we’re interested in seeing this project taken to its logical conclusion. A custom PCB, enclosure, and possibly even support for using the original NES controllers would turn this into proper system worthy of any hacker’s game room. You could even put the games on custom cartridges if you wanted, though a flash chip that holds the system’s entire library would be quite a bit more convenient.