Hackaday Prize Entry: Pocket Serial Terminal

When you have a microcontroller or other microcomputer on the bench in front of you and it lacks the familiar keyboard and display of a modern desktop computer, what do you do when you wish to program it or otherwise issue commands? Unless you are a retro computer enthusiast who longs for a set of Altair-style toggle switches, the chances are you’ll find its serial port and attach a terminal.

Serial terminals, devices containing a screen and keyboard hooked up to send and display text from a serial port, used to be a staple of computing, but as standalone devices, they’re now rather rare. In most cases nowadays using a serial terminal will mean opening up a terminal emulator in your modern OS, Linux, Windows, or MacOS, but there is still a use for standalone hardware. [Kuldeep Singh Dhaka] certainly thinks so, because he’s making an extremely nice portable terminal with an LCD screen.

The terminal emulates a venerable DEC VT-100 terminal, but since it’s built around an STM32F105 ARM microcontroller we’re sure it could emulate other models with appropriate software. It takes either a USB or a PS/2 keyboard, so we’d expect to see it paired with a suitably tiny portable keyboard when it in use. There is no source code available for it yet since this is very much still a project in development that we’re featuring now because it is a 2017 Hackaday Prize entry, but he assures us that code will be on its way and it will be GPL licenced.

He’s even posted a video that we’ve placed below the break of the device in operation, connected to a machine running MicroPython. We’d probably turn off that beep, though.

Post navigation

37 thoughts on “Hackaday Prize Entry: Pocket Serial Terminal”

This got me thinking.
I don’t need much more than something that reads a serial port and prints the output. I could hook it up to all my Arduinos as needed to do portable debugging.
Has anyone done this yet?

I also wrote a variant that runs on a Teensy 3, using two of the three built-in UART’s, and outputs the various bytes read via the Teensy USB serial port. Handy for the cases where you don’t have two independent USB-UART’s, or don’t wish to deal with multiple connections. It also had the option to trigger a GPIO on a keypress via the USB-serial UART, which is useful for remote reset which could otherwise require a button press. (Or even if you just don’t want to have to take your hands off the keyboard! :-) )

The same idea works really well with the Teensy (or any other USB-capable Arduino, I guess) as a USB-Serial adapter, using a single hardware UART. Trigger reset via the Break signal, or by toggling DTR, etc.

I’d love to find a simple bluetooth UART that can be trivially attached to most console ports. I.e. Vcc, Gnd, Rx, Tx is a really common header (with variations in ordering, of course), this should be enough to drive a low power bluetooth interface.

I submitted it to Hack-a-day a couple years ago, and a couple of times since (when they posted similar things on HAD) but they ignored it. :-( Maybe if it’s not on hackaday.io, they don’t want to promote it.

Oh.. and anyone with OBD-1 cars, 95 and older, you can probably get raw data from the ECU with that, and after years of scratching through tech docs and manuals, write your own app for speed sensor, temp, etc data display.

Is this really “pocket”? It needs an external keyboard, which isn’t that pocket. It would be nice to have either a small keyboard on a detachable module or an on-screen virtual keyboard (the LCD is a resistive touchscreen).
Adding a slot for SD cards and supporting it in the firmware would be a good idea too, perhaps turning the terminal into a small picture viewer or a music player.

This could also be used without the keyboard as a display with built-in controller and support for simple graphics and UI, like Nextion screens or FTDI video chips.

There are a lot of programs with menus in a fixed position on the screen, while the rest was scrolling, like the WordStar text editor, or even “graphical” games that draw the game graphics using text characters. All these require an 80×24 VT100/VT52 in order to display properly. Otherwise, a lot of the best tools and games from that era will be unusable.

I owned an old Osborne computer (luggable)
The cheap surplus monitor those used required constant scrolling (WordStar and Calcstar included)
They just mapped it to memory and scrolled back and forth in memory to display the screen.

The author is Geoff Graham, here is his site. You can buy the boards from the article, and source the chips from most electronics houses. Here is the schematics and the source code location. You can buy the programmed chips or do your own if you have a PIC programmer. I have built 5 of them, and modified the source for various things, it has multiple keyboard regions along with multiple output configurations, and uses USB not db9 connections. Also is one color output (hardware select-able) only. http://geoffg.net/terminal.html

I’ve always needed a serial monitor that will listen to Rx and Tx, so for many years I’ve used an old Husky 486 ruggedised ‘laptop’ which has 2 rs232 ports and runs of it’s battery for ages. I bagged two of these for £20 10 years ago. Back in 1990 something, they were £2500 a pop!