Friday, February 3, 2023

Exploring the Z80-MBC2 Soup to Nuts Chapter 3: Building the Z80-MBC2

Before we begin, I'll assume that you have gathered the parts required using the Z80-MBC2 "Build of Materials" worksheet.   All of the requirements and files can be found here.

The chips required for this build are:

  • Z84C0008 (CMOS) Z80 CPU.
  • ATMEGA32A-PU
  • TC551001-70
  • 74HC00
  • MCP23017 

The Z80, ATMEGA32A, and TC551001 can be sourced from distributors like Digikey, or your favorite supplier.  I sourced the MCP23017, 74HC00 and all of the other sockets, resistors, leds, etc. from Tayda Electronics.   The "Micro SD TF Card Storage Adapter Board",  "DS3231 IIC Module Precision Real Time Clock" and "USB to TTL Serial Port Module CH340N" are easy to find on Ebay.  The board gerbers are provided for those who are comfortable with having a batch made from PCBway or JLCPBC, but you will also find sellers on Ebay who are selling the bare PCB for less than $10.  Tindi has complete or partial kits from various sellers on and off.

While you are browsing Ebay for the serial-to-TTL, SD, and RTC modules, I'd also order a "10 Pin Convert to Standard 6 Pin Adapter Board+USBASP USBISP AVR Programmer USB."  This two piece kit will be used for loading the required sketch to the Atmega32 chip.

You can skip the MCP23017 chip, socket, and pin headers if you are not interested in GPIO, but I'd recommend building it.   This tutorial will demonstrate projects which uses the GPIO pins.

I've substituted the Z80 chip for the 10Mhz variety I had already in the shop, and they work fine.   It still runs at 4mhz or 8mhz, as dictated by the Atmega32 microcontroller.

I'd recommend printing off a copy of the Build of Materials and the PCB Front Reference for use as you assemble this project.  These will be your reference documents for where parts go and what they are.  This guide will assume that you have basic understanding of soldering and that perhaps you may have built one or two other projects.   

A special note concerning the build order:

The presented build order is my personal preference, but feel free to modify it. Installing components from smallest to largest can simplify the process. For instance, starting with resistors and diodes (Steps 5 and 6) before moving on to larger components can reduce difficulty during assembly. My approach is to begin with sockets and headers as I find it easier to secure them to the PCB with tape while soldering.

Got your parts?   Warm up the soldering iron and let's get busy.

1.  Start with the sockets first.

Insert the five sockets, making note that the notches in the socket itself are facing the same direction as the silkscreen notches.   If you get them backwards, they will still work, but may be confusing when you install chips later.   I tend to tape them down with a will electrical tape, then solder only 1 pin on each side to make sure they are completely seated before soldering the rest of the pins.  If a socket is sticking up, it's easy to heat up one pin while pushing back against the PCB.
 




2. Solder in all of the pins and headers:


Instead of installing the recommended JST_XH 02 (AUX Power) and IDC_PCB (ICSP) connectors, I opted to use straight pins. The listed connectors in the BOM are ideal due to their keyed plastic, which prevents incorrect insertion, but if you're paying attention, straight pins will suffice. For the GPIO, I used two single-row connectors that sit next to each other. If desired, female headers in the GPIO can also be used for a more Arduino-like setup.

When installing headers, a useful technique is to solder one pin and then check the alignment of the headers and pins to ensure they are straight.  This makes it easier to heat them with the soldering iron and realign them if necessary. It is crucial that the GPIO and ICSP pins are properly aligned and straight.


3. Install the SIP resistors between the sockets.

Pay special attention here.  These resistors are designed to work in one direction.  On the SIP resistor there is a dot which indicates the orientation.  This dot needs to match up with the square hole on the board.   Note: These resistors face different directions on this project.


4. install the two 2N2907 transistors:

Make sure to orient the components correctly. Follow the silkscreen markings on the board and position the flat side facing forward. Be careful when soldering these as the connections on the back are close together and can easily be connected by excess solder. If this occurs, don't worry, simply use a small amount of solder wick to remove the excess.  Avoid overheating the wick, as this can harm the transistors. If using solder wick, use it sparingly and with a brief touches of the iron to prevent damage to the part.


5. Install the Diodes:


There are two types of diodes used in this build, both of which have a line or stripe on one side. Ensure that this stripe aligns with the corresponding stripe on the silkscreen, as it indicates the diode's polarity. Diodes are like one-way streets, allowing current to flow in only one direction. If they are installed incorrectly, they may block signals from reaching their intended connections.


6 Install the resistors:

Resistors have no polarity, so they can be installed in any direction. They are marked with colored stripes that indicate their values. The first two stripes indicate numeric values, the third stripe is a multiplier, and the fourth stripe represents tolerance. Make sure to take your time and refer to the BOM sheet for each type of resistor. A neat and organized installation, with the tolerance stripes aligned in the same direction, is a bonus.

If you need to double check the value of your resistors, Digikey has an excellent resistor color code calculator.


7. Install the 22pf & 0.1uf capacitors, and the crystal:

There are three types of capacitors in this build.  The two 22pf caps are nearest to the crystal.  This is a good time to install the crystal as well.  The 0.1uf caps are scattered around the board.   These caps can be installed in any direction.  

8. Install the LEDs:

Just like the other diodes, the LEDs do have polarity and must be installed in the correct direction.  The shorter leg of the LED is the negative side.  Install it in the LED position with the shorter leg going into the square on the PCB.   In my own build I substituted the white LEDs for orange with good result.   The blue LED cannot be substituted.  There is a chance that the USER button will not function correctly without a blue LED in this position.

 

9 Install the two 100uf electrolytic capacitors:


 Just like the diodes, these two capacitors have a negative and positive side.  The negative side of the capacitor is well marked on the package and the positive side of each position also has a + sign on the PCB.   This is also a good time to install the two tact switches at the front of the board.


 10.  Install the chips!!!!

It's so exciting, you are almost done, but SLOW DOWN at this step.  New chips tend to have their pins splayed apart a bit more than the socket, so I gently hold the chip at an angle against my desk and give them a very gentle push to move the each side of the pins inward just a little bit.  Chips which are recycled can have very weak pins subject to bending as you insert them into the socket.   Line up the chips with those notches we talked about earlier and GENTLY insert them evenly into the sockets.  If you see a pin starting to bend, carefully remove the chip, straighten the pin and try again.


11. Clean up the solder flux from the bottom of the board.

You probably have a mess of soldering flux on the bottom of your board.  This needs to be removed as it will cause damage over a long time.  Use isopropyl alcohol (70% or greater) and a clean toothbrush or two to get the board clean.  Also use a lint-free rag to wipe the flux clean.   Electronics cleaners can also be used, with the end result of getting things clean.  At the same time review your soldering connections under a magnifier to locate any missed connections or cold (dull grey) solder connections.

 

Next, we'll discuss programming the Atmega32 and booting it up...

 





No comments: