Hi James, I noticed cleaning up my boards with 99pc alcohol before reflow almost totally removed solder bridges issues. Also routing 4 layer boards I know is more expensive but saves you big time and generally improve your signal quality.
@weirdboyjim6 сағат бұрын
These are 4 layer boards, although I use power and ground planes rather than use the extra layers for signals.
@danmerillat10 сағат бұрын
I've never done the trick with kapton tape on the pads I don't want to connect, but that's one I'll likely use in the future. A couple wires getting a first revision PCB working is pretty much the norm in the industry. Even in bigger designs with a team and design reviews it's always possible to miss something that looks obvious in hindsight. I've seen whitewires in finished products I've bought, sometimes it's cheaper to fix a few thousand boards than scrap them all. Bit of clever wire bending, a bit of kapton to hold them down and the fix will last forever.
@weirdboyjim6 сағат бұрын
I'm pretty sure I separated those connections anyway but I wanted to make 100% sure!
@TSteffi11 сағат бұрын
This was really funny, because I made a very similar mistake recently. I'm working on a board for the RC2014 bus that has a TangNano 9k module as a VDP with HDMI output. And I because the data lines are named backwards in all the VDP datasheets, of course I wired the up the wrong way around. In my case, I didn't have to do a physical bodge, but could just swap the data pins in the FPGA.
@weirdboyjim6 сағат бұрын
Ohh, a software fix for a hardware mistake. Nice!
@TSteffi4 сағат бұрын
@@weirdboyjim only temporary of course. New boards will be made with the right wiring. But I can't afford that right now, so I had to fix it temporarily so I can keep working on the software for it
@stompreaper13 сағат бұрын
It was a nice board and I agree that running down an issue and making it work occasionally is better than it always working first time. I enjoy the debugging process and fix cycle, feels like winning to me 😂
@weirdboyjim6 сағат бұрын
Someones I feel debugging is the "real" skill to engineering!
@AppliedCryogenics14 сағат бұрын
I'd love to see an interface chip for hobbyists which can go on a classic 6800/8080 bus and give SDIO(!), SPI, and I2C! Patents be damned!
@TSteffi10 сағат бұрын
For SPI: you can do that with 2 shift registers and a counter. And SD cards really just "speak" SPI on a hardware level. The problem is that the simplified specifications that the sd consortium puts out publicly doesn't have the sdio part in it. You have to be a company and member of the consortium to get that. I2C is much more difficult, because you have bi-directional signals that are sometimes output, sometimes input.
@weirdboyjim6 сағат бұрын
Not sure about a chip, but it wouldn't be difficult to design a little module for that.
@Zadster15 сағат бұрын
Congrats on the sponsorship, a perfect match. A tip for using desoldering braid on fine pitch pads and delicate wires - don't drag the hot braid over the track, it can cause the track to lift. Just place the braid over the track and run the iron over the back of the braid.
@weirdboyjim6 сағат бұрын
Thanks! The biggest improvement in de solder braid I found was to massage a little flux into the braid. I'll try not to drag it in future.
@DavidLatham-productiondave16 сағат бұрын
I have a board i made where i had two spi pins transposed. Thr bodge has been working fine for close on 4 months. I do intend to roll another board but there is zero urgency.
@weirdboyjim6 сағат бұрын
Some bodges feel very fragile, but some I just want to remove out of principle!
@RodHartzell18 сағат бұрын
Dude. Your videos inspire me. I am a software engineer and I enjoy working with electronics. This stuff you are doing is very informative and I love the way your brain works. I would be interested in building out this creation of yours. I suppose I will have to join your Patreon site.
@weirdboyjim6 сағат бұрын
Thanks for the kind words! The discord is where you should join, I share various bits of my code etc.. there.
@TheRealWulfderay18 сағат бұрын
Fascinating. I particularly enjoyed the board layout part. I always feel so overwhelmed when I see that jumble of connections waiting for me to sort them out.
@weirdboyjim6 сағат бұрын
Glad you enjoyed it!
@-lolus-18 сағат бұрын
nice bodge
@weirdboyjim6 сағат бұрын
Thanks!
@billr305319 сағат бұрын
I was wondering if the routing software would allow inspection and validation by simulating the logic, etc. before one commits to a physical board. I would have thought that with today’s sophisticated tools, that would be built in.
@weirdboyjim6 сағат бұрын
That would be useful. But very difficult for a board like this where the simulation would need to know about the rest of the circuit to test it properly.
@cocusar19 сағат бұрын
I think JLCPCB has an option to hide their part nuimber for free now!
@weirdboyjim6 сағат бұрын
Do they? It was charged last time I looked. Not really a big problem if there is an easy place to hide it under a component.
@docwhogr19 сағат бұрын
i am wondering when JCL is gonna offer chip printing services....
@weirdboyjim6 сағат бұрын
That would be interesting, although devices like fpga's fit many jobs you might want that for.
@pdxjjb20 сағат бұрын
I found your "low key" endorsement of JLCPCB to be very winning, very convincing. It did not interfere with my appreciation of your video in any way. I hope they appreciate it! And I agree that your coverage of the "bodge" was very educational. All in all an excellent video.
@weirdboyjim6 сағат бұрын
Glad you enjoyed it!" Looking forward to using the SD card particularly in future!
@your_utube20 сағат бұрын
The fun is in the bodge. Coming along nicely! Would they permit you to an event like the VCF events in the US? Does the UK have such events?
@weirdboyjim6 сағат бұрын
I'm not aware of anything like VCF in the uk. It would be nice to go along to one of those one day.
@R.Daneel20 сағат бұрын
Great work. A home-brew processor reading an SD Card is damn impressive! Back in the day we used to use "Kynar" wire-wrap wire for bodges. Highly recommended if you can source a spool or two. Two great features: you could use the wire wrap tool to handle the wire like a micro-manipulator: you could strip the wire and then use the tool to loop the tiny wire around pins and such for soldering. Also - the insulation was, I think, Teflon, so it never melted. You could have the insulation right up against the bodge and it wouldn't shrink back under heat. Oh, and it's tiny of course. 28 gauge or so?
@Zadster15 сағат бұрын
I have a reel of it in front of me! 30awg. Not teflon, but related to it.
@SomeMorganSomewhere12 сағат бұрын
Unfortunately most of the "kynar" wire you find around these days isn't :/ it's not silver plated and the insulation is PVC or at least something other than a fluoropolymer because the insulation shrinks back on heating and it doesn't take solder very well... It IS fine for *actual* wirewrap work but not many people doing that these days. I have a couple of km of that stuff unfortunately so I do most of my bodges with enameled copper wire (aka magnet wire).
@weirdboyjim6 сағат бұрын
What I'm using in this video was sold to as "Kynar Wrapping Wire" after someone recommended it in the comments of a previous video.
@awesomecronk718320 сағат бұрын
The routing and debugging have to be my favorite parts of each video. Thanks for sharing this project with us!
@weirdboyjim6 сағат бұрын
Glad you enjoyed it! My stuff will always need plenty of debugging!
@matambale21 сағат бұрын
"Too much decoupling" = "No room for any other parts" All this time I thought you were already sponsored by JLCPCB. It's a logical connection - they're great for this work and you've been demonstrating that from the start.
@weirdboyjim6 сағат бұрын
One day I'll build a series of circuits to test / demo what effect various levels of decoupling have.
@captainboing21 сағат бұрын
excellent!. Sorry to see the bug in your PCB but on a personal note, I am pleased that if a man of your calibre can miss stuff, there is hope for me 😆
@weirdboyjim6 сағат бұрын
Everyone makes mistakes! The real skill in this kind of stuff is often troubleshooting!
@tinygriffy21 сағат бұрын
putting a piece of tape sticky side up under the stencil to lift it better is a nice trick ;)
@weirdboyjim6 сағат бұрын
Yes! I might need to do that in future, smearing the paste first time was frustrating!
@Packbat22 сағат бұрын
Accepting a sponsorship from JLCPCB must have been the easiest choice you could have made in the entire build, what with the number of PCBs you've gotten from them over the years - glad they were willing to support the project! And sympathies on the bodge - it looks about as clean as it could get, though. Nicely measured wire lengths and everything.
@weirdboyjim6 сағат бұрын
Indeed, a product you already use regularly is very easy!
@theboot10023 сағат бұрын
Another great video James! Ive been waiting for the next one. Congrats on getting a sponsor! I use JLPCB for my boards. Your channel deserves a millions subs. Have you got any other plans for additional spi peripherals? Ethernet would be cool (although probably doesn't fit with your design goals)
@weirdboyjim6 сағат бұрын
Thanks! No specific plans for spi peripherals for permanent integration, but there are a couple of experiments I want to run.
@Biomancer8123 сағат бұрын
Yay new video!
@weirdboyjim6 сағат бұрын
Hope it didn't disappoint!
@TheEmbeddedHobbyist23 сағат бұрын
I like to use very fine single core PTFE wire for my bodges. the insulation wont shrink back with the heat and can be laid down with ease and a little superglue holds in it place just fine. in the days of TPH components it could be fed behind the legs of DIL IC's to hold it down on the PCB. some of our devolvement PCB's may have flown with mods like this, if the unit had a painted blue band around the case it might have some bodges inside. we used a 4 band system on the equipment. 1. A painted Red band, was equipment was for rig use only. 2. A painted Blue band, was could be flown but a back up form of communications must be carried. 3. A sticky tape blue band, a production unit but full qualification has not been signed off yet. once it was fully certified the blue band could be removed. 4. No band, fully certified production unit. No bodges were allowed if the band was not painted on. Now I'm free to bodge to my hearts content, happy days 🙂
@weirdboyjim6 сағат бұрын
Interesting. My concern with these longer bodges is catching them in the future! I'll do a board refresh before too long!
@berntolovhellstrom8891Күн бұрын
Well done!
@weirdboyjim6 сағат бұрын
Thanks!
@kokodin5895Күн бұрын
have you ever thought of using bottom layer as place for soldering stuff or do you decided you will only have one sided loads?
@weirdboyjim6 сағат бұрын
I have done for some passives in the past. I generally avoid it as part of my project goals are to have everything on display.
@OscarSommerboКүн бұрын
I don't know how much it matters, but the Vcc plane covers the area under the RTC chip. If the chip acts up, that might be the reason. I never mind sponsorships that are relevant. And it is a little sad making it took this long.
@weirdboyjim6 сағат бұрын
Hmm, didn't think about masking of the vcc plane.
@damianvilaКүн бұрын
You know it's a great day when another video of the Sharmatronic 2000 (aka jam-1) arrives. 😄
@weirdboyjim6 сағат бұрын
I'm glad you think so!
@lasersimonjohnsonКүн бұрын
Love JLC !! 😎
@weirdboyjim6 сағат бұрын
And JLC Loves you!
@JanBruunAndersenКүн бұрын
A suggestion: Implement some kind of history mechanism in your CLI so you can easily repeat commands.
@sparthirКүн бұрын
When he has storage fully up and running a terminal history file can be saved to it. 😊
@weirdboyjim6 сағат бұрын
That would be useful, but you really need a more advanced line editor to use it. all tasks in the backlog!
@JanBruunAndersen5 сағат бұрын
@@weirdboyjim - an interactive line editor is not required. Something like simple token substitution will go a long way. Like in Bash where '!!' will cause the last command to be executed. Or '!!:s^txt1^txt2' which will substitute txt1 with txt2.
@khatharrmalkavian3306Күн бұрын
🤖The machine must grow. 🤖 So amazing to have seen it all come this far.
@weirdboyjimКүн бұрын
Glad you are enjoying, but it can't grow too much! I'm running out of desk!
@danmerillat2 күн бұрын
I know this is quite an old video by now, but for anyone watching in the future: flux will help with getting the solder to properly flow and not just bead up on the surface. There's a tiny amount in solder wire, but not enough to prepare those large surfaces.
@weirdboyjimКүн бұрын
Flux is sometimes a tradeoff between easier soldering and the mess!
@danmerillat15 сағат бұрын
@@weirdboyjim That's certainly true! I've spent plenty of time cleaning up leftover flux with alcohol and a close-cropped brush. Situational for sure, might help enough to be worth the mess on something like this edge connector. Love your videos, inspired me to implement a close analogue in verilog to run in simulations to really understand what's happening at the lowest level of CPUs.
@benjaminargenziano58515 күн бұрын
What about designing/implementing a WS2812 LED interface. Would be interesting…
@weirdboyjimКүн бұрын
Might be fun. Probably best done with GPIO.
@pierpa_76pierpaolo7 күн бұрын
Which logic probe would you recommend for me to test these ICs : CA3130E, LM358, V4093D, GD4027B ? Thank you very much.
@weirdboyjimКүн бұрын
That depends on what you want to do. A logic probe isn't going to help you test analogue ic's
@MrHamof8 күн бұрын
So I watched all your videos over the course of the last week or so, and they've been great. Loved them to bits. If I may offer one small criticism however, it'd be nice if there was a playlist available that was just all of the videos in chronological order, instead of having to keep track of when there was an episode on for example audio between two episodes on the main computer. Not a big deal, and I did eventually figure out I could use the "watch later" function for this, and probably not worth the effort to fix at this point. But it did slightly annoy me.
@weirdboyjimКүн бұрын
Glad you liked them! I'll think about a "release order" playlist. KZfaq always used to show that information readily but I guess not anymore.
@MrHamofКүн бұрын
@@weirdboyjim It wasn't hard to deal with or anything, they do show in release order in the videos tab on your channel page. Just mildly annoying to have to keep track of until I remembered that the queue feature exists.
@MrHamof11 күн бұрын
OK, but will it run fastdoom? (Probably not, that still requires a 286 even at min settings and it barely looks like Doom at that point.)
@weirdboyjimКүн бұрын
I haven't looked heavily into fastdoom but it's still reliant on having much more memory so far as I can see?
@MrHamofКүн бұрын
@@weirdboyjim Yeah I'm pretty sure the answer is in fact no, it won't run Fastdoom.
@MrHamof12 күн бұрын
3:05 You absolutely can use an audio tape with a modern PC, hook it into your line in/out ports and run any of the adapter softwares that are available. In fact if the JAM-1 supported audio tapes you could connect it directly to the PC like this and have the PC pretend to be an audio tape. Obviously that's very clunky though, handy if you're trying to get cassette files onto something like a Commodore but not very helpful for what you're doing.
@weirdboyjimКүн бұрын
My comment wasn't really "this can't be done" but more that it's not a supported usable storage medium. I've loaded code from my pc to the ZX spectrum via the sound card!
@MrHamof13 күн бұрын
6:15 There does exist software where you can just throw in a truth table and it'll tell you the configuration of gates that uses the least gates to achieve that truth table is. I don't know how well it actually stacks up to a human who puts in the effort but it works better than PCB autorouting anyway.
@weirdboyjimКүн бұрын
It would be interesting to see, although next time I build a sync circuit I'll probably look at making it more configurable.
@MrHamof14 күн бұрын
6:20 Doing exactly this (taking a low current sound signal and turning it into a high current sound signal) was one of the first commercial uses of semiconductors. It's how radios worked, and how they took the very weak output from the antenna and turned it into something that could actually drive a loudspeaker.
@weirdboyjimКүн бұрын
That's correct, good old CK703! Although the big push for integration on IC's really came from digital circuits for the space program.
@MrHamof14 күн бұрын
1:00 What's funny is that IBMs super cheap sound solution was still more advanced that the Apple II. If you're unfamiliar, the Apple II requires the CPU to directly address the speaker, which is why whenever a game (or other software) wants to play a sound effect it has to pause everything else while for every sample in the sound output the CPU talks to the speaker. So if you want a 10khz tone, you better believe the CPU has to bang bits at the speaker 10 000 times per second. Combined with the lack of any kind of timer circuitry and the mess that was the Apple IIs graphics circuitry this kind of thing is why the Apple II was probably the worst gaming machine out of the big three in the US.
@weirdboyjimКүн бұрын
If I remember correctly the ZX spectrum was similar. Maybe I should have sidestepped the entire audio series with a 1bit output :-)
@MrHamofКүн бұрын
@@weirdboyjim Wouldn't be nearly as much fun though.
@MrHamof15 күн бұрын
You might have done it by now, but something that makes a lot of sense to me is a macro to push/pull the entire transfer register into the stack, partly because it makes it a bit faster to write but also because it removes the possibility of getting the order wrong.
@weirdboyjimКүн бұрын
I do have push / pop tx macros now. I can't remember when I added them.
@sanolivo686718 күн бұрын
I hate to tell you, but that is not how you crimp those things
@weirdboyjimКүн бұрын
I assure you, that is how I crimp those things. If you have a better method everyone would appreciate you sharing.
@Teckman823 күн бұрын
Coming back to this a few times, I am forever in awe of the sheer ability of the 4 channel MIDI. Its on the struggle bus for a few sections, but overall it is great for what it is. Even if the graphics are only a bit on the chunky side, but it just works.
@weirdboyjimКүн бұрын
Glad you enjoy it! I was very pleased with how this all came together!
@rsmrsm200025 күн бұрын
Amazing Congratulations Please more videos
@weirdboyjimКүн бұрын
Thanks! Plenty more to come!
@HUEHUEUHEPony27 күн бұрын
buy an fpga old man
@weirdboyjimКүн бұрын
Where would be the fun in that?
@ZEESHANALI-v4t27 күн бұрын
You have done some great work, dude. And thank you so much for making this masterpiece series. I wanted to ask you about the list of all the components used in making this CPU and how much this whole costed you along with the schematic of the whole design. The reason is that i am planning to design this project for my final year and looking for the resources and information regarding this. Could you please provide me the list of components, whole design schematic and the amount of cost? I will wait for your response. Thanks!
@weirdboyjimКүн бұрын
Firstly I'd like to say, do not underestimate how much effort it would be to reproduce this. It's taken me a lot of time, you definitely won't be able to do it without understanding the workings and principles. There will be issues along the way you need to diagnose. When the entire build is finished I may attempt to make some more detailed documentation but my time is split between many things. The schematics I've released at EasyEda give you most of what you need, but you would need to put a bit of work in.
@user-hn9gq5dz7gАй бұрын
No vi tantas diferencias.
@weirdboyjimКүн бұрын
Work with these enough and you'll find the differences are significant.
@theleviathan3902Ай бұрын
So the 2 address lines would go high when the failed constant load enters stage 1 after the memory load, then the same constant load, previously stored in the latch chip would get sent out onto the pipeline, but would't this mess up the constant? The constant would be what was currently coming from memory, but if the address lines are choosing the constant load over the constant, then wouldn't the constant load load in the opcode of the next instruction after the constant?
@weirdboyjimКүн бұрын
The constant load instruction is what is held back until the memory contention passes, that way the regular load does get the correct data that followed in the instruction stream.