ZTO-80 SBC Features:
- 6MHz Z80 processor
- 32K of ROM, from $0000 to $7FFF
- 32K of RAM, from $8000 to $FFFF
- Z80 SIO (DART) controlling a full RS-232 serial port (57600 baud)
- Z80 PIO controlling two channels, one connected through a darlington transistor array
- Z80 CTC with four software-programmable timer/counter circuits
- Modified NASCOM BASIC (Microsoft BASIC) interpreter
- Bus expansion header
- Open-source hardware!
The heart of the ZTO-80 SBC is the Z80 CPU, first designed by ZiLOG in 1975.
My Z80 SBC is designed around hardware that would have been available during the 1980s, with only a few exceptions. Despite this, however, all of the hardware to create the SBC is still manufactured and readily available, including the entire Z80 family and the 74xx family. As of writing, every part can be found on Digikey if you use a Z80 SIO/0 in place of the DART. They can be expensive, so I have found that eBay is a good option to find chips for lower prices. However, you do need to be careful about fake and counterfeit chips. Once I create a good BOM I'll add it to the project files, but most of the part numbers are silkscreened onto the board.
Important hardware info:
The term "ZTO-80" can refer to either the SBC or the modular bus design. Usually, to clarify which I am talking about, I'll say either "ZTO-80 SBC" or "ZTO-80 Bus".
Note that the power input for the SBC is 5V only and is not regulated on the board. Anything higher than 5.5V can damage or destroy some ICs! On a standard board, power is provided through a 5mm barrel jack with a 2.1mm pin. I choose to use a cable such as this one so that I can use a USB port or AC adapter as a power source. On the SIO card, either serial port can be used to provide power to the whole system, which is useful as it means that you only need one cable to use a minimal system. It is very important to only connect one power source at a time. I recommend removing the serial power jumpers from any ports when power is not being provided by them so that only one or none of the jumpers are connected at a time.
The Z80 DART is a version of the Z80 SIO/0 with all synchronous functions dropped. It is hardly manufactured (although still active) and i cannot find any info on a CMOS version, so it was likely never created. For this reason, it may be desirable to substitute the DART for a Z80 SIO/0. This chip is still produced in its CMOS variant and is nearly pin compatible with the DART. The difference between the chips is that the SIO/0 has pins 11 and 29 as SYNCA and SYNCB for synchronous operation, while the DART uses them for RIA and RIB (ring indicators for modem control). These pins are grounded on my designs, so either the DART or SIO/0 will work just fine.
I have taken the time to create and layout schematics and PCBs for this project, and they can be viewed in the project gallery and interacted with at my EasyEDA page here. Recently, I have migrated from EasyEDA to KiCad. I may or may not redesign the boards with KiCad, but they will all still be hosted on EasyEDA. All new designs will be made with KiCad. The boards have 0805 SMD passives, but they are large enough to easily solder even without magnification. I currently don't sell PCBs, but you can have them ordered through JLCPCB or any other fabrication service. An order of 5 of the SBCs (excluding shipping) costs $8 from JLCPCB. I will likely start a Tindie page to sell boards and modules soon, if it is requested.
Ideas for the future:
- CP/M capability
- An external keyboard/video board to allow standalone functionality
- VGA and PS/2?
- A memory expansion board
- Better PCB layout
- Combining the RAM/ROM and I/O decoding chips
- Possible, but would likely change memory map and prevent more on-board I/O
- Maybe power supply regulation
- Would be on backplane
- Linear regulator has min. input voltage of about 7V, so USB power (5V) couldn't be used without some kind of...