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.

If you’d like to see a real VT100, here’s one we showed you receiving a BeagleBone. But if home-made terminals are your thing, then a LED screen is where it’s really at.

37 thoughts on “Hackaday Prize Entry: Pocket Serial Terminal

  1. 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?

      1. I wrote a simple python script to run on my laptop to snoop on both directions of a UART, and show both directions interleaved:


        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.

    1. Neat…. can prooly find a use for that….

      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.

    2. Hmmm… beats me. Looks like a sweet little project: an autobauding Bluetooth serial dongle. Totally useful. No idea why your Blueprintf didn’t catch an editor’s fancy. Maybe I’ll right that wrong right now…

      I do the same thing with an ESP8266 over WiFi, because WiFi is the lowest common denominator wireless layer and my laptop doesn’t have Bluetooth without a dongle that I always forget at home. :)

      One can never have too many serial connections!

      As for the “not on .io” idea: no way! Submitting a decent project for the Hackaday Prize is pretty much a guaranteed writeup, but most of our posts come from the “outside world”.

  2. 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.

    1. “an on-screen virtual keyboard (the LCD is a resistive touchscreen).” Oh yea, the new design has a 800×480 px lcd, maybe the lower half of the lcd can be used as keyboard. thanks for the input.

      i also thought on a small keyboard on a detachable module, that is why i gave extension connector in new design to be able to add new hardware functionality.

      And using it as HMI screen isnt in project scope atm, lets see.

      1. 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.

        1. 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.

      1. 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

  3. 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!

  4. Does anybody know where I could buy something like this? I could really use a few for work debugging and a pre-fabbed one would save me a lot of time. Thanks, pretty cool project!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.