Close
0%
0%

ABN6502 SBC R1

Saving the planet, one obsolete chip at a time

Similar projects worth following
First let's try to use what we already have, then let's try to use what other people no longer need and if that fails we can still get new parts. Reduce, reuse, recycle!
Video: https://youtu.be/7Sufp7Ob3DI

It's a fully featured single board computer with VGA output, keyboard input, GPIO's, SPI, I2C, 2.4Ghz TX&RX - and it's easy to build!

Most hackers will have a surprisingly large part of this project's BOM in their arsenal already, and if you have almost any old PCB from the 70's to the early 90's, you will certainly find some 7400 series discrete logic. Grab some of that and join me on this journey!

This is based on my 6502 SBC r0 but has a completely rerouted PCB, nRF24L01+ (SMD) pads on the back, clock buffering, smaller PCB, and a proper reset circuit and many other improvements, and no unobtanium-mcu required for graphics any longer.
Just 70's tech - pushed to the limit!

TL;DR Universal design & world friendly!

Features of my 6502 Single Board Computer, revision 1

  • CMOS and NMOS 6502 compatible board
  • Easy to program(6502 ASM, BASIC or C code), hack and connect to parallel, SPI, i2c and serial interfaces.
  • Uses only easily available parts - used, NOS or new.
  • 2MHz clock (divided down from 16Mhz. 16, 8, 4, 2 and 1 Mhz outputs available for addons. )
  • 64k or 128k ROM*
  • 32k RAM*
  • nRF24L01+ for bootloading code
  • 51 characters by 30 lines of monochrome green on black VGA output.
  • 6522 for two 8 bit IO ports + CA1+2/CB1+2 + Two 8 bit timers
  • 74hc273 "Output only" port for font banking, video enable and 5 "GPO"'s/user bits
  • Reset circuit to prevent from outputting to screen blanking and correct operation (optional)
  • All control signals broken out for easy access and addons
  • Data bus and address bus broken out for easy access
  • NEW: Microsoft BASIC support

*Only 32k ROM and 24k RAM available, 2k of the RAM used for Video RAM. 

Why?

The grand chip shortage quickly went from a small peculiarity to a serious problem for the whole industry. A year ago, some types of products were affected - now it's affecting anything from laptops, to network switches, to robot lawn mowers. Even Arduinos and dev-boards - and especially Raspberry Pi's. 
Meanwhile, mountains of electronics waste is accumulating, because of the shorter and shorter electronics lifecycle. Even though there is some demand for old parts from hobbyists, I speculate most of these old parts are eventually headed for the great landfills. 

Some of the most common parts of the 1970's, 80's and 90's are 7400-series logic IC's, RAMs, ROMs, microprocessors and support IC's from old home computers, gaming consoles and industrial control systems. Many of these devices are recycled and the many IC's refurbished for resale, either with their original part name etched on top or sanded and re-etched with a brand-new-looking laser etching of a similar IC. Of course, many a hacker will already have tubes and tubes of many of these types of components, simply because they're leftover from a long lost project that didn't quite make it - or in my case inside the electronics I refuse to throw away. 

How?

If we can decrease the demand for new parts, and at the same time increase the demand for used parts we might be able to not only make a dent in the IC shortage, but also promote recycling of PCB's that would've otherwise gone straight to the landfills. Simply by nudging the economic feasibility of recycling instead of tossing. 

Of course not only by building this project, but also as a proof of concept for the philosophy of going with what you already have instead of buying the newest and shiniest. 

The 6502 is closing in on it's 50th anniversary in 2025 and it and it's variants are running anything from the Nintendo Entertainment System, the Commodore home computers, the Apple I and II, and millions of embedded devices. Even Futurama's Bender and the Schwarzenegger-skinned T-800 Terminator uses it. 

You might think the 6502 is limited to assembly language or BASIC, and training assembly was indeed on of my motivations, but for daily use as a quick way to interface embedded peripherals the cc65 compiler does a fine job at converting C code to 6502 assembly. 
You might also think programming it is in the realm of fiddling with UV erasable ROMS, but in my case I've got a simple solution setup for single click wireless programming

This makes the project one of the easiest ways to test out a new or old SPI, i2C, parallel or serial device - even if it's based on 1970's tech. 

Said another way, the ABN6502 R1 saves new IC's for those who really need them, it promotes recycling of old PCB's and refurbishment of IC's, it gives new life to the millions of 6502's in the world, and making it is a fun and highly educational journey, available to anyone at low cost. 

Overview Hackaday Prize Competition video (4 minutes)

Complete hardware overview (23...

Read more »

IMG_4619.jpeg

ABN6502 SBC R1 B2 High Resolution Photo

JPEG Image - 3.75 MB - 10/21/2022 at 11:30

Preview
Download

IMG_4652.jpeg

ABN6502 SBC R1 B2 High Resolution Photo

JPEG Image - 5.33 MB - 10/21/2022 at 11:30

Preview
Download

IMG_4596.jpeg

ABN6502 SBC R1 B2 High Resolution Photo

JPEG Image - 2.92 MB - 10/21/2022 at 11:30

Preview
Download

IMG_4591.jpeg

ABN6502 SBC R1 B2 High Resolution Photo

JPEG Image - 3.38 MB - 10/21/2022 at 11:30

Preview
Download

IMG_4574.jpeg

ABN6502 SBC R1 B2 High Resolution Photo

JPEG Image - 3.21 MB - 10/21/2022 at 11:30

Preview
Download

View all 12 files

  • 1 × 6502 CPU - either CMOS or NMOS. U2 Main CPU
  • 1 × 6522 VIA - NMOS or CMOS U3 IO Ports and timers
  • 1 × 74HC273 U4 "Output only" register
  • 2 × w27c512 U5 + U18 Main ROM and character ROM. Main ROM can be replaced with SST39SF010 for snappier programming times.
  • 2 × 74HC590 U6 + U7 Video address counter

View all 38 components

  • Have you met the 65uino?

    Anders Nielsen03/27/2023 at 18:21 0 comments

    Thank you all for your support in last year's Hackaday Prize! 

    This year I went back to the drawing board and thought: How can I make a project a bit like my #ABN6502 SBC R1  but even more accessible to students, teachers and hobbyist and make a board that's quick to make and easy to understand? 

    The answer is my new project for this year's hackaday prize: The #65uino 

    It's a 6507 based dev board inspired by my "6502 Single Breadboard Computer" in an Arduino form factor with only three main IC's + glue and regulators.
    It's fast to assemble and it should turn out to be a fun project for students, teachers or a hobbyist weekend project!

    I hope you'll check out the project and follow along on the main page, here: #65uino


  • Hobby friendly gerbers available!

    Anders Nielsen11/24/2022 at 22:28 0 comments

    Turns out 0402 pads for solder jumpers are a bad idea. They are now a much more friendly size and the board should now be easy to solder for anyone comfortable with 0805 pads. (Not counting the optional microusb connector, the 3v3 sot23 regulator and the castellated hole pad RF module module).

    Speaking of 0805 pads, I've added a bunch of redundant 0805 decoupling capacitor pads on the back of the PCB. On the schematic they're marked as "NC"/No Connect but if you're not comfortable with the 0603 100nF capacitors on the front of the board, throwing 100nF caps on these 0805 pads should be sufficient decoupling, assuming a decent power supply. 

    And finally, speaking of power supply, J1 and J8(0.1" headers) can both be used to power the board in case you don't solder a microUSB connector to the board. They now come with 5V/GND labels - the board has no reverse polarity protection, so do be careful not to plug power in backwards. 

    I haven't shipped this build to a fab yet so please let me know if you do - nothing critical has really changed since R1 B2 but please regard it as UNTESTED until I remove that label from the gerber zip filename. 

    The updated gerber zip can be found in the hardware folder on github: https://github.com/AndersBNielsen/abn6502

  • The fun has just begun!

    Anders Nielsen11/06/2022 at 11:14 0 comments

    The project might not have finished top5 in this year's Hackaday Prize but I still have to thank everyone here, and Hackaday staff, for all the support - and a big congratulations to the winners!

    Even though the 2022 HaD Prize is over the project certainly isn't going on the shelf - it has a permanent place on my desk as a helpful gadget that let's me easily do tons of tasks. 

    Testing a logic IC is as simple as connecting it to port A and reading it, and testing old parallel equipment is super easy with the address, data, and control lines broken out. I'm sure it'll be featured in a couple more videos on my youtube channel.

    In the coming week I hope to update the board slightly as I might have underestimated the size of the random hacker's soldering iron tip - 0402 solder jumper pads will be no more, and changed to actual solder jumpers of a more reasonable size, a minimum amount of decoupling caps will be changed from 0603's to 0805's where possible, and that should make it slightly more hacker friendly. 

    I probably won't order the new design next week though so if you decide to try it out before I do then please let me know. 

    Since I don't plan on making the ROM in circuit programmable any time soon, I also plan to move the control register into ROM address space since the register is write only anyway and the ROM is read only anyway.  Not happening this week though, so after I make the "user friendlyness" changes this week might be a good time for you to make one. 

    If you missed the RIOT video, check out what I use my SBC for.

  • New build, new video, updated documentation!

    Anders Nielsen10/22/2022 at 18:35 0 comments

    As you might have noticed I recently uploaded my official contest video to Youtube. If you haven't seen it, it's embedded a bit further below. 

    If you've been following along you might notice that the barrel jack connector has mysteriously disappeared and has seemingly been replaced by a USB-connector. The explanation here is that I did manage to squeeze in the 74hc74 flip flop onto the board to have the PS/2 keyboard connecting straight to the board without a daughterboard - a nice trade for a barrel jack. In return two pairs of 5V+GND 0.1" headers have been added - J1 and J8. 
    At the same time I also managed to squeeze in another 74HC00 NAND IC, which let me fix the control register decoding - it now only listens on write cycles and has been moved to $7000, which means more RAM freely accessible. This has also been fixed in the project details. 

    For this build I also managed to make the address space from $4000 to $5FFF jumper selectable - which means it's easier to switch between using it as RAM or IO space, shorting either R26 for RAM or R27 for making it floating address space. 

    The character ROM also got another address line enabled which means each "bank" now has 256 characters instead of 128 - that should make it easier to fit some PETSCII pixel art characters in there without switching banks. 

    Lastly I've added a bunch of 0402 jumper pads which understandably scared a newcomer away from ordering a board - for now they are intended as a test/debugging way of skipping the 74HC245's as I suspect they might not be needed when using a 'C02 since it also has the BE pin which should do the same and float the address bus. 

    I did manage to need one bodge since I also removed the unnecessary phi2 buffering but forgot to connect Ø2B and PHI0 (Aka 2MHz) - super easy fix and already fixed in the gerbers. 

    I regret moving some of the pinheader jumpers to 0402 pads, since 0402 pads are surprisingly resistant to being solder bridged - I will absolutely find a better footprint for the solder bridge jumpers before I order more PCB's. 


    From the Youtube comments I also learned that 0603 capacitors might also be on the small side for most interested people - so I might up that to 0805's as well. It really is meant to be solderable by a hobbyist with a relatively huge soldering iron - though power supply might have to be via pin header now that the barrel jack is out of the picture.

    So, is this a new "revision"? Meh - I've decided it's merely a new "build" as most of these changes were always intended to be part of R1 and most of the routing and general idea remains the same. So say hello to the ABN6502 SBC R1 B2 - now with a USB port for PS/2 keyboards. 

    Thanks for the support to everyone so far!

  • Using my #ABN6502 SBC R1 to test RIOTS

    Anders Nielsen10/12/2022 at 07:30 0 comments

    When I'm talking to my friends it's not always easy to explain why I would put together a computer out of 40-50 year old parts, but besides having fun with it, it really does have a lot of practical value.
    Since it's sitting there on my desk anywayy - with control signals neatly broken out, 5V and 3v3 available, along with the complete 16 bit address bus, data bus and plenty of IO - it really does beat a Raspberry Pi or an Arduino for easy of use. 

    Flip the power switch, turn on the screen and use the keyboard to scroll through memory or scan for I2C devices - it really doesn't get much easier than that. 

    If it's hard to picture, I made a quick video yesterday that shows how I do just that. 

    P.S. Contest video about my 6502 SBC coming soon!

  • WHUUUT! It runs BASIC?

    Anders Nielsen09/19/2022 at 22:12 0 comments

    It's not exactly Crysis.. It's not even DOOM.. But for the real retro crowd BASIC certainly seems to be the true test of a real 1970's microcomputer. 

    And now mine does it too!

    I somehow managed to mess up the memory map configuration when I first tried to get it running and that certainly delay'ed the whole thing a bit(yes, I spent more time than I care to admit), but after learning a lot about cc65 macros and how Bill Gates and Ric Weiland architected their version of BASIC from the experience, it was smooth sailing from there - I even managed to quickly write up some wrappers for saving to and loading from tape! Proudly featuring my #Simple Universal Modem !

    I hope the video will be well received. Either way, I had a lot of fun getting to this point - next stop: I2C-land!

  • This project spawned a new one!

    Anders Nielsen07/21/2022 at 09:27 0 comments

    Hello everyone!

    These last couple of weeks I've spent a bunch of time recording data to my 1972 tape deck. I couldn't decide if it was a part of this project or it deserved it's own project, but went with a new project since it's very self contained and applied much broader than just a single 6502 computer. 

    I suggest you check out the daughter project here on hackaday.io - the Simple Universal Modem -  here: https://hackaday.io/project/186309-simple-universal-modem

    I've already made a video demo, so check that out too:

  • Thank you for the support! What's next?

    Anders Nielsen06/07/2022 at 09:56 0 comments

    I'm overwhelmed with all the positive responses to my new hardware overview video. Thank you all!

    In the near term I'm focusing my efforts on making a tape deck interface, letting me save data on reel to reel tape - the way I'm sure Chuck Peddle intended it! :D The big question here is if I can make something that will make sense as a permanent part of the SBC, or an audio data interface will remain an external add-on. 

    Of course this wouldn't be limited to 1970's tape but should work fine with the audio jack on your modern laptop. I'll have to test both.

    When that's done I will probably focus my efforts on porting one of the MS Basic versions - I'm sure it'll be glorious! 

    When that's running I might decide to grab an old laptop screen and see if I can make the world's - probably - first 6502 cyberdeck!

  • Complete hardware overview video out!

    Anders Nielsen05/27/2022 at 16:23 0 comments

  • New video coming soon-ish!

    Anders Nielsen05/16/2022 at 21:02 0 comments

    As I've been promising for months, I will eventually release a video about all the hardware of my 6502 single board computer - not just the changes since r0 but the whole thing. 

    I plan to go through all the major hardware components in about a half hour long video - beginner topics will receive less attention than the things that make this single board computer unique. 


    At the very least the topics covered will be: 

    • So what is a “6502”?
    • Memory mapped IO
    • A memory map from half a century ago
    • SPI, I²C, and PS/2
    • Reset and buffering circuit
    • “VGA” output

    If there's anything else you would like me to explain in the video, now is the time to leave a comment :) 

View all 17 project logs

  • 1
    Send gerber files from /hardware on Github to your favorite board house
  • 2
    Source the IC's

    The spirit of this project is to contribute as little as possible to the global IC shortage and get used chips locally or from Ebay/AliExpress/etc.

  • 3
    Build the project using assemble.sh (Mac/Linux)

    This will also try to burn the main ROM using Minipro. Dependencies: [CC65] (https://github.com/cc65/cc65) and a way to burn the ROM's. 

View all 8 instructions

Enjoy this project?

Share

Discussions

SparkyNZ wrote 12/20/2022 at 22:03 point

Hi Anders. Would it be possible to share your .sch file(s) please? I have your PCB sitting here and all the components ready to solder over Xmas. I am just interested in sitting down and going through the schematic in relation to your videos so I can see what does what in my own head.

  Are you sure? yes | no

Anders Nielsen wrote 12/21/2022 at 13:54 point

It's on Github - https://github.com/AndersBNielsen/abn6502/tree/main/hardware
You should be able to clone the project and open it in KiCAD 6.
Did you use the new version?  (abn6502sbcr1b3gerbers-untested.zip)

  Are you sure? yes | no

SparkyNZ wrote 12/21/2022 at 18:34 point

Thank you. I have the r1 b2 PCB. Sorry I thought those .sch files were reference schematics for other projects. I'll have a look. I'm just waiting for some more IC sockets to arrive (although I could chop up some 28 pin sockets). I'll probably solder the SMT bits this weekend. I did  that with a Minimig board - did the caps/resistors but then got scared to solder the big FPGA and left it :-)

  Are you sure? yes | no

SparkyNZ wrote 12/28/2022 at 09:25 point

It's taken me a while to get round to starting this (I had to order some SST39SF010's).. What value is C19 "C_Small" supposed to be please?

  Are you sure? yes | no

Anders Nielsen wrote 12/28/2022 at 11:32 point

C19 is meant to slow the fall of the '165 chip enable, so it doesn't go low until the VRAM is clear and blanking intervals are in fact blank. 
I'm not 100% it does it's job but I've set it at 100nF like the other 0603 caps. 

  Are you sure? yes | no

SparkyNZ wrote 12/30/2022 at 03:09 point

Thanks. I'll try 100nF. Probably won't get to try anything until Feb.. I think I have ordered more parts than the spares I had lol. But at least I'll have a use for the NMOS 6502/6522 chips that I have.. unless my Vic20s need them one day.

  Are you sure? yes | no

Anders Nielsen wrote 12/22/2022 at 06:32 point

Since you have the r1b2 board I apologize for the 0402 pads for jumpers. I thought they would solder bridge pretty easily because of my inexperience with 0402's - no such luck. For my own board i ended up bridging the pads with a bit of leftover THT resistor leg. 

  Are you sure? yes | no

SparkyNZ wrote 11/03/2022 at 14:00 point

Which component list is the most up to date? Is it the components list on this site or the bom.txt on github? I tried posting 2 comments asking this on Youtube but my comments keep disappearing or get removed.

  Are you sure? yes | no

Anders Nielsen wrote 11/05/2022 at 13:43 point

Dunno what’s up with YouTube - the BOM on the project page is up to date and should match the kicad files. Bom.txt is an older export.

  Are you sure? yes | no

SparkyNZ wrote 11/06/2022 at 05:58 point

That's good because I went with the component list on here. :-) Unfortunately there were a lot of counters and the likes that I didn't have so Aliexpress business will be booming :-) I'm sure they'll come in handy in the future.. assuming they arrive - we have lots of issue with Aliexpress parcels going into a blackhole in NZ.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates