Regardless of whether you want to make this project on breadboard or a PCB, you should build it according to the following:

Assembly on Breadboard

Shown here is the working prototype (click image to zoom) with the major sections of the board annotated. It is possible to build your own terminal on breadboard instead of the PCB. High speed digital logic can be tricky to get running on breadboard and more experience is required than simply building the PCB.

We've used a wire colour scheme to reduce wiring errors: Red & Black are power, Orange & Grey are logic '1' & '0' pull-up & pull-down, Green & Purple are Address & Data busses and yellow is for all the other signals.

The layout and wiring should not be copied exactly as shown, because the design has changed slightly. Instead use the schematics provided and best practices for building on breadboard.

PCB Assembly

The Bare PCB

Below is the top and bottom of the bare PCB.

Shown below is the PCB with the functional blocks outlined.

# Description
1 25.175MHz crystal oscillator
2 Font RAM
3 Horizontal timing generation
4 Vertical timing generation
5 Colour re-timing + combiner and pixel shift register
6 CPU font address + data buffers and font address mux
7 RS232 driver
8 CPU data write buffers
9 CPU data read buffers
10 Video data read buffers
11 RAM timing generation
13 CPU address buffers
14 Character RAMs
15 Video address buffers
16 Power and decoupling

Component Assembly

Assembly of the PCB is straight forward, as long as you are careful and take your time. The following are some points about assembling the board:

  • All components are on one side of the board and there are no surface mount components
  • Observe standard best practices for PCB assembly, such as anti-static precautions etc.
  • Fit components in ascending height order
  • Make sure all polarised devices are fitted the correct way round.
  • Make sure all connectors are sat flush with the PCB before soldering
  • You may want to put the CPU in a socket or not fit it if you intend to drive the hardware with your own circuit
  • If putting the board in a box, consider attaching the LED to the pads with wire so it can be installed as an external power light

Some notes on the parts list:

  • The RS232 driver chip (U35) is listed as a MAX232E, however this part can be quite expensive and requires high value capacitors (C3-C7, ~10µF), so a pin compatible driver can be put in its place to cut the cost. The downside of this is that a MAX232E will run at 230kbaud, whereas cheaper equivalents will only run at a maximum of 115kbaud. We have also been made aware that some makes of MAX232EPE chips get hot with 10µF capacitors and require 1µF to start up properly. This information is in the manufacturer's datasheets and varies a lot between companies so please check the exact part you have against the datasheet.
  • The board supports both 8 and 14 pin variants of the crystal oscillator, to give a larger choice of parts. Refer to the PCB legend for correct fitting.

Before powering on the device for the first time, carefully inspect the board. Some example things to check may be:

  • All DIP packages are installed in the correct orientation (all of them face the same way on this board)
  • The quality of the solder joints, e.g. no solder splashes or dry joints

If you want to drive the hardware without the microcontroller, connect your own control circuit to the microcontroller pads. More details on how to do this are on the Technical Details page.

Seen here is an example of a finished board (top) and a PCB layout (bottom) showing the PCB dimensions and mounting hole positions.

Loading Firmware

To program the CPU, a programmer such as a PICkit 3 or equivalent should be used.

  1. Download a PIC firmware binary from the Resources page.
  2. Connect the programmer onto connecter J6. Please note that the connecter has 5 pins but the programmer usually has a 6-way connector, so make sure pin 1 on both are lined up.
  3. Power on the board
  4. Flash the device using the programming software
  5. Power off the board
  6. Disconnect the programmer (the software won't run with the programmer connected)

If programmed correctly, on power on the startup splash screen with the Debug Innovations logo will appear on the display with the correct firmware version number. The terminal is now ready to use.

Housing the Finished Board

Once the board is assembled, it can be housed inside a box. The box shown below is a Takachi PF20-4-20W, Farnell part no. 247-8792, RS part no. 174-8952. Many other boxes are suitable.

See the layout image above for details on the board dimensions and mounting hole positions. The mounting holes are sized for an M3 screw.

Left to right: VGA, RS232, PS/2 Keyboard, 5V DC Power


Some basic checks that can be made if you are having issues with your board are:

Check Details
Power LED If the power LED is not on, check the incoming power and the fuse.
Fuse Check that the 1A fuse (F1) hasn't blown. If it has, then it is possible the power has been connected in reverse.
Voltage Check the power supply voltage with a meter across D1. It should measure 5V. If low, it may be caused by a long power lead or a high current (next step).
Current Measure the current consumption of the board. It should be no more than ~200mA, but ~100mA is typical when running. Low current may also indicate something is not connected properly.
Solder Joints Solder joints may be an issue if not done properly. Check all pins on all devices have been soldered and that none are dry or have splashed.
Crystal frequency Check that the crystal is producing a 25.175MHz clock with a scope or frequency counter.
Firmware If no startup screen is displayed, then reload firmware to confirm that a valid image is present on the CPU.
Blank Screen If connecting and disconnecting the VGA cable causes the monitor to change power state (often indicated with the colour of the power LED), it is likely that the sync signals are running. The monitor menus may tell you the frequency, which should be 640x480 at 60Hz. Read the Technical Details for more information.
Corrupted Picture If the corruption appears in a regular pattern, it is likely caused by an address bit that is unsoldered or shorted. Any other type of corruption will have to be debugged with the Technical Details.
Screen Edge Missing Adjust the picture position using the monitor's button menus until the outer alignment box in the setup screen is visible.
Scrambled Text Too many characters may have been sent. Try using some sort of flow control.
Unable to Send Text Check flow control settings are set as intended and flow control lines are properly connected.