08 | May | 2021

You have a perfectly working software library to do exactly what you want. Why don’t you use it? Some of you are already shouting something about NIH syndrome or rediscovering the wheel – I hear you. But at least sometimes there’s a good enough reason to rediscover the wheel: to say you want to learn something.

Mike and I talked about a great hack in the podcast: a library that drives a floppy disk to work with the Arduino, and even builds a minimalist DOS for it. The only thing that [David Hansel] did not do it himself wrote the FAT library; he used the increasingly popular FatFS from [Elm-ChaN]. Mike casually remarked that he always wanted to write his own FAT library from scratch, just to learn how it works at a basic level, and I didn’t even blink. Hell, if I had the time, I’d like to do that too!

Take a look at Hackaday and you’ll see tons of hacks where people rediscover the wheel. In that superb hack on Soundbar,, [Michal] spends some time working on the IR protocol by hand until he gives in the IRMP call, a library where everything is made for you. But if you read his writing, he is not sad; learn something about IR protocols. This I2C paper tape reader it’s nothing if you don’t rediscover the I2C wheel, but isn’t that the best way to learn?

Yes, that’s right. Think about the last class you took. The teacher or professor must have explained something to you in reasonable detail – this is the job after all. And then you have homework to do on your own, and you’ve done it, even though you’re probably just reviewing the same things that Prof. and countless others have gone through. But by doing it yourself, even though you are “rediscovering the wheel”, you have learned the material. And I’d bet you wouldn’t have learned it without it.

Of course, when the chips drop and the deadline breathes hot in your neck, maybe it’s the right time to just turn on this tried and tested library. But if you really want to learn something on your own, you have every right to rediscover the wheel.