Posts

Showing posts from February, 2021

8 bit CPU: Soldering the boards

Image
The boards arrived, so did parts. Time to put it all together. I've chosen to make boards using SMD parts, soldering those might sound a little scary. What I remember from previous experience (I've soldered a couple of small boards before), it is easier than one could think before trying. Tool-wise it also does not require anything fancy. Good tweezers, small soldering iron, flux pen. Solder wick could be useful, but I did not need that very often. It helps to have brightly lit workplace. Soldering SOIC chip on the board so that it is connected properly is quick and easy. It takes a bit longer if one wants to align it perfectly . Solder one corner pin, check alignment, re-melt and correct until you're happy, then do one in the opposite corner. Finish with the remaining pins. 0805 resistors and capacitors also are quite easy - solder one pad, check, re-melt. Once happy - solder other one. What I struggled a bit with was LEDs. Again - it is not hard to put them on board and s

8-bit CPU: design the PCBs

Image
The idea is clear, now the hard part: design the boards. I've been long time CatSoft Eagle user, but since they've been acquired by Autodesk, things have gone downhill. It did not even wanted to start on my machine (I use Linux as my primary OS). Well, so long and thanks for all the fish! KiCAD seems to be popular in the community , let's learn something new. As planned before, I started with ALU module. The schematics part was quite easy, there are no space constraints when drawing that. PCBs on the other hand... After board outline was set and connectors placed, it started to feel quite terrifying. Can I really fit ALL THAT on this small board? Eventually I did... Next I have to route the tracks, a lot of them. Felt a little lazy to do it all by hand and wanted to see what autorouter produces. Turns out, there is no such feature in KiCAD. Everybody appears to to hate autorouters! There was an option to export the board, autoroute it in FreeRouting and then import it ba

8-bit CPU: Planning PCBs - architectural upgrades and addressing common issues

Image
I built a prototype ALU block and it appears to work fine, where to go now? I should remind that I do not want to build multiple copies of the same circuit. I already wired up the Program Counter board temporarily as B register. I'll need that for the intended purpose later. The logical step is to design a PCBs for parts I've built. I decided to start with ALU, Register and Flags boards. I had some extra ideas for features and improvements, that are not tested on breadboards. The changes are not that complicated so I decided to implement them directly to PCBs. Some of them will allow greater flexibility later on, some should help to prevent come common issues other builders are facing. As for PC, I decided to keep it on breadboard, as only one copy is needed and I'm not really decided if I want to do something different there. Flags I decided to deviate from Ben's design and build Flags register as a separate entity. The main reason is that at some point I plan to build