Getting Back to Electronics with Ben

Hello World

Been on a loooong a break from doing electronics/robotics projects. In fact it’s been over 6 years.

One reason for this hiatus was due to spending a year abroad back in 2015-16 and so was not physically able to work on anything, and when I came back got side-tracked into other hobbies like chess, RC planes and scale model building. It seems I’m a promiscuous hobbyist…

The other reason was that developing more advanced robotics projects was getting to be more like my day job. I develop code for a living so writing even more code in my spare time was not so attractive. Not that I don’t like writing code for fun but I think the fact that I didn’t have a specific project goal or that they were so open ended meant I lacked the coding mo-jo to soldier on. The net result was not continuing on with projects.

However, recently I discovered Ben Eater’s 8 bit CPU project and that has inspired me to get back into doing electronics once again. Never understood exactly how CPU’s work and Ben’s series of videos explains all the CPU mechanics clearly and from first principles. It’s a wonderful series of videos and can whole heartily recommend you watch them all.

While I might someday build Ben’s CPU, it’s his 6502 project that has me all nostalgic for my teenage years on the Commodore 64 home computer, so a kit was order and built:

I did make some changes:

  • Added a 6551 to do serial coms
  • Voltage supervisor chip to handle the reset signal on start up
  • Different memory map so that only 2K of RAM is lost

I plan to make a bunch of posts about the project and my progress. The goals are to:

  • Get I/O working via UART/USB
  • Create simple monitor program
  • Implement a Forth Kernel
  • Create PCB version via KiCad
  • Create an emulator

The 6502 is an interesting CPU. It is more like a RISC architecture than CISC. I’ve a lot of experience with the MC68K chips which have many (32 bit) registers and good stack frame support. The 6502 has only 3 (8 bit) registers and rudimentary stack support but it has a “zero page” with various addressing modes that makes that page more like a large bank of registers, and it is this RISC like approach, I think, that explains why the 6502 has out performed its contemporaries that were more feature complete and running at faster clock speeds.

Also the nice part about using the 6502 as a hobbyist CPU is that its simplicity and 64K limit means projects are likewise kept manageable in scope – and more satisfying too when you push the envelope of what it can do. In fact it’s constraints that foster creativity and probably explains why the 6502 has not only been so successful but still has a strong following after 40 years.

Looking forward to getting back to basics.

Thanks Ben!

Update 11/5/21:

Seem to have opened a can-of-worms with this 6502 project as I’m now drawn more to the analog side of things and find myself wanting to deep dive into analog electronics like audio synthesizers and learn more about op-amps, transistors, RC circuits, RF, power supplies and so on – ironically the stuff I tried to avoid in college.

6502 will have to take a back seat for now… but not forever…

Comments welcome