Regardless of whether you want to make this project on breadboard or a PCB, you should build it according to the following:
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.
Below is the top and bottom of the bare PCB.
Shown below is the PCB with the functional blocks outlined.
|1||25.175MHz crystal oscillator|
|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|
|8||CPU data write buffers|
|9||CPU data read buffers|
|10||Video data read buffers|
|11||RAM timing generation|
|13||CPU address buffers|
|15||Video address buffers|
|16||Power and decoupling|
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:
Some notes on the parts list:
Before powering on the device for the first time, carefully inspect the board. Some example things to check may be:
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.
To program the CPU, a programmer such as a PICkit 3 or equivalent should be used.
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.
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.
Some basic checks that can be made if you are having issues with your board are:
|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.|