PIC-based Dumb Terminal

Okay before you start; I know.. I know.. Because I’m shooting for a VT-100-ish emulation my project is technically an “intelligent” terminal but not in a sense that it runs an embedded OS/IP-based, but in the sense that it decodes ANSI ESC codes.. it’s still a freakn’ dumb terminal in my book.

I’m just about finished with the PC board for this and in the photo below is my proof of concept. All the key’s don’t work yet as I don’t have enough IO without some encoding; the keyboard is an old row/column keyboard  I scored off eBay.  Because I want to stick with a smaller PIC I’m going to use 74HC series logic to accomplish this, but I was considering switching to CPLD in a version 2.

My PIC 18F14K22  Dumb Terminal
My PIC 18F14K22 Dumb Terminal

Target Features: Baud change (to terminal) via a config screen on the fly (likely limited it to 1200, 2400, 4800, 9600, 115k). Switching the “retro” color from green, amber, or if you’re boring/have been playing too much telehack, white. Half/Full duplex… no color decoding (or VT220 emulation) but perhaps in the future.

Once my PC board is finished and back from the fab I’ll finish the code and make a proper post… the code isn’t presentable besides at least being decently commented. When will you see my next post on this?….. read on.

I have collaborated with Francesco of GarageTech to create a new site. Francesco had some really good ideas, so I pushed 0xEE.net off to its own site. We’re just ironing out a few details and starting our first articles… look for some good stuff soon! 0xEE.net will be ALL PIC-based… I’m pushing all my PIC based projects over there. I’ll co-post and maintain my blog for all non-PIC based stuff .. but if I’m dropping code and it’s not snippets, I’ll post a generic tidbit and a description here and link in over to 0xEE.

If you’re curious: it’s also not lost on me that you could use RealTerm or PuTTY on your PC… I just think this is nifty if you have the bench space.


  • JohnS_AZ
    May 8, 2014 - 9:19 pm | Permalink

    Very cool. (I want one) Would it be possible to use a USB keyboard?

    • Chas
      May 9, 2014 - 3:24 am | Permalink

      Hmm, good idea John, I’ll look into that

  • krivx
    May 9, 2014 - 5:48 am | Permalink

    Is that a C64 keyboard?

    • Chas
      May 9, 2014 - 6:30 am | Permalink

      Good eye, it is 🙂

      • May 9, 2014 - 7:12 am | Permalink

        That gives me a terrible idea…think this would fit inside the case of a C64/VIC-20? Make the keyboard switchable between the terminal and the host machine…

        • Chas
          May 9, 2014 - 8:00 am | Permalink

          Oh definitely, I’ll produce some PCBs and also make the PCB project available on OSH Park for free once it’s all finished and tested. PS. Don’t hurt that poor antique 🙂

          • May 9, 2014 - 8:40 am | Permalink

            Yeah, I’ll have to be respectful to my VIC-20 with the modification. But, looking inside it, there’s a ton of dead space. The hard part will be making sure any changes are reversible. But it’d be too much fun to have my VIC-20, by way of this PIC terminal, connect up to my Alpha Micro S-100 bus computer.

            Now I’m even more eager to see how this turns out!

    • Jay Carlson
      May 9, 2014 - 7:24 pm | Permalink

      It’s a Commodore 16 keyboard. Notice the ESC key; a C64 has ← there.

      Commodore must have ordered a *lot* of these. That keyboard module was sold as surplus; I think I bought one at Radio Shack.

  • May 9, 2014 - 5:48 am | Permalink

    Yeah, this pretty much rocks. Can’t wait to see your progress.

  • May 9, 2014 - 5:40 pm | Permalink

    I am curious how you are generating the video here. Is the PIC doing it or some offchip video solution?

    • Chas
      May 9, 2014 - 7:43 pm | Permalink

      Ray, off-chip.. MicroVGA. They did it right, it uses an FPGA (and a PIC). The only really annoying thing is you need to set it up with a PS/2 keyboard if you don’t want to use 1,000,000 baud.

  • Leave a Reply