When you begin working on a computer peripheral,

And then spend two days building the hardware,
And a week on the firmware,
And three days on the software,
all developed separately and tested and all that good stuff,

And you spend hours tracking down bugs and whacking your head against the wall and being really confused by datasheets and re-reading Kernighan & Ritchie and accidentally melting two connectors with an overzealous soldering iron and feeling idiotic for your sheer lack of productivity,

And then you double-check that your hardware and software and firmware are spitting out and taking in the inputs they're supposed to, albeit into simulators or printfs or mostly thin air,
And then you plug everything together for the first time and hit the button nervously,

there is no greater feeling in the world.

My entire last 3 weeks of existence have just been validated.

Now it's time to make this baby do some really cool stuff.
...like documentation for my reams of code, and schlepping a final PCB together, and trying to make the serial port cooperate, but hey; that's later.

Right now, I'm just going to bask in the glow of functionality. I made a Gadget Thingy. And it Works Good. That's enough for me.