A Look At The DEC VT220, A Proper Serial Terminal

If you’re reading Hackaday, we’re willing to bet that if somebody asked you about a serial terminal, you’d immediately think about a piece of software — a tool you run on the computer to communicate with some hardware gadget over UART. You might even have a favorite one, perhaps minicom or tio. You’d be technically correct (which we all know is the best kind of correct), but if you wind back the clock a bit, there’s a little more to the story.

You see, the programs we use these days to talk to microcontrollers and routers are more accurately referred to as serial terminal emulators, because they are doing in software what used to be the job of hardware. What kind of hardware? Why beauties like this DEC VT220 for example.

Continue reading “A Look At The DEC VT220, A Proper Serial Terminal”

Driving An OLED Screen With A 6502 Single-Board Computer

Twenty years ago, if you wanted an LCD for a project, you’d probably end up with something salvaged from a mobile phone or an HD44780 character display. These days, little OLEDs can be had for a few bucks and they’ve taken the maker world by storm. [Anders Nielsen] has recently been experimenting with driving these displays from the vintage 6502 CPU, and he’s even got scrolling operation down pat.

The best part is that [Nielsen] is doing all this on a single-board computer running his own assembly code. That’s right – there’s no compilers here. It’s bare metal coding at it’s best. The build uses a 6507 chip running at 1 MHz, paired with a 6532 RIOT and just 128 bytes of RAM—a similar setup to the Atari 2600.

The video explains how the code stacks up and drives the display, achieving the scrolling effect. It makes a huge difference to usability, especially compared to chunking pages at a time to the postage stamp-sized screen. He demonstrates a legitimate usage case too, using the setup as a serial terminal for a Raspberry Pi.

The 6502 architecture still looms large in the collective consciousness; we’ve been talking about programming it in assembly for years. Video after the break.

Continue reading “Driving An OLED Screen With A 6502 Single-Board Computer”

A Thoroughly Modern Serial Terminal

The humble desktop serial terminal may have long disappeared from the world of corporate IT, but there are still plenty of moments when professionals and enthusiasts alike need to hook up to a serial port. Many of us use a serial port on our laptops or other mobile devices, but [Neil Crawforth] has gone one better than that with the VT2040. It’s an old-style serial terminal in a super-handy portable format, and as one might guess from the name, it has an RP2040 microcontroller at its heart.

Attached to the chip is a rather nice keyboard, and an ILI9488 480×320 LCD display. The software is modular, providing a handy set of re-usable libraries for the different functions including a PIO-based serial port. His main application seems to be talking to an ESP8266, but we’re guessing with a MAX232 or other level shifter chip it could drive a more traditional port. Everything can be found in the project’s GitHub repository, allowing anyone to join the fun.

As long-time readers will know, we’ve been partial to a few serial terminals in the past. Particularly beloved is this extremely retro model with vintage dot matrix LEDs.

Termi2 Is Siri Like It’s 1976

What are your plans for the long weekend? If you don’t have time or don’t want to dive into a new project, why not dust off something left unfinished, or do as Hackaday alum [Cameron Coward] did recently and upgrade an old project with a new brain.

In this case, the project in question is a terminal typewriter — a Texas Instruments Silent 700 Terminal, to be exact — into a sort of late ’70’s version of Siri. The terminal typewriter is a special beast that used an acoustic coupler to send and receive both beeps and boops from distant mainframes. Whereas the first iteration of Termi used a Raspberry Pi Zero W to run a script that queries Wolfram Alpha, [Cameron] decided that between the login requirement, the boot time, and the weird formatting required to get it to work, that there had to be a better way.

Turns out that the better way is to use an ESP32 and read the “serial port”, which is a proprietary port with two serial connections — one for the acoustic coupler, and one for regular serial communication. Our favorite thing about this build, no matter the brain, is that there is a permanent record of all the questions and answers. Be sure to check out the video after the break.

Continue reading “Termi2 Is Siri Like It’s 1976”

An ASCII Terminal Like It’s 1974

It’s quite probable that any of you who have built a keyboard will have done so using a matrix of keys connected to a microcontroller, or if you are old-school, a microprocessor. A CPU can scan the keyboard matrix with ease, and pass whatever is typed either to whatever software it is running, or to a host computer. There was a time however when available CPUs were not considered powerful enough to do all this and also perform a useful task, so a keyboard would have its own decoder chip that would output ASCII over a parallel interface. It’s an era [John Calhoun] harks back to with Adam74, a little ASCII terminal which takes its input from that 7-bit parallel port.

In the place of a forest of TTL chips which might have graced the originals, within that attractive curved laser cut acrylic case is an LCD display and a Teensy microcontroller board. There’s a level shifter for the classic 5 volt logic, and of course a small buzzer for the essential BEL character. In these days when a parallel interface is relatively rare, he describes the rediscovery of alternate earth lines in a ribbon cable to minimize cross-talk. Should you wish to try your own, everything can be found on GitHub.

All in all it’s a fun way to rediscover an old idea.

ESP32 Gets A Nifty Serial Console Library

Sometimes you need to get a project to talk to you, so you can see what’s going on inside. The ESP32 console Arduino library from [jbtronics] promises just that.

The library adds a simple serial console to the ESP32, and is compatible with the Arduino ecosystem to boot. It’s set up to allow the easy addition of custom commands so you can tweak the console to suit your own projects. It’s remarkably complete with nifty features, too. There’s autocomplete as well as a navigable command history – the sorts of features you only expect from a modern OS terminal. A bunch of system commands are built-in, too, for checking the status of things like the memory, network interface, and so on.

The tool is available via the Arduino library manager or the PlatformIO registry. You’ll want to use it with a VT-100 compatible terminal like PuTTY or similar, which lets you use all the fancy features including color output. [jbtronics] hopes to port it to the ESP8266 soon, too!

We’ve seen some other great serial tools of late, too. If you’re brewing up your own nifty console hacks, be sure to drop us a line!

 

 

Embedded Dashboard Definitely Displays Data

Oftentimes, we’ll find ourselves using an PC attached to a project for serial debugging. Other times, we’ll be squinting at a status LED trying to remember the flash code we invented. This embedded dashboard from [hgrodriguez] aims to land somewhere in the middle.

The dashboard features LEDs, several 5×7 matrix displays, and will also mount a small OLED display as well. Everything onboard is driven by an ItsyBitsy board, featuring an Atmega32u4 microcontroller. Data can be fed to the ItsyBitsy via UART, SPI, or eventually, I2C as well.

With the ItsyBitsy handling actually driving the various displays, your project only need send out debug data over one of the listed interfaces. The ItsyBitsy will then display your byte values or word values on the matrix displays, flash the LEDs as required, and so on.

The result is a useful little console that can show you what’s going on in the brain of your microcontroller project. It’s no substitute for a full serial terminal, but it could definitely come in handy when you need to get eyes on a few variables in RAM!