uTerm (micro-Term) is a VT100-like terminal for the Z80-MBC2 (or V20-MBC).
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 project.
uTerm is an add-on card for the Z80-MBC2 (or V20-MBC) 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 (or V20-MBC) (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 (or V20-MBC) 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.
|Color||RED (JP2)||BLUE (JP3)|
|Amber||X X=X||X=X X|
|Blue||X=X X||X X=X|
|Green||X=X X||X=X X|
|White||X X=X||X X=X|
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 project, 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 (or V20-MBC) 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 pins SWCLK, SWDIO, GND, 3.3V to the corresponding pins of the SWD connector (J6) of the uTerm board.
WARNING!!: When connecting the ST-Link-V2 to the uTerm, pay attention to use the 3.3V pin to source the power and not the 5V pin!!!
Please note that some ST-Link V2 may have a different pin placement!
So check carefully yours using the printed layout:
In the following photo there is a ST-Link V2 connected to the uTerm (previous version):
When the ST-Link V2 is connected to the USB of your workstation re-execute the STM32 ST-LINK Utility.
Go to the Target → Connect menu of the STM32 ST-LINK Utility.
The following situation will appear for a “blank” STM32:
Go to Target → Settings and check that you have the same settings (the Frequency setting may be different because I have lowered it using a VM):
After that go to Target → Program & Verify, select the binary file to flash and press the Start button (verify before that Verify while Programming is checked):
When finished it will be possible to see the green message of the successful write and verification in the bottom of the window:
All done! Disconnect the ST-Link V2 from USB first and than disconnect it form the uTerm.
To do a first check just connect the VGA (J8) to a monitor and the power input DC-IN (J2) to a 9V DC source.
A blinking cursor should appear in the upper left of the monitor.
I'm currently making a “stand-alone” version of the uTerm (uTerm-S) with an embedded RS232, so it will be a “legacy” VT100-like RS232 terminal.
I need it for an other “experiment”.
I've prepared an “easy link” to order a small lot (min. 5 pcs) of PCB here.
If you are looking for a kit with all the needed parts (including the 3D printed parts) or an assembled unit ready to use there is a professional seller that can sell both and ship worldwide.
The link to the seller is this one.
PCB Assembling Guide.
PCB Gerber files (100mm x 53mm).
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.
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).