An emulator recreates the behaviour of a hardware system in software. Popular starter projects include CHIP-8, Game Boy, and NES emulators. Building one teaches you about CPU architecture, instruction sets, memory mapping, and graphics rendering.
Starting with a simpler system like CHIP-8 is a great way to learn the fundamentals before tackling more complex platforms with richer instruction sets and hardware quirks.