Teaching electronics and computer engineering often starts with a relatively high level "Hello World" example of blinking an LED using C/C++, abstracting away all the necessary parts that makes it "go". Concepts like CPU, ROM, RAM, I/O, stack, and instructions are all hidden away so it's easier to focus on the task at hand - blinking an LED.
If your goal is blinking an LED, then there's nothing wrong with that. This project takes a different approach by going back to the basics and giving students a stronger understanding of the individual system components by giving the opportunity to understand what each IC does and why it's needed in the system.
Limiting RAM and ROM (severely) also makes high level languages like Python or Arduino C less appropriate and encourages the use of assembly language instructions - even though the cc65 compiler will do a nice job for the 6502.
*The board uses an Arduino-compatible form factor but is not compatible with the Arduino IDE(yet anyway). This means that many "shields" or add-ons will be compatible. (If they don't have particularly high demands for clock speed or RAM).
Since a complete 6502 based microcomputer, like an Apple II or my #ABN6502 SBC R1, usually takes up quite a bit of space the 65uino uses the 28 pin 6507 microprocessor instead of the 40 pin 6502. Inside the package you'll find the same silicon as a 6502, but with less pins broken out to the DIP package.
Features of the 65uino:
- 6507 Microprocessor running at 1 to 3 MHz
- 6532 RIOT chip - 128 bytes of RAM, two 8 bit I/O ports and a hardware timer
- 4K of addressable ROM - PCB design accepts either a 24 or 28 pin EEPROM/EPROM/PROM. To be compatible with Arduino cases and footprint the extra 4 pin section of ROM can be broken off the PCB.
- Onboard 3v3 and 5V regulators
- Onboard LEDs for power rails and "D13"
- Onboard reset and user pushbuttons
- I2C and SPI can be implemented in software
- Socket for 0.96" OLED i2c screen (that hopefully works XD)
The project has just started and the major walk through video is still under way but if you wan't to know more about the general philosophy and how to program a "bootloader" onto the 65uino, have a look at this video about the project that inspired it - the 6502 "Single breadboard computer" below.
Cool. 👍 I almost wish I had more history with the 6502 but the KIM-1 was the extent of my involvement, and there are no '02 chips in my junk^Wspares box, and I have forbidden myself to buy more retro stuff before using up existing, er spares, first.
Will you also create an Arduino toolchain?