Slightly OT: Is it just me?

Let's talk about anything related to the 6502 microprocessor.
Post Reply
User avatar
BillO
Posts: 1038
Joined: 12 Dec 2008
Location: Canada

Slightly OT: Is it just me?

Post by BillO »

Over the last couple of years I kind of got a little busy with life, but still had time to prototype and test a few interfaces for my 6502 designs. Got them all working as I wanted and finalized the schematics. Then recently I decided to have them made up into PCBs, so did the layouts and sent them off for manufacture. I was fairly confident they would be just as I wanted them.

Here is what I got back:
All.jpg
From left to right: The first card is a PWM generator with parallel input and output plus a decoded bus access point. The next is video card based on the TMS9918, and the last one is an analog card with two ADC, two DAC and another decoded bus access point. I built them up, but even as I was building them and thinking about the CUPL code for the glue I either realized I missed some important signals, or left out a feature/alternate layout I seemingly can't live without.


PWMK.jpg
For the PWM card I forgot to bring Phi2 into the GAL. I had also moved one of the output patterns without updating the Vcc and GND layers, effectively shorting them out. After fixing those (see bodges) and testing things out I realized something. The card provides two outputs. TTL level and a open drain via a 2N7000 MOSFET. Both worked as expected except I found did not like the inverted pulse width of the open drain output. In my mind a higher number should mean a wider pulse width. So now I have a new card coming that incorporates the corrections and changes.


VidK.jpg
For the video card I forgot to bring the Slot Select signal from the bus to the GAL. If it was the only card in the backplane that would not be an issue. To me though that defeats the whole idea of a backplane. That's the long bodge wire. The shorter one was as a result of me trying an experiment I eventually rejected. Also, while in use I really did not like the two pin video out and wished for an RCA jack. There is a corrected and updated board on the way.



AnalogK.jpg
For the Analog board I did not think things through 100% here either. My prototype had only 1 ADC and 1 DAC. The ADC was device 0 and I initiated the conversion by writing to it, then going back to read the result. The DAC was device 2 and was write only. For this board I wanted 2 of each and a buss access point. I also wanted ADC1 and DAC1 to be the same device # and ditto for ADC2 and DAC2. However, that left me with no way to initiate conversion on the ADCs. The bodge wire you see brings A0 to the GAL. This acts like a virtual 'register'. So if the ADC is at $8100, then conversion is initiated by a read to address $8101 with a subsequent read to $8100 to get the value. I also do not like the arrangement of the pins for the ADC inputs and wanted to update the silk screen and move the bus access connector back a bit. The DACs worked as expected. As before, a new board is on the way. Oh, the purple color was also an experiment. It looks okay.

So, this sort of thing is pretty much par for my course. I do occasionally get it right first go, but that is less than 25% of the time. Is it just me or do others have these experiences?
Bill
User avatar
BigEd
Posts: 11463
Joined: 11 Dec 2008
Location: England
Contact:

Re: Slightly OT: Is it just me?

Post by BigEd »

It seems common in retrocomputing to need at least a second spin of a board, even if there are no mistakes to be corrected, because when the first half dozen get into people's hands all sorts of variations between machines show up, as well as variations in usage pattern.

I suppose everyone tries to check before they ship, and it's a good idea, but I would think very few check carefully and thoroughly enough never to need any kind of bodge or respin. Fortunately, prices for PCBs are much lower and turnaround times much shorter than they used to be, so it's not so costly in time and money. And sometimes, shipping is the only way to stop adding features and to see how the thing works in practice.
daniMolina
Posts: 214
Joined: 25 Jan 2019
Location: Madrid, Spain

Re: Slightly OT: Is it just me?

Post by daniMolina »

So far, I've made PCBs for :

* EPROM programmed based on arduino
* Expansion card for a C64 to add two MOS6526 to the computer
* Breakout board for the C64 expansion port
* Pi1541+Fast Loader cart for the C64
* My very own SBC
* 3 board of the 74HCT6526

All of them (Except the breakout board) have required a second revision, or at least some bodge wires to account for some missing trace.

I've been getting better. For my first PCBs, I was so excited about it that I submitted it for manufacturing without too much review. Now, when I commit to a design, I wait for at least 2 weeks before ordering. It's incredibly easy to overlook something.
User avatar
CountChocula
Posts: 101
Joined: 07 Nov 2021
Location: Toronto, Canada

Re: Slightly OT: Is it just me?

Post by CountChocula »

BillO wrote:
So, this sort of thing is pretty much par for my course. I do occasionally get it right first go, but that is less than 25% of the time. Is it just me or do others have these experiences?
Very much not just you :-)

I'm used to very rapid iteration in the software world—we literally have whole teams of people who think about nothing else—and figuring out what the equivalent is for hardware has been one of the most frustrating challenges. In fact, I'm kinda curious to learn what folks do in a professional setting; when you're under the pressure of budgets and deadlines, do you still draw up a PCB and send it out for manufacturing every time you want to test things out? It must take forever to get anything done!

I started out with breadboards, but they just don't work well for me… I see that some folks build some amazing things with them, but I don't really have the space for them, and, if you move them around the shop, they become very unreliable very fast.

So I ended up moving on to PCBs; while I love how cheap it is to get a really good quality product that will last these days, I had exactly the same experience as you: Very few boards work right out of the gate, and some have far too many mistakes to even bodge out. Plus, you still have to wait a week or two for them to arrive in the mail, which really kills any momentum you build in your projects. You can kinda make up for it by having multiple projects on the go at the same time, but then the context switching becomes very expensive.

Recently, I've been experimenting more with wire wrapping and, much to my surprise, I am really enjoying it. I had originally discarded it because of how expensive the hardware is, and because it seemed hard to get right, but I landed on a method that allows me to use inexpensive pin headers and SMD adapters, and now I love the flexibility and immediacy that it brings. Unlike with breadboards, you end up with something that is both easily modifiable and very sturdy and reliable; mistakes are easy to fix (and the fixes look indistinguishable from the originals!), and iterations take minutes or hours instead of days. I still start by drawing up a schematic, and so it's a short hop to drawing up a PCB once my prototype works.

Anyway, sorry for a bit of a rant. This topic has been on my mind a lot lately :-)
plasmo
Posts: 1273
Joined: 21 Dec 2018
Location: Albuquerque NM USA

Re: Slightly OT: Is it just me?

Post by plasmo »

My board designs start with rev0, because they are never right the first time.

Programmable logic is the answer to rapid prototyping. FPGA is pretty much all you needed to investigated a new/specialized device. In 5V retrocomputing world, CPLD + RAM is sufficient to investigate a retro CPU. CPU+RAM+CPLD is sufficient to investigate most specialized IO. With CPLD you can wire up the relevant connections, ship board out for fabrication and figure out the logic while board is being made. I have several prototype boards with CPLD already pre-wired so it is easy to add relatively few wires to check out a design.
Bill
User avatar
GARTHWILSON
Forum Moderator
Posts: 8773
Joined: 30 Aug 2002
Location: Southern California
Contact:

Re: Slightly OT: Is it just me?

Post by GARTHWILSON »

CountChocula wrote:
Recently, I've been experimenting more with wire wrapping and, much to my surprise, I am really enjoying it. I had originally discarded it because of how expensive the hardware is, and because it seemed hard to get right, but I landed on a method that allows me to use inexpensive pin headers and SMD adapters, and now I love the flexibility and immediacy that it brings. Unlike with breadboards, you end up with something that is both easily modifiable and very sturdy and reliable; mistakes are easy to fix (and the fixes look indistinguishable from the originals!), and iterations take minutes or hours instead of days. I still start by drawing up a schematic, and so it's a short hop to drawing up a PCB once my prototype works.
That's refreshing to read. WW'ing has kind of gone by the wayside because of SMT and cheap PCBs decreasing its use in industry and hobby such that WW has lost the economy of scale, and the supplies, particularly the sockets, have gotten pretty expensive. I have a web page answering WW questions and doubts at http://wilsonminesco.com/6502primer/WireWrap.html . For a project I'm working on now, the only reason I'm not using WW is that I want to make a lot of copies. But yes, with WW,

  • it's much easier to make corrections and modifications and additions, and
  • it can be made to perform much better than solderless breadboards, especially well if you use perfboard with a ground plane, because the connections can be shorter than you get on a PCB and you can keep the wires low, almost against the ground plane, and
  • you can put sockets shoulder to shoulder, getting great density without having any problems getting signals routed (which is partly why the connections can be shorter)
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?
User avatar
speculatrix
Posts: 151
Joined: 03 Apr 2018
Contact:

Re: Slightly OT: Is it just me?

Post by speculatrix »

I developed a policy in which I would rigidly follow the sequence of:
  • Prototype on breadboard until things get too messy.
  • Prototype on stripboard, and when all the kinks are worked out…
  • Order the PCB
I still use this approach, kind of, but in the reverse order. I’ll go back to prototyping to find out why the PCB isn’t working, if it’s not obvious. Mostly this isn’t necessary – probing and thinking usually turn up the culprit(s).

Not infrequently, I’ll order a PCB that I suspect hasn’t been fully thought through. I do this when I’m already putting in an order for other (more mature) PCBs. Given that postage represents a high proportion of the cost, I’ll chuck in the unready board for an extra $4 or $8 on the basis that it’ll give me something to play with and find out where the errors lie. It’s a kind of ‘hail mary’ approach that has paid off on multiple occasions.

As for respins, I’m pleased to say that most of my PCBs are rev 2 or rev 3. I think that’s not bad. I even have a collection of non-bodged rev 1 boards, but mostly for very simple things. I do, however, have one (fully working) rev 4 board that still needed a bodge wire. It’s actually the main CPU board for my 6502 machine.
It either works or catches fire. Either way is fun.
Zolatron 64 project (on Medium)
User avatar
CountChocula
Posts: 101
Joined: 07 Nov 2021
Location: Toronto, Canada

Re: Slightly OT: Is it just me?

Post by CountChocula »

GARTHWILSON wrote:
CountChocula wrote:
That's refreshing to read. WW'ing has kind of gone by the wayside because of SMT and cheap PCBs decreasing its use in industry and hobby such that WW has lost the economy of scale, and the supplies, particularly the sockets, have gotten pretty expensive. I have a web page answering WW questions and doubts at http://wilsonminesco.com/6502primer/WireWrap.html .


I used your WW page as a starting point—thanks for writing that up. Given how hard it is to find the sockets at a reasonable price, I ended up using regular sockets with two rows of pin headers soldered in line to them. This reduces the maximum density of the board, but on the plus side it makes it easier to tell which pin is which, and the result is still pretty good. Here's an example that I was using to learn how boost converters work:

IMG_1217.jpeg
IMG_1218.jpeg
I really can't complain; this works really well and is rather sturdy, and I can still swap out each component and rewire the whole thing pretty easily. Even though I'm using 30ga wire, nothing heats up appreciably even with half an Amp of load on the output (except that one time that I wired in the USB port backwards. That caused… fireworks. Thankfully I was driving it from a wallwart and not from my PC).
speculatrix wrote:
I’ll chuck in the unready board for an extra $4 or $8 on the basis that it’ll give me something to play with and find out where the errors lie.
For me it's not so much the cost that makes a difference… it's having to wait for two weeks while the PCB makes its way here from China. I do, however, love the fact that JLCPB lets you add a PCB to an order after you've submitted it, that's come in handy a few times.
User avatar
BillO
Posts: 1038
Joined: 12 Dec 2008
Location: Canada

Re: Slightly OT: Is it just me?

Post by BillO »

CountChocula wrote:
Given how hard it is to find the sockets at a reasonable price, I ended up using regular sockets with two rows of pin headers soldered in line to them.
Looks interesting. How many wraps can you get on a pin?
Bill
User avatar
CountChocula
Posts: 101
Joined: 07 Nov 2021
Location: Toronto, Canada

Re: Slightly OT: Is it just me?

Post by CountChocula »

BillO wrote:
Looks interesting. How many wraps can you get on a pin?
I can get three “good” wraps (where some of the insulation wraps around the pin) around a single pin. Never having worked with the real thing, I don't know if that's good or bad, but it works for me!
User avatar
BillO
Posts: 1038
Joined: 12 Dec 2008
Location: Canada

Re: Slightly OT: Is it just me?

Post by BillO »

CountChocula wrote:
BillO wrote:
Looks interesting. How many wraps can you get on a pin?
I can get three “good” wraps ...
I think you means 3 loops on one wire, not three wires wrapped on. Right?

I found these on ebay: https://www.ebay.ca/itm/171907473800?ha ... Swv0tVE23W

This would provide as much wrapping space at a real WW socket and allow multiple wires wrapped to each pin for bussing and signal distribution. They are dirt cheap too.
Bill
User avatar
CountChocula
Posts: 101
Joined: 07 Nov 2021
Location: Toronto, Canada

Re: Slightly OT: Is it just me?

Post by CountChocula »

BillO wrote:
I think you means 3 loops on one wire, not three wires wrapped on. Right?
Sorry for the confusion—I did mean 3 wires; it's really tight, though. Two is a much more comfortable fit.
Quote:
I found these on ebay: https://www.ebay.ca/itm/171907473800?ha ... Swv0tVE23W

This would provide as much wrapping space at a real WW socket and allow multiple wires wrapped to each pin for bussing and signal distribution. They are dirt cheap too.
Oh, that's nice—I have a bunch of the regular pin headers, so maybe I'll buy some of these once I'm through them. Thanks for the pointer!
Post Reply