A VT100-like terminal for the Z80-MBC2

Similar projects worth following
uTerm (micro-Term) is a VT100-like terminal for the Z80-MBC2 ( It has a VGA out and PS/2 keyboard connector, a power supply for the Z80-MBC2 and a "transparent" serial-USB port. The video terminal is based on the ChibiTerm (


uTerm is an add-on card for the Z80-MBC2 single board computer to add a VT100-like terminal, a power supply and a "transparent" serial-USB port for a serial-USB adapter.

Here a previous version of uTerm vertically inserted into the Z80-MBC2 board:

and here assembled horizontally:

With the uTerm the Z80-MBC2 becomes an "autonomous" computer:

A couple of videos running "famous" CP/M games:


The uTerm has a "transparent" USB-serial adapter connector, so you can upload firmware to the Z80-MBC2 (using Arduino IDE) or load an Intel-Hex file (with iLoad) or use XMODEM to exchange files with a PC (running a terminal emulator that supports XMODEM file transfer) while the uTerm is in use.

Both the "mixed" power supply scenarios (USB-serial adapter not powered from USB but Z80-MBC2 powered and vice-versa) are managed by the HW, so you don't need to worry about it. In the following photo a serial-USB adapter is connected with a cable to the transparent SER_USB port:

This allows to use two keyboards and two monitors in the "same" time (one keyboard and monitor attached directly to the uTerm, and another keyboard and monitor of the terminal emulator on a PC connected with the serial-USB).

Or you can use the monitor attached to the uTerm and the keyboard of the terminal emulator on a PC. This is exactly the "configuration" I used in the following photo. As you can see, there isn't any keyboard attached to the uTerm (previous version attached to the Z80-MBC2 with a cable):


It is possible choose among 4 colors (green, white, cyan, amber) for the output VGA signal. To select the color use the JP2 and JP3 jumpers. In the following photos are shown the setting for JP2 and JP3 to select the color as white or green respectively:


This connector is intended for a better power supply connection for the Z80-MBC2. The use of this connector is recommended only if the uTerm and the Z80-MBC2 are connected with a cable. If they are directly connected (vertically or horizontally) the use of J3 is optional.


For a solid vertical mounting two 3D printed angled brackets have been created:

Please note that the left and the right angled bracket are different:

The .STL files are in the Files section.


For a solid horizontal mounting two 3D printed straight brackets have been created:

The .STL files are in the Files section.


uTerm is based on the ChibiTerm (, and the original software was modified to avoid any "interference" using the "transparent" serial-USB port.

The FW is available as source or a binary file ready to be flashed into the STM32. The source files are in the linked repository on Github. The binary file ready to upload is in the Files section.

uTerm serial is set to 115200 baud to meet the speed of the Z80-MBC2 with the current IOS revision. Only the US keyboard is supported. It has a 80 columns x 30 rows screen.


In the following we'll see how to flash the (executable .bin) binary file into the STM32 MCU using a ST-link V2 programmer.

The first thing you need is the STM32 ST-LINK Utility (STSW-LINK004) utility. You must download it from here (a registration may be required).

Install the utility and execute it. When you execute it without the ST-Link V2 programmer connected this is the output:

Now is time to use the ST-Link V2.

* * WARNING!! * *: Before to connect the ST-Link V2 to the uTerm, check carefully that the uTerm is not powered and not connected to anything else!

Always connect before the ST-Link V2 to the uTerm and then connect it to the USB!

Connect the ST-Link V2 to the uTerm using the...

Read more »

uTerm FW A071218_v2.bin

The firmware for the STM32 MCU in binary format ready to be flashed. This new version solves a bug in some situations using the right CTRL key (i.e. CTRL-L).

octet-stream - 12.68 kB - 12/01/2019 at 19:44


3D Printed Brackets

The .STL files to print the two angled or straight brackets with a 3D printer, for a vertical or horizontal assembling. Please note that the left and right bracket are different.

x-zip-compressed - 19.69 kB - 05/27/2019 at 14:57


Adobe Portable Document Format - 84.57 kB - 05/08/2019 at 08:12


spreadsheet - 15.46 kB - 05/08/2019 at 08:13



PCB Gerber files (100mm x 53mm).

x-zip-compressed - 184.01 kB - 05/08/2019 at 08:17


View all 6 files

  • FW Bug fix (uTerm FW A071218_v2.bin)

    Just4Fun12/01/2019 at 19:53 0 comments

    Thanks to gkaufman of the Retrobrew Computer Forum a bug has been discovered and solved.

    The bug affects the right CTRL key in some situations (i.e. CTRL-L).

    Please upgrade your uTerm with the latest .bin file to solve it (see the Files section).

View project log

Enjoy this project?



Arthur wrote 01/07/2021 at 12:02 point

Hi guys, my ST-Link V2 can't identify the stm32 mcu. I've already inspected the lanes from the mcu to J6. It seems to be ok. Is there an option to program it f.e. with an arduino? Thank you

  Are you sure? yes | no

pino.giaquinto wrote 04/19/2020 at 07:33 point

It could be very convenient to configure (as I did with my PS/2 interface for the NE Z80, see -2 and the keys Ins, Home, End, Del, PgUp, PgDn, Up, Down, Right and Left according to the WS standard that many CP/M software adopt ... what do you think?

  Are you sure? yes | no

freefuel wrote 06/24/2019 at 19:58 point

Hi when ordering boards from what PCB Specifications should be selected from there service to correctly duplicate your design?  

  Are you sure? yes | no

Ken Yap wrote 06/24/2019 at 22:51 point

Pcbway has an express order page which can parse the Gerber files and set many of the parameters, have you tried that?

  Are you sure? yes | no

freefuel wrote 06/24/2019 at 23:18 point

I have, but I am still unsure what the correct specifications are, and I think it may have gotten the drill file importation wrong. 

  Are you sure? yes | no

Ken Yap wrote 06/24/2019 at 23:30 point

Looks fine to me in Pcbway's Gerber viewer. Aren't you submitting the zip file provided? Also have you checked if the maker has shared their project on Pcbway already? Edit: it's here: so you can just order from that page and the maker gets 10%.

  Are you sure? yes | no

villaromba wrote 05/30/2019 at 14:35 point

Great project thank you. Successfully built it from the kit version and it's working great.

  Are you sure? yes | no

Just4Fun wrote 05/31/2019 at 06:54 point


  Are you sure? yes | no

Just4Fun wrote 05/16/2019 at 07:52 point

Hi, GSX was intended for a graphic add-on card. uTerm is a VT100 Terminal, so GSX is useless in this case...

  Are you sure? yes | no

gururise wrote 05/15/2019 at 17:29 point

Possible to add GSX extension?

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates