Sunday, 18 May 2025

Some tips for building (and troubleshooting) a Minstrel kit

I have covered this sort of thing before, but I thought it was a good time to revisit the process of building one of my Minstrel kits, and some of the steps you should take to troubleshoot any issues you might have.

This is based on my experiences and my preferences. Yours may vary. Feel free to not tell me about anything you disagree with.

Most kits work first time, or just need a quick repair to a bad solder joint. Please tell everyone about those.

You can order the kit pre-built, so it will arrive already built and tested, but if you want the fun of building it yourself, it will arrive in kit form. A good first step is to sort out all the parts.

I do my best to make it easy to identify the parts from the parts list. The resistors are all colour coded with the good old fashioned 4 band approach, and the colours are shown in the parts list.

The only tricky one in this kit (the Minstrel 4th) are the 22pF and 47nF capacitors, there are two of each.

I have used a different brand for the 47nF capacitors which are more clearly marked, so you can see the 473 marking (47 and 3 zeroes, 47000pF, 47nF). The 220 from the other brand is less clear (22 and 0 zeroes, 22pF). I am hoping the other brand will start to do more values so I can make them all the more clearly marked versions.

Lead free solder will ruin your day. I get the environmental concerns, but so much modern stuff fails due to bad solder joints caused by lead free solder that it probably generates even more e-waste. So step 1 is to throw your lead free solder in the bin and get some 60/40 tin lead solder, 0.7mm or whatever that is in other units. Something with lots of flux in it. I also use 1.2mm for soldering the larger connectors, I have always done that, it makes sense in my head, but that's up to you.

Once you have checked out all the parts, it is a good idea to fit all the lowest components first. The axial resistors, capacitors and diodes. (I forgot to take a picture, so here is one of a Minstrel 3 that I assembled previously)

I prefer to rest the board off a shelf (or you can get PCB stands) and insert all the components from the top in one go. I then solder them from the top of the board. I find that far easier than keep spinning the board around, and I think it looks neater as well.

You can then flip it over and cut off all the pins from the back in one go.

You will notice I talk a lot about aesthetics, I like things to look nice. The components are all lines up to look neat, but also I find it easier if I need to check the values when they are all lined up the same way.

Normally I have the black band on the diodes, the cathode end, lined up with the gold stripes on the resistors, the tolerance band (gold = ±5%). I also try to get the capacitor values upwards so they can easily be read.

What's that, you have got an extra 100nF capacitor?

I bet this is the one you missed.

Next come the ICs. I prefer to solder the logic ICs directly to the board. You can order the kit with sockets for all ICs if you like, or you can use your own. But please do not use cheap ebay dual wipe sockets. They are often very poor and do not give a good connection.

I like the way the 14 and 16 pin IC packages are the same size, so have arranged the positioning so they line up nicely (aesthetics again).

With sockets, you end up with the 16 pins chips on the end standing out more.

Personal preference, you do what works for you.

Next comes the sockets for the larger ICs, these are included in the kit.

These are good quality turned pin types (and not wire wrapping sockets as one commentor recently said on a YouTube video). I prefer this type. I find they give good reliable contact, and as long as you are not using reclaimed, desoldered chips with wonky legs covered in solder, they work well. Some people don't like them, so change them if you want.

Next is pretty much everything else.

Switches, connectors, jumpers, transistor, crystal, electrolytic capacitor, piezo sounder and voltage regulator.

The Minstrel 4th, even with a few RC2014 cards only uses 100-150mA, so the regulator does not need a heatsink. You can leave it free-floating, but I normally rivet it down (as shown here on an older board).

For a change, I soldered the tab today, but again, whatever works for you.

At this point the board is going to be covered in flux and some small flakes of solder or tiny off-cuts of leads etc. You really need to give the board a good clean at this point. It can make a big difference, and does sort out quite a few issues.

I recommend a good flux cleaner, I am currently using one with a built in brush and that is very effective. Follow that with a couple of washes with IPA to get rid of everything else and leave everything nice and clean.

Once the board is clean, give it a thorough inspection. You are looking for missed solder joints, solder bridges, dry joints, anything out of the ordinary. It can help to use an illuminated magnifier and hold the board at different angles, the bad joints often shine differently to the rest.

When I was building this one, I spotted a couple as I was working and thought, oh good, they will be good examples for the blog post. I then proceeded to absent-mindlessly fix them by force of habit before I took any photos.

I did have one I built recently where I missed a pin, easy to do, specially when you solder like I do, dragging the iron along, relying on flux and surface tension.

Based on 10 years of building these, remotely troubleshooting for people who have built the kits and investigating ones that have been sent to me to check over, I can honestly say that 95% of the problems are fixed by cleaning the board properly and fixing those little soldering issues.

Next it is time for the keyboard. Insert the switches carefully, they are a tight fit, so make sure not to fold any of the legs underneath. 

You can rest the overlay PCB on them to check they are all inline and sitting flat.

You don't actually have to solder the switches in, they make a decent enough contact just with the PCB holes, but it wouldn't hurt to solder them all in, but wait until the faceplate is bolted on to keep everything straight and level.

Fit the four longer screws and 4mm spacers to the overlay PCB.

And then fix that in place with four of the 10mm pillars from the back.

Fit the remaining two pillars with the shorter screws at the rear of the board.

Now it is time to install the socketed ICs.

The final step is to set the jumpers. Refer to the manual for full details, but set the video jumpers to suit. Both to the left is PAL video and black text on a white background.

The clock jumpers as shown below is 3.25MHz (Jupiter Ace standard) and that clock fed to the clock#1 pin on the RC2014 bus.

The A15 and A14 jumpers select the ROM from up to four different ROM images. Left is high, both left is the highest 16K ROM block in the ROM, which is the standard Forth ROM. There are another three combinations, more details on those in the next post.

Finally power. Both jumpers horizontal is for centre negative power supplies, as used on the ZX Spectrum, Commodore 16, and many guitar pedals etc. Both vertical is for centre positive which is pretty much everything else.

Ready to go, time to apply some power.

8-12V will do, 9V is the standard voltage. If you plan to use some power hungry RC2014 cards (i.e. something with a Raspberry Pi or display on it), you use a powered backplane or you could fit a 7805 switching regulator regplacement. They often have input ranges like 7-35V or 8-28V (as shown). You would need to change the electrolytic capacitor if you plan to use over 20V.

Power on, and all being well, you should see a small black square in the bottom corner.

It is a legal requirement that the first thing you should type is vlist.

After that, you can try some forth programming, load some games, even try some of the other ROM images.

Does it work?

If your kit works first time (or thereabouts) please tell the world, it will be greatly appreciated by the designer of the kit, and it's always good to hear positive news.

If it doesn't please reach don't tell the world until you have gone through some simple trouble shooting steps, and if that fails, try to reach out to the designer and try to get it resolved. 

It can really damage the perception of a new kit that someone may have been working on for months and spent lots of their own money on. If the first social media posts or YouTube videos that are seen show "I built this and it worked first time". People will think, "oh, I could do that and maybe my kit would work first time as well".

However, when they see posts about failed builds, they may think "oh, I don't think I will get one of those, mine probably won't work either". Fair enough if it is a bad kit, if the design or documentation is bad, but if there is nothing wrong with the kit itself, it might be casting it unfairly in a bad light.

Likewise, if you find issues, try to report those to the designer first. Sometimes those are not really issues, or get fixed for the next release, but the post stay out there and continue to have a negative impact as people might assume they are actual problems, or they have not been fixed. I hope it's not unreasonable to ask you to consider how things might be perceived, that's all I am asking. 

Troubleshooting

If you haven't already cleaned and checked over the board with a magnifier or a set of eyes younger than mine, go back and do that. It should solve 95% of problems

  • Missed solder joint
  • Solder bridge
  • Dry joint
  • Parts in the wrong place
  • Incorrectly oriented parts
  • Tracks damaged from rework

As well as those, there are occasionally issues like these:

  • Wrong jumper settings
  • Inappropriate power supply
  • Monitor / HDMI adapter that does not like monochrome composite video

It is very rarely anything else. If you went for the PCB only option and are using an assortment of "new old stock" ebay chips, it is quite possible you have fake / remarked or just plain faulty chips. That is particularly an issue on the Minstrel 2 with vintage 74LS series parts that might not be up to the job anymore. Particularly the higher frequency parts such as the 74LS86, 74LS74 and the 74LS157s.

If you have exhausted all of the above checks, then its time to look deeper into the circuit, but most of these builds just work first time, or sometimes need the odd soldering misdemeanour corrected and then are up and running, so be wary before going too far.

It can be counter-productive to start delving deeper without having done the cleaning and checking stages. Once you get into rework and replacing parts and the chances of success start to drop. Take a step back. Run some IPA over the board again, get out the even brighter light and the even stronger magnifier and look again. I can promise you most of the problems are there.

First checks

Power, clock, reset.

That is always my starting point.

Power

Check the incoming supply and all the supply rails, check various ICs around the board, both ground and VCC pins and make sure everything is connected correctly. Most chips have ground bottom left, and VCC top right, but not the Z80, 65xx chips or for some reason the 74LS93.

If any of the rails are high, low or simply missing, power off and check the jumpers, look for shorts or any chips getting hot.

Clock

If you have an oscilloscope, check for the appropriate clock on the CPU and anywhere else it is used, if there is no clock there, check the jumpers and trace back to the clock crystal and the driving chip. On the Minstrel 2 and 3, the clock is generated by a pair of 74x86 gates. On the Minstrel 4th, the crystal is driven by the microcontroller, and the clock is output on one of it's pins.

Reset

The reset pin on the processor should be high with a brief low pulse when power is applied or the reset button is pressed.

Data, Address and Control lines

If all of those are OK, time to start looking around at the data and address bus and control lines.

Look around various chips on the board. You want to see signals that are changing between high and low cleanly. If you find any that are in the muddy grey area around 2V-3V you have a bus conflict somewhere. Two chips are trying to drive the bus at the same time, could be a bad chip, or could be the control signals are incorrectly enabling multiple chips at the same time.

The kits use all new parts, and the programmed parts are all tested when the kits are assembled. The few exceptions are the Z80 and 7132 dual port RAM chips, but these are using stocks purchased before they were discontinued, so were new at the time, have just been sitting in a box in my workshop for a few years.


Adverts

The Minstrel 2, 3 and recently relaunched Minstrel 4th are available on my Tindie store.

The Minstrel 4th now features multiple ROM images, so you can run Forth or ZX80 or ZX81 BASIC, including slow mode. The BASICs are still experimental. They are fairly compatible, most things work, with a few caveats if programs have their own video routines for pseudo-high-resolution graphics modes or fancy loaders etc.

Yes, you can run 3D Monster Maze - that was my target. This is the original unmodified version, loaded from tape.


Patreon

You can support me via Patreon, and get access to advance previews of development logs on new projects and behind the scenes updates. New releases like this will be notified to Patreon first, if you want to be sure to get the latest things. This also includes access to my Patreon only Discord server for even more regular updates.

Sunday, 11 May 2025

Minstrel Input Monitor (Revisited)

About a year ago, I designed a one of a series of new modules for the Minstrel Expansion Bus (which has yet to catch on, but you never know).

This was a simple module that was meant to show keyboard and tape input activity with LEDs and a sounder to click when a key is pressed (like a Spectrum) and relay the tape loading noises.

As I was writing up the original blog post, I worked out that I had made a mistake, but the boards had already been ordered by that point.

They arrived and as expected, did not work as expected, and were consigned to the rejects pile.

The problem was one of timing of the Z80 read cycle.

Let me try to explain......

The Minstrel and ZX81 have a single input port. This is used to read the keyboard and tape data from the earphone socket.

The Minstrel 2 / ZX80 input port is shown here as that is the simplest version.

When the Z80 makes an IO read request and the address is even, the Port Read signal will go low (A0, IO_RQ and RD are low).

The 74LS365 has until the rising edge of which ever of those rises first to place the appropriate data on the databus in time for the Z80 to read it (shown as "In" in the diagram above).

The Minstrel Input Monitor duplicates that decoding and a 74HC74 flip flop is triggered on the rising edge of the port read signal to read the data from the bus.

At this point, it samples D7, the data from the tape as the Z80 will see it, digital data, rather than the analogue tape input signal.

That is quite useful to set your tape volume correctly, and also if the load fails, the IO reads will stop, so the LED will stop flashing.

When loading is complete, the display cycles resume. At the top of each frame there is an IO Read (actually the keyboard scan) that starts the vertical sync pulse, and an IO Write which ends the vertical sync. (from http://blog.tynemouthsoftware.co.uk/2023/10/how-the-zx80-generates-video.html)

That IO Write pulse is used to clear the flip flop in case the last data sampled was a high and would have left the LED on.

That all works fine, both the Z80 and the new latch are sampling on the rising edge of the Port Read signal.

The problem was the keyboard scan.

The keyboard is read once at the top of each screen draw cycle. For that first scan, the keyboard rows are setup so that if any keys are pressed, one of the data lines will read as low.

If that is detected, then each of the 8 rows are scanned separately to determine which key or keys are pressed (making the 9 IO Read pulses shown above).

You would think that you could do something like this, when any of the data lines are low on the rising edge, the Key Pressed signal will go high.

The problem is when the subsequent rows are scanned, if no key is pressed on that row, the signal will be cancelled and the pulse would be very short.

To get around this, on the first version I thought "if it is an IO request and one of the lines is low, then trigger the flip flop". Which seems reasonable?

But of course it isn't. That is triggering the flip flop if "any of the data lines are low during the IO read cycle". But the data is not valid for the entire IO read cycle, only on the rising edge at the end. So of the data on the bus happens to have any of D0-D4 low at any time during the IO read cycle, then it will trigger the key press unintentionally.

I must have been having an off day when I put that together.

This is what I should have done.

Here a second AND gate combines the keyboard scan data with the previous state, so if a key is pressed, or a key has been pressed, Key Pressed will remain high even if a row is scanned with no keys pressed.

If a key press is registered, the Key Pressed signal will remain high until the vertical sync pulse ends with an IO write, which will clear the flip flop so Key Pressed will go low.

This sequence happens at the start of every frame, so this will create a 50Hz tone on the piezo if any keys are pressed.

The two signals generated will be high when active, one if there is a key pressed, one when the tape data is high.

Two LEDs are used to show the state of those signals. I have used green for a key press and red for tape data.

Audio indication of the two signals can be provided by a piezo sounder.

The OR gate mixes the signals to drive the piezo sounder. (I had previously used the spare AND gate as the mixer, but I had to switch them around and now I have the spare OR gate).

Jumpers are provided to disable either signal before the mixer, in case the sound becomes annoying.

The board is designed to be used with the Minstrel Expansion Bus, either the socket on the back of the later Minstrel 2 and 3 boards.

Or in the backplane with other cards.

You could also fit an edge connector and use it with a Minstrel or a ZX81. (joystick module show here as an example)

Or you could use the backplane with the ZX81, lots of options.

The schematics above use ideal arrangement of gates, but it is not possible to easily get a 5 input AND gates, or the other assortment of 2 and 3 input AND and OR gates on just a few chips.

The actual design uses a quad 2 input OR gate and a triple 3 input AND gate to implement the same logic, as shown in the complete schematic.

I don't really like those "all on one diagram" type schematics, but it seems everyone else does, so I have made that a full page at the end of the manual. Landscape to make it most readable. Posh.

The new version looks almost identical to the original, other than a few traces have been rearranged.

This is available in kit form or assembled.

Adverts

I have listed this and all the other Minstrel Expansion Bus modules and backplane on Tindie (including the full size Minstrel ZXpand).

Last week, (yes, on May the 4th), I relaunched the Minstrel 4th.

The new version is available now form my Tindie store, and soon from Z80 kits, home of the RC2014.


Patreon

You can support me via Patreon, and get access to advance previews of development logs on new projects and behind the scenes updates. New releases like this will be notified to Patreon first, if you want to be sure to get the latest things. This also includes access to my Patreon only Discord server for even more regular updates.