You might want to try programming on some old console game systems. GBA is my favorite and lets you do almost everything, and is powerful enough to run compiled languages (usually C). NES is even more barebones, and could at least do your super simple learning language, but for any actual game making you pretty much have to use assembly.
As you get lower and lower level, the line between software and hardware begins to blur. Starting from a totally blank modern PC may not even be possible, because we're so far removed from the days of no other computers being around to work off of. I doubt they're designed to ever function from a totally software-free state. And even if it is possible, you're so close to hardware fiddling, you might as well learn that too, in which case you can start from an even lower level point, such as designing the CPU itself I kind of want to try that sometime... routing transitors and all to read opcodes from memory, operate on registers accordingly, and write back to memory. And then you might as well learn how to create transistors from raw materials... or go with vacuum tubes. Either way, then you'll have to go out digging to find some raw materials in the ground to work from Then you're pretty much as low level as you can get.