Building an ASCII Video Terminal Kit

Completed ASCII Video Terminal

I decid­ed to build an ASCII VT100 video ter­mi­nal to go with my Tauntek log­ic IC tester.
I came across “Geoff’s Projects” web­site where he describes an ASCII VT100 com­pat­i­ble video ter­mi­nal that he built back in 2014. Since then sev­er­al peo­ple have pub­lished updat­ed ver­sions of the video ter­mi­nal with dif­fer­ent fea­tures. I decid­ed to check out an updat­ed kit by Peter Hizalev.

The com­plete kit is avail­able on Tindie for $52.00 USD plus ship­ping, which sound­ed like a rea­son­able amount for a com­plete kit with a pre-pro­grammed PIC microcontroller.

ASCII ter­mi­nal print­ed cir­cuit board top
ASCII ter­mi­nal print­ed cir­cuit board bottom

The kit con­sist­ed of a nice­ly wrapped PCB, and sev­er­al small plas­tic bags of com­po­nents, grouped by con­nec­tors, pas­sive com­po­nents, IC’s, etc.
This was my first chance to get an up-close look at the PCB, and to decide in what order I would be installing the com­po­nents.
The first thing that stood out to me was the plat­ed mount­ing slots for the PS2 key­board con­nec­tor, and I said to myself “nice job on the slots”. But then I con­tin­ued to look at the board­’s trace rout­ing with dis­ap­point­ment. There are so many things wrong with the boards com­po­nent place­ment and rout­ing, that I would have to say this is the worst rout­ed kit cir­cuit board I have ever seen.

I remem­ber some of my very first cir­cuit boards that I designed, and they weren’t much bet­ter than this one. But they were for my own projects and learn­ing expe­ri­ence, and I did­n’t sell them as a fin­ished product.

ASCII  VT100 Terminal display
ASCII VT100 Terminal dis­play with TTL ser­i­al ADC test readouts

I am not a big fan of CAD autorouters, but some­times they are a great start for a com­pli­cat­ed PCB.
This is not a com­pli­cat­ed PCB.
If using an autorouter it is usu­al­ly pru­dent to visu­al­ly check the fin­ished rout­ing and make some adjust­ments in com­po­nent place­ment, or hand route odd­ly placed con­nec­tions. It seems none of that took place on this board.

All the traces are the same size (10 mil). Typically pow­er and ground traces are larg­er than small cur­rent / sig­nal traces. The pow­er and ground traces are daisy chained from com­po­nent to com­po­nent on this board, with very thin con­duc­tors which is not good prac­tice.

The 20 MHz crys­tal oscil­la­tor and capac­i­tors are mount­ed more than halfway across the board from their micro­proces­sor ter­mi­nals, and are rout­ed next to video and oth­er traces. The crys­tal and asso­ci­at­ed com­po­nents should be mount­ed as close to the micro­proces­sor’s OSC pins as pos­si­ble using thick traces. This helps reduce par­a­sitic induc­tance & resis­tance. Typically a ground plane should be pro­vid­ed under the crys­tal and tied direct­ly to the micro­proces­sor ground, or at least a guard ring.

Another issue was incor­rect place­ment of bypass capac­i­tors for the micro­proces­sor. The PIC micro­proces­sor datasheet spec­i­fies the require­ments and rec­om­men­da­tions for bypass capac­i­tor size and place­ment on the PCB. The 0.1 uF capac­i­tors were placed so far away on the PCB I thought they were for some­thing oth­er than the micro­proces­sor. Bypass capac­i­tors should have wide traces to reduce induc­tance, and be placed as close to the pow­er and ground pins for the com­po­nent they are bypass­ing as pos­si­ble.

And the list of issues with the phys­i­cal cir­cuit board goes on and on.

Bottom of com­plet­ed ASCII ter­mi­nal board

Much to my sur­prise, after test­ing and installing all of the com­po­nents, the ter­mi­nal board actu­al­ly worked.
The set­up menu screen for the ter­mi­nal set­tings works extreme­ly well, and I was able to quick­ly set it up for use with my Tauntek log­ic IC tester using an old­er VGA mon­i­tor.
The menu sup­ports Baud rates from 110 to 921,600, with one or two stop bits, and par­i­ty of none, even, or odd. The “Terminal” sec­tion of the menu has 14 selec­tions for items such as select­ing the char­ac­ter set, key­board com­pat­i­bil­i­ty, XON/XOFF flow con­trol, and many oth­er func­tions. The menu was easy to nav­i­gate, and stored the set­ting for the next power-up.

VT100 ASCII Terminal set­up menu screen

Even though I now have a func­tion­ing ASCII video ter­mi­nal, I can­not rec­om­mend pur­chas­ing this ver­sion of the kit.

I did end up chang­ing the val­ue of R5 from a 220 Ohm resis­tor to a 270 Ohm resis­tor. This is the resis­tor for the ana­log R/G/B 75 Ohm video sig­nal and should out­put 0 to 0.7 volts.
I also end­ed up chang­ing out R10 and the blind­ing­ly bright red LED, to a dif­fused green LED and a much high­er val­ue resis­tor to reduce the LED cur­rent by 50%. The LED is always lit when the board is pow­ered on, and flick­ers off and back on dur­ing ser­i­al data transmission.

VT100 ASCII Terminal 3D print­ed enclo­sure base with top removed

After ini­tial­ly writ­ing this post and post­ing a review on Tindie, Peter respond­ed and thanked me for an hon­est assess­ment. Also he did­n’t use KiCAD autoroute for the trace rout­ing as I mis­tak­en­ly assumed, and rout­ed the board man­u­al­ly.
Also Kicad autorouter was removed in ver­sion 5.
It seems that he is gen­uine­ly inter­est­ed in improv­ing his design, and had sev­er­al ques­tions on how to learn more about board design. It was refresh­ing to have a con­struc­tive dis­cus­sion with some­one who is will­ing to improve their skills and their project.

He is work­ing on improv­ing the design. So I am look­ing for­ward to see the next ver­sion of the VT100 ASCII Terminal.

Leave a Reply

Your email address will not be published. Required fields are marked *