My first PCB! A Tandy 1000 EX/HX RAM expansion board
Вставка
- Опубліковано 23 сер 2024
- This is my first PCB design ever work! Will it work? Will the "fake" AliExpress chips work in it? Let's find out together!
It's a small board so you can have your own made cheaply.
** Sorry, no more of the v1.0 PCBs are left! **
--- Video Links
PCB layout files, Gerbers and DOS utilities:
github.com/mis...
Part 1: • Basement Rant: Did I b...
Part 2: • Follow-up to fake or r...
Part 4: • Viewer mail: All-in-on...
"Tandy 1000 Memory Architecture 101"
• Boring Lecture Time: T...
--- Tools
Deoxit D5:
store.caig.com/...
Jonard Tools EX-2 Chip Extractor:
www.jonard.com...
Wiha Chip Lifter:
www.wihatools....
Elenco Electronics LP-560 Logic Probe:
www.amazon.com...
Hakko FR301 Desoldering Iron:
www.amazon.com...
Rigol DS1054Z Four Channel Oscilloscope:
www.rigolna.co...
Head Worn Magnifying Goggles / Dual Lens Flip-In Head Magnifier:
www.amazon.com...
TL866II Plus Chip Tester and EPROM programmer: (The MiniPro)
www.aliexpress...
TS100 Soldering Iron:
www.ebay.com/i...
EEVBlog 121GW Multimeter:
www.eevblog.co...
DSLogic Basic Logic Analyzer:
www.ebay.com/i...
Magnetic Screw Holder: (also on eBay and Amazon)
www.harborfrei...
Universal ZIP sockets: (clones, used on my ZIF-64 test machine)
www.ebay.com/i...
RetroTink 2X Upconverter: (to hook up something like a C64 to HDMI)
www.retrotink.com/
Plato (Clone) Side Cutters: (order five)
www.ebay.com/i...
Heat Sinks:
www.aliexpress...
Little squeezy bottles: (available elsewhere too)
www.amazon.com...
--- Links
My GitHub repository:
github.com/mis...
Commodore Computer Club (of Portland, Oregon and Vancouver, Washington)
www.commodorec...
Tivoo Pixel Art Display seen in my videos:
www.amazon.com...
--- C64 Stuff
JaffyDOS:
blog.worldofjan...
C64 Test Harness I use:
• Building a Commodore 6...
C64 Homebrew cartridge PCB: (used for the DeadTest / Diag Cart I use)
www.ebay.com/i...
EasyFlash 3 Multi-Cart:
store.go4retro....
--- Instructional videos
My video on damage-free chip removal:
• How to remove chips wi...
--- Music
Intro music by:
Nathan Divino
@itsnathandivino
Outro Music:
Abyss by | e s c p | escp-music.ban...
Music promoted by www.free-stock...
Attribution 4.0 International (CC BY 4.0)
creativecommon...
--- Image Credits
None
Congrats on your first manufactured PCB. It's a great feeling to hold it for the first time.
@@adriansdigitalbasement Mistakes are fine. That's why I used to make hand etched prototypes. Less of an issue now we have access to such low cost and small batch manufacturing.
It always warms my heart to see some of my favourite UA-camrs chatting with each other in the comments.
@@adriansdigitalbasement
I've been designing PCBs now for over ten years, and still make mistakes on almost every prototype. lol
Definitely keep going with it. It can be very rewarding when it all finally works. Good vid.
@@bigclivedotcom boy am I glad I got hands on experience with etching my own boards in school. (Although we printed from CAD onto a transparency, not drawing by hand.) Even if I never actually use that skill again, it demystified what to me had previously been something akin to magic.
The content on this channel is incredible. Top notch.
I just want to thank you for releasing the design files
I really appreciate you going over mistakes and explaining what went wrong instead of just waiting to release a polished final version. I’ve learned so much! Great video as always though !!!
Definitely one of my favorite parts of the channel!
Being Rickrolled in 2019 by an Amiga Kickstart 1.3 bootscreen? Now that's talent... :P
I'm so glad someone else noticed that. lol
As an electrical engineering student, I can’t help but marvel at the time and effort you put into these projects. Nice work, and keep it up!
Nice work, good to see the whole troubleshooting process. Teachers viewers a lot more about the inner working of the machine than just showing a working board.
I ordered some chips from China about a month ago, when Ben Eater released his first video on his 6502 computer build, and they finally arrived last Friday. They were all marked with date codes of 1901 - first week 2019. Considering they're branded Rockwell and UMC, and neither company has made chips in years, they're definitely fake. I can even see the sanding marks on the chips!
@@adriansdigitalbasement I did check with IPA, and no black paint came off mine, they've just got the laser etching. If I shine a light at them on a shallow angle towards me, I can clearly see what looks like horizontal scratches/grain left by a belt sander. The two indented circles on the top are all clearly different depths, and one has been sanded down so much they were completely missing, and I can even see and feel a gouge where it's come off the end of the belt sander.
I get the feeling that the purpose of the black paint on yours was to hide the horizontal grain left by sanding, so I'd be interested to see if you soaked one in IPA and cleaned it off really well, if you saw the same horizontal scratches.
Anyway, if I can get some clear photos of what I'm seeing, I'll post a link.
One wonders if they'll work and if they do whether they are NMOS or CMOS. Or even an Atari 6502C.
Maybe this could help you sort it out:
wilsonminesco.com/NMOS-CMOSdif/
I've dug out the old DSLR to get a good picture of the chips, and wrote a quick post on my website: uplategeek.com/2019/11/05/dodgy-chips-from-ebay/
It was a real hassle, since I blew one of the LEDs in my desk lamp a while back, so I had to solder a new one in before I could get the light working to show the markings!
When I left my family's business, the first job I was able to get was at the Radio Shack in North Park, San Diego. I started out on the ground floor, soon I became the assistant manager. I was then transferred to Pacific Beach, San Diego as the new store manager. This was during the early Tandy 1000 success. It was a great time to work for Radio Shack. In my Semi retirement I have searched for every Tandy computer I sold. I have them all. I just wish I had half your knowledge to repair them. Keeping them all running correctly has been a challenge. Thank You for your videos. It makes my collecting so much easier.
An amazing ride, from the initial troubleshooting to the discovery of the fake chips, to a finalised board. Truly a fascinating series of videos.
Thank you for your hard work, both on the video and the board design; and, of course, for sharing the finished creation.
Not bad for a first effort! I admire your troubleshooting skills. All good wishes!
You did pretty well especially considering that's your first ever PCB design :) One thing I would say is, dont be afraid of SMD parts. SOIC is easy to hand solder, and 0805 and 1206 resistors/capacitors are super easy too.
@@adriansdigitalbasement quite true, i have a ton of salvaged stuff myself! I just bought a hot air station, and started salvaging SMD parts too ;)
QFPs are really easy, too. EEVBlog has some really good videos on hand soldering surface mount parts.
I'll bite. SMD should be avoided for retro computer board unless it is the only way. Try to think how this video would have ended up if the 74HCT245 was in SMD form: Rather than pulling it from the socket, Adrian would have needed to desolder it. Bridging the connections with jumpers would have required soldering rather than just plugging them in and the trick with the reverse socket would not have been possible.
One reason why people hobby with retro computers is that they are very repairable and through is an important reason for that.
If you are working with FPGA and other complex parts, I can see the need far SMD. If you are constrained by a small PCB size, I can see the need to SMD too. But otherwise, please use through hole and sockets.
Excellent video!
It has been very interesting to see how the bus transceiver "helped" getting those Chinese SRAM chips "working", as some of us have suggested. And even more interesting seeing how inconsistent the results where for the different models, I was not expecting that kind of inconsistencies.
I've also enjoyed a lot watching your debug process on the PCB layout.
Please, continue doing this kind of videos/projects, it is very interesting.
The thing about digital logic is that .... its all analog :) you cant just assume 0 and 1 on the bus, you need to calculate and measure.
While this was a bit over my head I have to say I was fascinated by it. I understand the basic concept enough to know what you were doing, but no way could I do this myself. I'm really impressed with this design. Very nice work indeed.
New comer here. I really love these videos.
25:12 showing the mistake/errors and then showing the learning is quite motivating.
@11:30 - 61 pins was correct, you clipped one off, remember? :)
The level of geekiness on this channel is amazing and it just fits my bill. I know enough to just follow along and you almost lost me on the Oscilloscope traces, but it was worth sticking through till the end.
Really enjoyed this one Adrian! Thrilling to see your project come together to fruition and the bumps along the way just made it that much more interesting to follow along as you deduced your way through them.
Congrats for your first step in hardware development, thats really the master discipline in the world of hobbyists computing .
I did my first PCB this year too! And yes, my first one was completely wrong. (My board was a combination PS/2 to Amiga mouse adapter + Joystick switcher.)
You learn a lot actually doing the design that the theory only talks about. I have a design for a Pi1541 somewhere I have been meaning to send off.
Awesome! I made my first two PCB this year (2021) and the both worked. I need to finish a revision and order a new one as my needs have predictably evolved.
while I don't have a Tandy to make an expansion board for, I really do appreciate all this work and this video. Thanks again for your work.
Wow, that spreadsheet of results at the end is pretty intriguing! Glad you figured everything out though, really happy seeing the conclusion to this :)
Another outstanding video from Adrian Black!!!! love your videos.
Brilliant show! I had a 1000EX years ago and it felt very limited. Your card should make the Tandy MUCH more usable and pleasant to own! Thanks for your channel!
Tandy 1000HX was my very first computer in my life for a year or two before I moved on to a 386sx 25mhz machine. Just surprised to see you actually worked on the memory e pansion. I recall that 384k expansion card cost $600 and the 386 was costing $200 with 1 meg ram. I badly want to upgrade the Tandy because it was a nice machine but upgrades was just not worth the price.
Prototyping PCB's is really an endeavor on its own, glad to see that you got it to work one way or an other.
My first PC was a Tandy 1000 EX. Great way to get into PC's. Especially with the Tandy DeskMate software to give it some functionality.
Sharing the work is super.
So far over my head, I couldn't even see it with binoculars. I still watched!
I couldn't even see it with a bloody telescope!
Actually a 24 inch screen! I am just that far below your skill and level of knowledge.
Really cool series Adrian. Thoroughly enjoyed it. Nice debugging of the board issues 👍
I'm glad the 245 helped! Looking forward to seeing the upgraded board.
Pretty much how all of my PCBs start out. :) Nice work!
Congrats on making (and debugging) your first board! Mine own very first (not including hand etched) board makes a decent bookmark and the second is useful for aligning 3D printers.
I am glad your friend got you into the pc retro scene Adrian! You help so much!
A good use for duff PCB's is to fill in the holes with a fine filler, the two part epoxy type used for wood (Milliput), then sand down and paint. They can then be cut, drilled and used for lids on projects.
I recently made my first board also. It's a cpu and ram board for the Motorola 6800 series processor. Took me a week to track down the one flaw - I didn't realize the EPROM's Vpp pin needed to be tied to Vcc. Now it's running the MIKBUG firmware and BASIC. It's meant to be part of a backplane system like the rc2014 Z80 project. I'm currently working on rev2 of the cpu board, an i/o board, and a debugging board with til311 displays, a serial debug output and the MIKBUG rom. The first board was the hardest, now its full steam ahead.
My first PCB, fully assembled, cost me a total of about four dollars. Anyhow, way back then, several of the cable TV channels failed, concerning horizontal locking, and so the screen picture was all twisted and scrambled. When looking at my TV control box RF demodulator output, you could see that the horizontal sync pulses were raised up to where they should not be, but only on these particular channels. This H-Sync pulse error appeared on every line, with the exception of those present throughout the V-Sync section. So I designed a little circuit that would pull each defective H-Sync pulse back down to where it is supposed to be. The working H-Sync pulses in the V-Sync section were left untouched, and each would tell the circuit when to look for the next bad H-Sync pulse. When detected and corrected, the corrected H-Sync pulse also was then being used to determine when to look for the next defective H-Sync pulse. And so over all it was fixing H-Sync pulse errors one by one, thus line by line. The circuit pulled about 10mA at 12 Vdc, so I simply put the assembled PCB inside my TV control box and used its 12 Vdc power supply. The circuit itself was then hooked up between the RF demodulator and the RF modulator. Bingo, all those pesky little channels with H-Sync problems now worked perfectly fine. The cable company called these specific defective channels, PAY TV channels, or something silly like that. LOL. Anyhow, for just a $4.00 fix, everything was working as it should be.
Congratulations, very neat design !
Great explanation of the problem & troubleshooting. Very clear. Very understandable. Nice video!
Informative and entertaining as always. Your enthusiasm is infectious 😎
I've been wanting to make some PCBs myself, just don't have a good enough project in mind yet.. it sounds like a brilliant hobby.
Holy crap, I've never been this early to an Adrian Black video.
Another suggestion for the future is add edge connector style test points so you can easily alligator clip onto the points to do testing/analyzing when needed. You might also look into ultra low power LEDs on your control lines. They don’t have to be used, but it’s enjoyable to watch things working and easier to troubleshoot when they don’t.
I enjoyed it. Your goofy mistakes definitely remind me of myself. You could make a version of the board where you have the transceiver chip "jumpered" out on in the copper. AKA just connect the traces to each other under where the chip would be placed. That way one could save having to hand jumper it out and if it turns out one needs the transceiver chip one can just cut the traces and solder in the chip.
Looking at the 1000EX tech ref online, there is a timing diagram for the memory expansion. It shows ALE being asserted shortly before the address bus, then MEMW or MEMR being asserted at least 50 clocks later. Then IOW/IOR are toggled with each read or write to/from the bus. I think your CE should assert when ALE is asserted. You might want to gate the /OE to follow IOW/IOR, so the bus it tri-stated except when a read or write as actually occurring. I would gate DIR and OE together -- Truth table: MEMW low, MEMR high, dir=LOW, /OE=CE, MEMW high, MEMR high, dir=X, /OE=HIGH, MEMW low, MEMR low, dir=X, /OE=HIGH, MEMW high, MEMR low, dir=HIGH, /OE=CE
I'm impressed you actually made your own PCB.
I suddenly feel the urge to buy a Tandy 1000 just to build up your board and stick into it!
I'm doing a course in electronics design at uni right now and we're covering PCB design right now, it's super interesting, and fun to see your board design and see how you did it with KiCAD.
We're not using KiCAD though, but rather an 8000$ professional design software 😮
@@adriansdigitalbasement I bet!
I still managed to make the program crash a couple of times. No idea how 😁
I had an HX and I remember scratching my head at the PLUS boards at the time.
Okay, I *need* to see this done with the stacked cards. Just 'cause.
You did -- it was installed by stacking it on another card.
Love that RAM-access LED!
I actually have a couple PC-100 memory modules that have an access LED on them too! It should be on more stuff. :-)
One of the most interesting and informative videos I've watched on UA-cam in a while. What's the likelihood of adding a DMA chip like the original 640K PLUS expansion board had? Do you plan to make these available for sale at some point, either assembled, kit form, or just the PCB?
Outstanding episode! My favorite so far.
Love the Tandy focus.
Use some stitching Vias to connect the ground planes on the top and the bottom. It improves signal integrity and reduces electro magnetic emissions / interference (EMI).
Both helps getting stuff more stable at high speeds. High speeds: Bascially everything in a computer as there are square waves on all the lines. :)
Easiest way: Enable "remove dead copper" (or whatever that option is called in KiCAD - Have to learn that program some time :D ) and then just put vias in until there are no holes left in the copper-fills. After that put vias next to all the signal-lines to ensure every trace has the shortest possible ground return path. Takes a bit of time, but the reward is higher possible speed and less hard to find problems caused by signal integrity that can only be found by using ultra low capacitance active probes on high end Oscilloscopes. I personally ran into signal integrity problems on a 400kHz i2c-Bus with a 2-Layer board when I was doing my bachelor project. :)
Love this kinda project, great job
Before redoing the PCB design you should check that the timing of all signals is OK using an oscilloscope, not a logic analyzer. An oscilloscope can show subtle timing variations and signal quality issues that a logic analyzer will ignore.
The fact that you are getting some of the fake chips working in some combinations of units suggests that the timings might be marginal. It might be that the fake chips are slower than marked but you need to verify that all signals comply with the timing requirements (preferably with some extra margin) for the CPU on the motherboard for reliable operation.
Excellent! Informative, fascinating and entertaining.
I'm instantly starring that Github - it's going to be a great reference for that XT-in-a-keyboard I need to upgrade.
I think this channel is worth it just for the VHS intro.
Man, your videos and presentation are great. Keep 'em coming!
Congratulations on your first board!
Congrats on your first PCB. A quick design rule check at the end should have found the 12V to ground short I think. Would you consider to make a video designing your next PCB using Kicad. I know there are many good tutorial type KiCAD videos out there but none from the perspective of someone being new to all of this.
Besides the errors being made they are very easy to make these days. I remember my first (and only) boards I've made 32 years ago - hand drawn and etched by myself, two single and one double sided PCB for my home-brew Z80 machine - psu, keyboard, and mainboard - they had around 120 errors - 15 made by myself and the rest were "inferior" etching related - but I got them to work.
Adrian Black oh yeah damit- as the saying goes - measure&go twice cut once. So if you’re going to do more of this stuff buildup your own selected and verified parts and footprint library. I’ve seen a common connectors library for KiCAD 4 with things like ISA, PCI, JTAG, Molex power, SATA VGA and other stuff somewhere. Maybe there is something similar for retro computing connectors too.
This was a really obscure place to find these but Toshiba made a similar module for the Strata PBX system (CRDU2A) as a daughter board for the main CPU board (MCBU4A or MDSU2) that houses a Z80-A CPU or the Toshiba clone (TMPZ84C00P-3) and a 64K RAM IC (TMM2564P). The daughter boards I have come into have only 8K of static RAM on them and a battery but I assume those can be upgraded to larger capacity IC's. The Boards as a whole can still be found online but at collectors rates however many businesses seem to be ditching their old PBX systems for IP phone systems so with some looking you might be able to come across a whole system for cheap or even free via trash bin fishing.
Fascinating! Still need more tools.
Great stuff! I don't understand half of it, but I find it out of this world :D
Eh... I think I’ve got about a hundred “coasters” around here that I’ve collected over the years. Even checking everything in a gerber viewer before sending it out doesn’t catch everything. Just comes with the territory...
They make FM headers with extra long pins so they are a pass-through with FM on one side of the PCB and M on the other, you just have to side the plastic strip from a M header over the soldered joints.
Fantastic project. Thanks so much for this awesome content!
Great work! It's inspiring to me, as I've been wanting to try and get into designing/making PCBs for retro computer stuff. One day I'll sit down and start learning to do it, heh.
Quickest way to find faults in a PCB design is to order boards. I think there's some kind of legal requirement that rev 1 is never correct.
When I've built memory expansions for other old computers (TRS-80 Model 1, Apple IIGS), I've sometimes had to merge the address decoder with the CE/OE lines for the bus transceiver... otherwise I would get into weird situations where my ram was being activated when I didn't expect it to... sort of like what you had happening here. It all sort of depends on the details of the timing, and it's really easy to confuse yourself with the timing diagrams. Super easy to get something "close" to working, but not "quite" working... and then you're scratching your head for a while. ;-)
Great video man. That was definitely an adventure.
I really enjoy your channel, I hope you can make the most of the C128D I send you, looking forward seeing a video of what you can do with it, it was the least I could do to support your channel.
Your music choice, sir, is indeed choice.
On EX vs HX, have you checked the RAM timing requirements for differences? If the HX has tighter timing where it expects RAM to be ready for reading and writing sooner then the iffy Chinese chips could be just a bit too slow, with the one that works all the time on the EX being just fast enough but too slow for the HX.
What I did back in the days of DIP RAM and 72 and 30 pin SIMMs was install RAM faster than specified. That would speed up the computer because the RAM would be ready right at the start of each read or write cycle rather than somewhere between the start and end of the cycle. The speed difference was easy to see during the RAM count up during POST. With an audible tick the difference could be between being able to distinguish the individual ticks and a quick burst of noise. For those the specified RAM speed must have been at or near the end of the cycles, with the system sitting around wasting many nanoseconds on each cycle.
When DIMMs came along, systems that used them had much tighter, shorter, RAM cycles so speed differences became something only a benchmark could show, or perhaps a bit of time difference over the course of a long process like generating a fractal image or converting WAV files to MP3. Still a significant difference if you were doing things the PC had to crunch numbers on for minutes or hours.
It would be interesting to see logic-analyzer traces of both machines, to see the difference in how the chips are accessed.
not LA but a storage scope. You would see non buffered SRAM not being able to generate proper (tall/sharp enough) signals due to line capacitance.
Making a PCB and routing traces is a lot like a puzzle game, except when you get it wrong it costs you money :)
Just 2c worth.
AND the memr and memw together and OR the output to your CE line to get the OE\ for the 245. Wire the MEMW to the dir. Use a single NAND chip to do the job. 74LS00.
Wire the CE to both inputs of gate A to invert it. Wire MEMW and MEMR to the inputs of gate B. Wire the outputs of gate A and gate B to inputs of gate C and wire the output of gate C to the 245 oe\. One chip and you can reuse those boards you made.
Awesome video as always
I'd say that went pretty well for your first ever PCB.
Whenever you have more than one board-to-board connector that need to be aligned with each other, sometimes you can cheat by just soldering while it's plugged in (just enough pins to keep it held in alignment).
Great Video Adrian, designing and making your own pcb is a great skill to have, I am still trying to use my cheap CNC to mill my own for quick stuff, but use JLC all the time for my Neo Geo reproductions parts. I am sure you follow Dave Jones, he has many guides to PCB design and production that are worth watching.
@@adriansdigitalbasement I found easyeda was very quick to learn and make PCB for a beginner to intermediate level , how did you get on with kicad ? I know it can do a lot more, but so far I can do everything I have needed in easyeda.
Digi-Key does have 62-pin male and female headers.
By the way, have you considered putting a link to the VCFED forum page in the description? We went from having no options to everybody trying to build their own boards within only the year I've had that thread up, and people might want to see the progression of that idea. Big shout-out to Eudimorphodon (Paleozoic PCs) for getting the ball rolling.
@@adriansdigitalbasement Interesting. Out of curiosity, did you get idea for the 00/32 logic after seeing the thread, or arrive at it independently? I was originally tring to use a '138 and a large NAND gate for the decoding like in the Lo-Tech RAM card. But for what we're doing, this is quite a bit simpler.
The connector I was originally using is Digi-Key# S7134-ND, but it's since gone out of stock. The one I'm using now is Digi-Key# SAM1212-31-ND. It's a tighter fit around the pins than the first one, but that could be good if you're making these cards without any mounting bracket.
The dodgy ram works with the buffer... sometimes.. Told ya so! Glad you got to the bottom if it.
That's amazing! We may have to build a few..
Interesting. I've been into PC's since my first 80286 back ib 1990. I've been a systems and networks guy since 1995.
Great video. Thanks for Rick rolling me at 16:58
Very nice job for a first PCB! It's such a great feeling to get a 'real' PCB made for a project.
For the 62-pin header, you might try getting a 64-pin and cutting off the extra positions with a hacksaw or utility knife.
So what's next? :)
Adrian Black at least you get a few practice runs when you start with an 80-pin connector...
I’m sure you’ll find a method that works for you, but I suggest putting it in a vise, cutting with a hacksaw on top of the pins just past the new end you want to make, then filing/sanding down as needed. Good luck!
I really love this channel.
Good work. I made more mistakes on my first PCB for the Atari ST.
Instead of using the signals directly, it's even better to use some logic chips to select the expansion RAM. Maybe an AND gate with CE and MEMW followed by an inverter? Something like that, I'd have to look at the schematic and think about it to get the logic correct. That way the 245 is only selected only when it both wants to read/write AND the correct addresses match. That way all those OE pulses wouldn't matter, they wouldn't get past the AND gate.
really enjoyed this
Start sticking the left over PCBs on the wall/back of a door. Eventually you'll end up with a massive piece of PCB art.
For the 62 pin connector, I would have suggested going with two 30 pin connectors and sandwiching the 2 pin connector between them (rather than leaving handing on the end…)
Bus driver, but then posts picture of a full cartoon school bus... I see whatcha did there lol
As someone who used to be a school bus driver, I appreciated it.
Maybe a schmitt trigger for the data lines would help with the HX compatibility. Not sure it is worth it at that point though.
What you call 'bypass' caps are really called decoupling caps. The spacing for your resistors is ok if you use 1/8 watt resistors.
I think Adrian is my brother from another mother... I've been learning PCB development as well over the past year or two... I built a memory expansion card for the TRS-80 Model 1, and I literally did the exact same mistake on a bus transceiver chip (wired it backward). In my case I just crafted a little adapter that plugged into the socket so I didn't have to toss my PCBs.
Just got a stack of boards from PCBWay... time to start soldering.