Main fundraiser photo

Help Agatha Build an 8-bit Relay-Logic CPU!

Donation protected
Hi, I'm Agatha!

Mechanical relays are electrical switches that are electrically controlled, and they make delightful clicking noises when they turn on or off. It is possible to use relays to build complicated logic circuits. I want to build an actual computer!

TL;DR: this fundraiser helps offset my financial costs incurred in designing and building this computer.

Additional details:

I designed and am building an 8-bit CPU entirely out of 12V DPDT relays. There are four 8-bit general-purpose registers, and one 8-bit program counter (all 1.5 relays per bit). Central to the design is a powerful ALU supporting many bitwise operations and chainable addition / subtraction. Peripherals (like main memory) and clock generation are implemented with an off-the-shelf microcontroller, but all registers, computation, routing, and control logic—the whole CPU itself—is implemented with relays!

(Other hobbyists have made computers out of relay logic before. These are interesting and I draw much inspiration from them. However, most implement key pieces of the computer, such as registers, in non-relay logic, which I don't consider to be fair. My architecture improves on this by implementing the entire CPU in relays. Additionally, I have developed a superior data flip-flop design, have a more powerful ISA, and may support a faster clock rate.)

My design consists of several printed circuit boards:
- 5⨯ registers: these have been designed, fabricated, and will be assembled soon.
- 1⨯ ALU: this implements the following nontrivial instructions (A+B, A-B, B-A, --A, ++A, -A, ~A, A|B, A^B, A&B, A&~B, A>>B, A>>>B, A<<B) with 105 relays (an early revision of this board appears as the fundraiser image). This has been designed, simulated electrically, and exhaustively proven correct.
- 1⨯ Motherboard: handles instruction fetch / decoding, interfacing registers, control logic, and so on. This board is currently being designed.
- 1⨯ Peripherals: handles interfacing with memory, generating the clock signal, and converting voltages. This has not been designed, and may be based on off-the-shelf parts.

---

The main obstacle is cost, mostly dominated by the relays and PCB fabrication. I estimate the final design will require close to 300 relays. In my experience, cheaper relays simply don't cut it. Because there are many relays, even a small chance of mechanical failure becomes likely unless it is very small indeed.

I am asking for $1000, which will cover the cost of high-quality relays, other parts, PCB fabrication, and will leave margin to deal with setbacks, such as parts sourcing issues or any needed design iterations.

I hope to document this project more completely and publicly in the future, and when complete will release all designs freely. Pending success of this project, I hope to design a successor 16-bit architecture supporting 16-bit floating-point. Over-funding this project makes that follow-on more likely.

I will make every effort to succeed, of course. However, I cannot make promises at this time. You support this project to help me try to make something awesome, but by the same token this architecture is unproven, and there are many unknowns. Please understand that complete failure is still very possible.
Donate

Donations 

    Donate

    Organizer

    Agatha _
    Organizer
    Forest Grove, OR

    Your easy, powerful, and trusted home for help

    • Easy

      Donate quickly and easily

    • Powerful

      Send help right to the people and causes you care about

    • Trusted

      Your donation is protected by the GoFundMe Giving Guarantee