(C) 2017 by Dennis Kuschel 
Warning! Freak Page!
-  Homebrew Computer  -
This Computer has no CPU.  It has MyCPU!
Pictures         Forum         Downloads         Bugfixes         MyCPU-Server
It got a bit silent around MyCPU. This is mainly caused by my two children (twins, 16 months old), who are consuming all my free time. But in the few free minutes that remain I am still working on MyCPU. My current project is again a pure software project that I call "vCPU". vCPU is a virtual 16-bit CPU that gets emulated in software by MyCPU.
Because I am not willing to update all my PCs to Windows 10, I have now changed to the free Linux OS (Arch Linux). For this reason I have ported all MyCPU cross-platform-tools to Linux. The remote file server (rfss) compiles now on the latest Linux versions and supports all available serial communication devices. The MyCPU Emulator works great under Linux and feels much more realistic than the MS Windows version. Visit the download section to get the files!
I have revised the documentation of all Selfbuild-Guides (schematics have not changed).
Question: Since the wire-wrap headers that are used in the MyCPU and the Graphics Unit are no more available at my original source www.conrad.com, do you know where to get these connectors? Every Arduino shield is equipped with these headers, so there must be a source. Please write me an email if you know a manufacturer or distributor.
There is a new video section on this website. Please have a look to the menu on the right hand side. Also I want to invite you to visit the MyCPU forum. There is a category that contains photos of MyCPU clones.
I have rebuilt all MyCPU binary programs and ROMs with the new MyCA cross assembler. You can download the fresh binaries (with bugfixes but no new features) from the download section. One neat side effect is that the MyCPU operating system ROMs can now be built with Linux as host system - myca is also available for Linux and I have changed the MyCPU build system from DOS batch files to make files.
I have released the new cross assembler for MyCPU. The "MyCA Cross Assembler for MyCPU" finally replaces the old DOS based cross assembler "hasm.exe". [read more]

MyCPU Computer System. Click to read more.

All the electronics above on a single FPGA board:
MyCPU Compact

 The MyCPU is a "Central Processing Unit" that is completely built with discrete logic gates. Over the years the project has grown, and now the MyCPU is the brain of a real Personal Computer. The computer has the following capabilities and features:

  • All is built with 74HCxxx circuits. No higher integrated parts are use (except the EPROMs, RAMs and UARTs).
  • The system runs with up to 8 MHz
  • available hardware: 8 Bit CPU at 8 MHz (the "MyCPU"), 1.03 MB RAM / 128 KB ROM, Interrupt Controller, Multi-I/O with 2 serial ports, 1 printer port, LCD and PS/2-Keyboard interface, IDE-Controller for 4 harddisks, VGA graphic card, Ethernet Controller.
  • available software: DOS-like operating system, games, disk tools, programming tools, TCP/IP-stack, web server
  • The computer can be programmed in basic, assembler and "C". The basic-interpreter is integrated into the operating system, and the assembler is an executable that is loaded from disk and translates the assembly syntax into binary code on the MyCPU. The C-Compiler is a cross-compiler that runs on a Windows or Linux based host system.
  • The realtime operating system "pico]OS" has been ported to the MyCPU. Applications for pico]OS can be written in "C". This is a good starting point for education purpose.
  • I have ported "Contiki" to MyCPU. Contiki is a network enabled window application, that comes with widgets like a web browser and a FTP client. You can surf in the internet with MyCPU!
  • The project is totally open source. Please contact me if you are missing something like schematics, software or descriptions.

You want to know more about MyCPU? Please read this article!

If you are interested in the project, you may now

I am Dennis
Kuschel. I am
the developer
of MyCPU.

Updated:  2016-09-02
New Software Package:
MyCPU Software  v160902
New Cross Assembler:
MyCA v1.05 for MyCPU
New MyCPU Emulator:
MyCPU Emulator v8.0
All guides revised.
Get the guides here
New C-Compiler:
MyCPU C-Compiler v1.7
>> all downloads <<

CPU stability problems?
Read this!
The CPU's Wait State Logic does not work
RS232 on MIO-Unit does not work properly
Error on Memory Extension Board v070623 or earlier
Wrong resistors on VGA Graphic Unit v070704 or earlier

Linux Magazin
HST (Newspaper)
Heise Newsticker
"my cpu my computer" -
music by H.H.J.

Picture of the prototype
Pic of my current MyCPU
William's MyCPU clone
Other MyCPU clones

Jonhannes' Tutorials
Teil 1: Vorstellung
Teil 2: RemoteFS(1)
Teil 3: RemoteFS(2)
Teil 4: IDE und Emulator
Teil 5: Basic 1.1  Basic 1.2
Teil 6: Basic 2.1  Basic 2.2
Teil 7: Basic 3.1  Basic 3.2
William's Video Collection

Introduction into MyCPU
16-bit vCPU and vCPU2
MyCA Cross Assembler
The Killer App "Contiki"
Networking with MyCPU
CGI with MyCPU Server
MyCPU knows brainfuck'd

How to configure
Windows XP for SLIP

MyCPU Compact
Use a C64 as Terminal
pico]OS - a small RTOS

Professionelle Elektronik

MyCPU Forum

Chip8-Interpreter for MyCPU

CHIP-8 is a language interpreter used on the old TELMAC-1800 and COSMAC VIP computers in 1977. The original interpreter is small (less than 512 bytes), uses simple instructions and is easy to program. The early games like Pong, Brix and Tank fit in less than 256 bytes program code. The chip8-Interpreter for MyCPU can also execute SCHIP programs. SCHIP is an extension to CHIP-8 and was written in 1990 for the HP48 graphing calculator. The MyCPU software package contains about 30 games, including the well known Space Invaders game, Blinky (a Pac-Man clone), Brix, Joust, Sokoban, Tetris and others.
To run the chip8 interpreter, download the latest MyCPU emulator (at least revision 7) and enter "chip8" at the prompt. Please note that you need Kernel version 2.21 or higher on your MyCPU.

Contiki on MyCPU

Do you know Contiki? Contiki is a window based operating system for computers (or embedded systems) that have only very little memory. I have ported Contiki to MyCPU with the goal to have access to various Contiki applications. Porting the Contiki core to MyCPU was very hard work, but know it is very simple to compile the applications, since the user API is completely transparent to the applications. Most Contiki applications run without modifications on MyCPU! One really nice application is the internet web browser (see the picture on the right). I did some improvements on the app and now the browser is a really usable program.
Contiki can be controlled by a computer mouse. The red dot in the picture is the mouse cursor. The mouse hovers over the yellow highlighted link, the link target is shown in the status line at the bottom.

Read more about Contiki on MyCPU

The MyCPU Overdose

Please have a look at the picture
(you may click it to enlarge):

The MyCPU runs the Realtime-OS Pico]OS. The clock is displayed in a Pico]OS-Task, and the MyCPU kernel runs in the idle task. The HTTP-Server runs in the kernel idle loop, and the Basic Interpreter is executed as application.
Summary: RTOS / Basic / Webserver are running at the same time on the MyCPU! In the picture you see: Firefox loading the MyCPU-website that is hosted ON THE MYCPU, two file-downloads with a throughput of 5.3kb each, a Telnet Client that is connected to the MyCPU, the MyCPU-Emulator Debugging Window and the MyCPU VGA Screen Emulation Window that shows the Basic Interpreter and the Clock Demo Program. This is no fake! It's real!
The MyCPU-Emulator is connected through a SLIP link and with help of the WinPcap-Driver to the MS Windows host. The MyCPU has the IP-Address assigned, the PC has the address

If you are interested in the networking capabilities of MyCPU, please read this article about networking with MyCPU.

The MyCPU-Computer on the Pi and More 7 (2015-06-20 in Trier, Germany):

The desk with a MyCPU setup and a laptop running the MyCPU Emulator

A close-up of the MyCPU

-- more Pictures --

 Die MyCPU ist ein Prozessor, der komplett aus diskreten Logik-Gattern besteht. Das Projekt ist immer weiter gewachsen, und mittlerweile ist aus dem CPU-Projekt ein ganzer Computer entstanden. Der Computer hat die folgenden Eigenschaften:

  • Er besteht überwiegend aus Bausteinen der 74er TTL-Serie. Keine hochintegrierten Bauteile wurden benutzt (außer der EPROMs, RAMs und UARTs).
  • Der Computer läuft mit maximal 8 MHz
  • verfügbare Hardware: 8 Bit CPU mit 8 MHz (die "MyCPU"), 1.03 MB RAM / 128 KB ROM, Interrupt Controller, Multi-I/O mit zwei seriellen Schnittstellen und einem parallelen Drucker-Port, LCD und PS2-Tastatur-Anschluß, IDE-Controller für 4 Festplatten, VGA Grafikkarte und Ethernet Controller.
  • verfügbare Software: DOS-artiges Betriebssystem, Spiele, DOS-Tools, Pragrammierer-Tools, TCP/IP-Stack, Webserver
  • Der Computer kann in Basic, Assembler oder in "C" programmiert werden. Der Basic-Interpreter ist in das Betriebssystem integriert. Der Assembler wird von der Festplatte nachgeladen und übersetzt Assembler-Quelltexte in binären Code. Der C-Compiler ist ein Cross-Compiler, der auf einem Windows- oder Linux-basierten Gastsystem läuft.
  • Das Echtzeitbetriebssystem "pico]OS" wurde auf die MyCPU portiert. Anwendungen für pico]OS können in "C" geschrieben werden. Dies ist ein gute Einstieg für Bildung und Lehre.
  • Ich habe die Fenster-Applikation "Contiki" auf die MyCPU portiert. Jetzt läuft sogar ein Webbrowser auf der MyCPU, so dass man mit der MyCPU im Internet surfen und Dateien herunterladen kann.
  • Das Projekt ist komplett Open Source, alles was zum Nachbau benötigt wird, ist hier auf meiner Seite erhältlich. Solltest du doch etwas vermissen, dann schreib mir bitte eine email.

Wenn du an dem Projekt interessiert bist, kannst du nun

 MyCPU es una "Unidad Central de Proceso" que ha sido construida completamente a partir de compuertas lógicas discretas. A través de los años el proyecto ha crecido, y hoy MyCPU es el corazón de una PC real. El ordenador tiene las siguientes características:

  • Esta construida a partir de circuitos integrados de la serie 74HCxxx. No hay otros componentes integrados (a excepción de EPROMs, RAMs y UARTs).
  • El sistema corre hasta 8 MHz.
  • Hardware disponible: CPU de 8 MHz ("MyCPU"), 1.03 MB de RAM y 128 KB de ROM, controlador de Interrupciones, Multi E/S con dos puertos seriales, un paralelo, LCD e interfaz PS/2 para teclado, controladora IDE para cuatro discos duros y una tarjeta gráfica VGA.
  • Software disponible: Sistema operativo tipo DOS, juegos, herramientas de disco, herramientas de programación, pila TCP/IP, servidor web.
  • El ordenador puede programarse en BASIC, Assembler y C. El interprete BASIC está integrado en el sistema operativo, y el Assembler es un ejecutable que se carga desde el disco y traduce las instrucciones al código binario de MyCPU. C es un crosscompiler que ejecuta en un host, bajo Windows o Linux.
  • El sistema operativo de tiempo real "pico]OS" ha sido portado a MyCPU. Las aplicaciones para pico]OS deben ser escritas en C. Es un buen punto de arranque para estudiantes.
  • El proyecto es completamente open source. Por favor contácteme si no entiende alguno de los esquemas, software o descripciones.

Si esta interesado en el proyecto, puede:

Homebuilt CPUs WebRing


Join the ring?

To join the Homebuilt CPUs ring, drop me a line, mentioning your page's URL. I'll then add it to the list. You will need to copy a code fragment from my page into your page.
Note: The ring is chartered for projects that include a home-built CPU. It can emulate a commercial part, that′s OK. But actually using that commercial CPU doesn′t rate. Likewise, the project must have been at least partially built: pure paper designs don′t rate either. It can be built using any technology you like, from relays to FPGAs. (JavaScript by Qirien Dhaela)