Last month, I tried to communicate with an IDE hard drive by an AVR MCU. But it occupies too many PINs. Then I designed another circuit that allows an Arduino to operate hard drives by using the SPI interface.
Apart from the normal SPI pin, only two more pins are needed for the operation. One for chip selection, one for reading or writing strobe.
IDE uses 16bit data bus. so I use one 16bit io expander for the data bus. Another 16bit io expander for the controlling and reading status.
Also I2C io expander can be used to support I2C interface.
I can provide more information if someone is interested.
Just for fun and learning is certainly plenty of justification for doing something.
I'm sure the majority of the forum users have some obsolete, but perfectly functionaly IDE hard drives sitting in a box. I know I have a good stack of them that I'll never be able to convince myself to toss. It would surely be fun to see an Arduino board communicating with it. Having a shield or adapter module for plug and play, and perhaps a library as well, would make the project more approachable.