6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu May 09, 2024 8:43 am

All times are UTC




Post new topic Reply to topic  [ 12 posts ] 
Author Message
PostPosted: Sun Aug 07, 2022 10:39 pm 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1001
Location: Canada
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:
Attachment:
All.jpg
All.jpg [ 113.95 KiB | Viewed 946 times ]

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.



Attachment:
PWMK.jpg
PWMK.jpg [ 109.85 KiB | Viewed 946 times ]

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.



Attachment:
VidK.jpg
VidK.jpg [ 111.81 KiB | Viewed 946 times ]

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.




Attachment:
AnalogK.jpg
AnalogK.jpg [ 112.94 KiB | Viewed 946 times ]

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


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 08, 2022 7:54 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10800
Location: England
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.


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 08, 2022 7:56 am 
Offline

Joined: Fri Jan 25, 2019 2:29 pm
Posts: 191
Location: Madrid, Spain
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.


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 08, 2022 1:09 pm 
Offline
User avatar

Joined: Sun Nov 07, 2021 4:11 pm
Posts: 101
Location: Toronto, Canada
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 :-)


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 08, 2022 3:03 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1076
Location: Albuquerque NM USA
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


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 08, 2022 11:36 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8432
Location: Southern California
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?


Top
 Profile  
Reply with quote  
PostPosted: Tue Aug 09, 2022 7:37 am 
Offline
User avatar

Joined: Tue Apr 03, 2018 2:10 pm
Posts: 125
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.

_________________
I like it when things smoke.
BlogZolatron 64 project


Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 10, 2022 1:48 am 
Offline
User avatar

Joined: Sun Nov 07, 2021 4:11 pm
Posts: 101
Location: Toronto, Canada
GARTHWILSON wrote:
CountChocula wrote:
[color=#000000]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:

Attachment:
IMG_1217.jpeg
IMG_1217.jpeg [ 71.76 KiB | Viewed 752 times ]

Attachment:
IMG_1218.jpeg
IMG_1218.jpeg [ 80.79 KiB | Viewed 752 times ]


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.


Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 10, 2022 2:30 am 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1001
Location: Canada
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


Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 10, 2022 3:39 pm 
Offline
User avatar

Joined: Sun Nov 07, 2021 4:11 pm
Posts: 101
Location: Toronto, Canada
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!


Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 10, 2022 4:03 pm 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1001
Location: Canada
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?hash=item28067be188:g:XxUAAOSwv0tVE23W

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


Top
 Profile  
Reply with quote  
PostPosted: Wed Aug 10, 2022 5:00 pm 
Offline
User avatar

Joined: Sun Nov 07, 2021 4:11 pm
Posts: 101
Location: Toronto, Canada
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?hash=item28067be188:g:XxUAAOSwv0tVE23W

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!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 12 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: