Brazilian electric engineer Edson Junior Acordi has put together a design for a “didactic microcomputer” dubbed the MikroLeo, designed around a simplified four-bit instruction set architecture with the aim of teaching core computing concepts.
“[MikroLeo] is aimed at students, enthusiasts, hackers, professors and anyone who wants to understand or improve their knowledge of electronics and learn how a simple computer works,” Acordi explains of the project, which was developed in partnership with Matheus Fernando Tasso and Carlos Daniel de Souza Nunes. “In addition, it is also an attempt to rescue the story about the beginning of the development of integrated circuits and computers on a single chip, to demonstrate the capabilities that these machines had at that time.”
The MikroLeo is a four-bit “didactic microcomputer” aimed at teaching core computing concepts. (📷: Edson Junior Acordi)
The MikroLeo design, which can be built on a series of interconnected breadboards or on a dual-layer PCB with purely through-hole components, implements a custom four-bit processor with up to 4kB of RAM, 4kB of ROM, four each of input and output ports with a total of 16 inputs and 16 outputs, and avoids the relative complexity of modern machines by being constructed entirely without microprocessors, microcontrollers, or microcode.
The machine’s instruction set architecture is based on the Harvard architecture with a reduced instruction set of just 20 instructions — though, Acordi notes, modifying the addressing mode or modifier bits allow for a total of 64 possible instruction combinations. The design also includes four registers — an accumulator, two general-purpose registers, and one special-purpose register, all four bits in width — and two flags, the carry flag and zero flag.
The PCB design has been finalized with the computer now undergoing final testing. (📹: Edson Junior Acordi)
Other features of the design include the ability to run step-by-step, at a 3MHz clock speed and a precise time base, or at an adjustable clock speed, indirect addressing for subroutine support, and the ability to be programmed directly using physical input switches or via connection to an Arduino or Espressif ESP32 microcontroller board.
Design files and source code for the MikroLeo are available on the project’s GitHub repository under the CERN Open Hardware License Version 2 Strongly Reciprocal and the GNU General Public License 3 respectively.