-- New version 1B ! --

Press here for HOMS version 1

Bringing the hidden world of a microprocessor to real life

 
 
Is it possible to touch and feel the internal components of a microchip?

Dr. P. Papazoglou combines imagination, art, and engineering to create unique educational tools and demystify complex topics in academic classes.

Prof. P. Papazoglou is also an active hardware/software designer/developer and his interests are in the areas of immersive technologies for transforming the existing conventional approaches in education.

Begin your journey with version 1 of the hardware-oriented microprocessor simulator and explore a fully functional device where students can interact with and program the internal components of an experimental microprocessor.

Version 1 was presented at the IEEE EDUCON2024 conference in May 2024.

Version 1B is here!!!

Explore an innovative tool for learning microprocessors:

Hardware-Oriented
Microprocessor Simulator (HOMS) NEW Version 1B !

Press here for HOMS version 1




At-A-Glance

  • A Handmade and Open-Source project
  • A full-working hardware-oriented simulator
  • Microprocessor/ Microcomputer simulator
  • Visual Aids (Contrast adjustment, Brightness adjustment, Braille Labels, Color selection)
  • Educational tool
  • Based on Arduino platform
  • Easy reproduction
  • Custom educational scenarios
  • Suitable for academic teachers and researchers in the field of engineering education

View License

Every internal component of the microprocessor
is implemented as a physical 3D-constructed object

  • General Purpose Registers (GPR)
  • Special Purpose Registers (SPR)
  • Arithmetic & Logic Unit (ALU) / SR
  • Control Unit (CU)
  • Memory - I/O System
Programming Software

  • Autonomous HOMS operation for one Demo Instruction
  • Program instructions are entered in the GUI environment with single mouse clicks
  • The user selects the desired instruction from a list and stores the corresponding instruction in a memory area using a starting address also from a list
  • The byte code representation of the user’s program is uploaded in the Memory unit of the HOMS (through Arduino serial communication)
  • The GUI can be also displayed in a high-contrast form (White-on-Black or Black-on-White)
  • A demo program is also available for automatic memory storage (using the button [Demo Prog])

Unique features

Customizable architecture

The teacher or student can use any number or type of blocks for building the preferred microprocessor architecture.

Block reusability

The microprocessor units are based on the same board and the embedded software determines the block functionality.

Programmable functionality

Based on the embedded software, a block operates like a register or control unit or ALU or special register, etc.

Experimental architecture

Based on the number and type of blocks, a teacher or student can test a prototype architecture or to expand an operation to smaller steps by using more blocks.

Assembly instructions development

Programmer/user, Software/hardware developer, Watching/studying

Hardware point of view

The HOMS tool, emphasizes the hardware layer which is hidden in the existing simulation tools. Thus the “connection” of instruction, operation and hardware implementation is more clear in the student’s minds

Multiple points of view

The HOMS user is free to build any assembly instruction which is supported by the software inside control unit.

Educational scenarios

Using the default HOMS tool architecture, teachers can develop the desired assembly instructions for building different educational scenarios.

Visual Aids

The HOMS version 1B offers visual aids for adapting the displays to user’s specialized needs (Contrast adjustment, Braille Labels, Color selection)

Easy reproduction

The hardware components of the HOMS tool can be found easily in any market. On the other hand, the multiple identical blocks support easily the reproduction procedure

Open features

The main advantage of the implemented HOMS tool is the object-oriented approach and the open-source hardware which gives the freedom to any developer not only to reproduce the same tool but also to implement the whole simulator using different blocks (with or without an LCD, buttons, etc). Note that the embedded software makes the difference.

What's new in HOMS version 1B

  • 1. The memory-data-entry console has been replaced by a single block with a TFT screen (like Control Unit and ALU/SR Unit)
  • 2. The source code development and memory storage are performed through a GUI interface (Windows application)
  • 3. Each unit (block) has its own RESET button
  • 4. The HOMS tool has only two types of blocks (four types of blocks in version 1) and all blocks are based on Arduino UNO
  • 5. The RED 2-digit seven-segment displays have been replaced by Black-n-White 4-digit seven-segment displays
  • 6. The 2-digits of each seven-segment display module are separated by one-digit for easy reading (only two of the four digits are used)
  • 7. Each register block has a dedicated brightness radio-adjustor. Thus, the user can focus on the brighter display
  • 8. The blocks that represent Memory, Control Unit and ALU/SR, have TFT color displays for adjusting background and text color
  • 9. Braille letters have been also installed in each block for recognizing easier the corresponding microprocessor unit
  • 10. In version 1B, there are 8 blocks (11 blocks in version 1). The register-C has been removed as well as the temporary registers T1 and T2 that belong to the ALU/SR as internal units. The new scheme is more simplified as compared to previous version
  • 11. A PCB has been desinged as Arduino shiled for hosting the seven-segment display (optional)
  • 12. Programmable RGB LED-Strip frame

What's new (image gallery)

Memory-data-entry block replacement
Programming Software & Upload
New Register block configuration
Register configuration (v.1/1B)
New blocks (Memory, ALU/SR, CU)
Special Register configuration (v.1/1B)

The two versions (left: version 1, right: version 1B)


Press here for HOMS version 1


Visuals & Visual Aids
MEMORY block
White-on-Black
  • Upper knob: all the way to the left
  • Lower knob: all the way to the right
  • Background: Black
  • Text: White
Black-on-White
  • Upper knob: all the way to the right
  • Lower knob: all the way to the left
  • Background: White
  • Text: Black
Black-on-Green
  • Upper knob: all positions except limit left/right
  • Lower knob: all positions except limit left/right
  • Background: Green
  • Text: Black
Control Unit block
White-on-Black
  • Upper knob: all the way to the left
  • Lower knob: all the way to the right
  • Background: Black
  • Text: White
Black-on-White
  • Upper knob: all the way to the right
  • Lower knob: all the way to the left
  • Background: White
  • Text: Black
White-on-Red
  • Upper knob: all positions except limit left/right
  • Lower knob: all positions except limit left/right
  • Background: Red
  • Text: Black
ALU/SR Unit block
White-on-Black
  • Upper knob: all the way to the left
  • Lower knob: all the way to the right
  • Background: Black
  • Text: White
Black-on-White
  • Upper knob: all the way to the right
  • Lower knob: all the way to the left
  • Background: White
  • Text: Black
White-on-Blue
  • Upper knob: all positions except limit left/right
  • Lower knob: all positions except limit left/right
  • Background: Blue
  • Text: Black
Register block Brightness
Normal brightness
High brightness
Custom brightness between blocks
Software/GUI colors
Lightblue color
High contrast (White-on-Black)
High contrast (Black-on-White)

Full Demo

View/Download files (HOMS v.1B)

HOMS complete technical reference

General information, System description,Hardware components, Software, System operation (84 pages). View (PDF)

HOMS Quick user guide

Executing instructions and programs View (PDF)

Arduino (.ino) files

Arithmetic & Logic (ALU) Unit/SR, Control Unit (CU), Memory & I/O System, Registers, RGB LED-Strip control Download (ZIP)

GUI environment

Visual Basic application Download full project (ZIP)

Wiring & basic Components

Register and Special Blocks
View all blocks-full (PDF)

Components
View basic components (PDF)


Experimental PCB (KiCAD)

PCB readme file view PDF

PCB Project file KiCAD zip file

System physical dimensions

Components, materials, circuits, etc. Goto HOMS v.1

License & Time stamp

This is an open-source project under a CC license. This project has been also time stamped by HELLENIC COPYRIGHT ORGANIZATION (Date and time: 13/08/2024 11:18:27, Registration 5749). View license in TXT file or View license online

IEEE EDUCON 2024 Presentation

Version 1 was presented at the IEEE EDUCON2024 conference in May 2024.View file (PDF) || EDUCON 2024 on web

Selected publication (Prev. Work)

P.M.Papazoglou, A Hybrid Simulation Platform for Learning Microprocessors, Computer Applications in Engineering Education, 10.1002/cae.21921, (pp 655-674) WILEY, 2018 online



Associate Professor Dr. Panayotis (Panos) Papazoglou

National and Kapodistrian University of Athens (NKUA)
Dept. of Digital Arts and Cinema


contact: papaz [at] uoa [dot] gr

Copyright © Dr. Panayotis (Panos) Papazoglou & National and Kapodistrian University of Athens (NKUA)

Supported by