close-circle
Close
0%
0%

Apple 1 Mini

A minified replica of the Apple 1 computer

Similar projects worth following
This project is a minified replica of the Apple 1. It's built around a 6502 CPU, 6821 PIA (Peripheral Interface Adapter), RAM and ROM - just like the original Apple 1, but it uses an Arduino Nano to enable serial communication between the Apple 1 board and an external computer that acts as terminal. That means you can't hook up a keyboard and monitor directly to the board (yet!). This project is currently under development and will be released as a DIY kit soon!Files and components will be added when the first production revision is ready.Until then, see the GitHub repository: https://github.com/DutchMaker/Apple-1-Mini

The board in the picture is NOT THE FINAL BOARD!
A new revision is on its way and is about half the size the first board.

This project is a minified replica of the Apple 1. It's built around a 6502 CPU, 6821 PIA (Peripheral Interface Adapter), RAM and ROM - just like the original Apple 1, but it uses an Arduino Nano to enable serial communication between the Apple 1 board and an external computer that acts as terminal. That means you can't hook up a keyboard and monitor directly to the board (yet!).

The project is heavily inspired by the Briel Computers Apple 1 Replica and The Ben Heck Show!

What I have done:

  • Redesigned the circuit so I would fully understand every aspect of it.
  • Designed a PCB that can be easily produced and included in a modular DIY kit for anyone that wants to build this at home.
  • Programmed the ROM so it only contains BASIC, Krusader (assembler) and the Woz Monitor (memory monitor).
  • Written firmware for the Arduino to enable serial communication in a way that gives the real Apple 1 feeling.
  • Written a simple utility to upload data to the computer. This proved to be difficult with existing tools as there need to be specific delays in sending the data.

What I have planned:

  • Design an expansion board that allows you to connect a keyboard an monitor directly to the board and run the Apple 1 standalone. The main PCB has an expansion header that allows an expansion board to be put on top of it (like a breakout board).
  • Design a modular casing with laser cut parts. The casing will house the main board, but additional layers can be put on top of it to increase its size and allow for expansion boards to be added later on.
  • Release several varations of a DIY kit for this project (PCB only, PCB + passives, PCB + passives + casing, complete kit, etc.) so others can easily build the computer at home.

schematic - Schematic.pdf

Circuit diagram for revision 1

Adobe Portable Document Format - 525.71 kB - 08/05/2017 at 08:37

eye
Preview
download-circle
Download

  • 9 × Capacitor 100nF
  • 1 × Capacitor 4.7uF Electrolytic capacitor
  • 1 × Capacitor 10 uF Electrolytic capacitor
  • 1 × Capacitor 100 uF Electrolytic capacitor
  • 1 × Diode 1N5817 Schottky diode

View all 22 components

  • Data upload utility

    Ruud van Falier08/06/2017 at 18:56 0 comments

    Transferring data from my PC to the Apple 1 Mini proved challenging.
    The transfer requires a delay after each byte and a bit more delay after a carriage return.
    Without these delays and a few other details, the transfer fails.

    I added a simple utility that handles this upload process and I've been using it to test the small library of program code that I found for the Apple 1.
    It uploads data at a whopping 29 bytes per second!
    The utility seems to work very well at this point and I've enjoyed playing a few simple games on my Apple 1! :-)

    Source code and binary for the utility is available from the GitHub repository.

  • Sneak preview of revision 1

    Ruud van Falier08/05/2017 at 08:48 0 comments

    Here is a sneak preview of the (much smaller) revision 1 PCB that is currently being produced for testing.

  • Let's get it started...

    Ruud van Falier08/04/2017 at 14:37 0 comments

    A good month ago I was contemplating what to build next...
    I had just finished building an 8-bit CPU on a breadboard - thanks to Ben Eater's amazing teaching skills - and figured I could step it up a notch.
    That's when I came across the other Ben's (Heckendorn) videos on him building an Apple 1 on a piece of perf board and my new goal had been set: to build myself an Apple 1.

    I started by researching the resources Ben Heck had left behind, which was mainly based on Briel Computers' Apple 1 Replica project.
    During that research I began creating a new circuit diagram for my own build.
    Starting a new circuit from scratch really helped me understand every aspect of the computer. That and troubleshooting it with my oscilloscope and logic analyzer once I put everything on a prototype board.

    Once the prototype was functional, I decided to produce one (inefficient) PCB to verify my circuit diagram was correct.
    The result of that first PCB (revision 0) can be found in the gallery; it's a rather large board, but works exactly as I hoped!

    What I have so far:

    • 6502 CPU with 6821 PIA, 8 KB (EEP)ROM and 32 KB RAM
    • ROM containing BASIC, Krusader and WozMonitor
    • Firmware running on an Arduino that provides serial communication between the computer and an external terminal client (PuTTY, for example)
    • The firmware mimics Apple 1 visual representation (only uppercase, blinking "@" as cursor)

    I intentionally started with a board that does the bear minimum; run 6502 code and provide serial communication.
    The idea is that the computer is expanded in the future by adding boards on top of the main board using the expansion header.

    What I have planned for this project:

    • Produce a smaller PCB that is easy to fit into a casing.
    • Create one or more expansion boards, for example to provide an interface for a monitor and keyboard so the computer can run standalone.
    • Create a modular casing from laser cut pieces. Modular in the sense that it can fit just the main board, but the casing itself can be expanded (using interlocking tabs) once expansion boards are added.
    • And most importantly: release the computer as DIY kit, in different variations!

View all 3 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

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