I was grinning ear to ear the whole time hearing those sounds in time with the hard drive activity. Nice way to have reliable storage without sacrificing nostalgia.
Hi Tony! HDD init sound is missing! Just after drive have sinned up. Also XTIDE light signal behaviors the strange way. It flashes instead of constant lighting during surface test. It affects adruino and stepper motor operation. So those affect the sound and whole emulation perception. Anyway, that's a great idea and a very good implementation! Thank you for your positivity!!
Hi - yes, others are telling me. That drive never worked and I can't remember from when I was 15 (apparently it's a long time ago!). Yes, the XTIDE activity light is only a pale approximation and the head will just make some noise. But particularly doing linear tests - where the head is not moving much - my device will be completely off. Same with the "butterfly test" - but to overcome that I think we need a proper engineer! :) Thanks for watching!
LOVE IT!!!! But i would suggest reducing the delays by factor of 10. Hopefully that will not overtax the drive but should sound much more busy as it is such a beautiful and characteristic sound. Awesome!!!!
It's like Excel, I spent quite some time experimenting and it was amazing but at some point I said "it's ok" :) I'm sure there are a thousand other ways to do the same or better! Thanks for watching!
Instead of the delay at the start you could make artificial Hard Drive initialization sounds. Although I'm not sure if these drives in particular had any. But I still remember glorious MFM and early SCSI HDD initialization noises. :) Great video! Very creative too. Although for once I'm grateful we mostly went beyond spinning rust as storage device, but I can understand the emotional attachment to the noises.
Thank you! It wasn't too bad, the stepper behaved almost straight away so it was just a matter of tweaking things and adapt code from online sources! :D Thanks for watching!
What an amazing idea! The first alternate solution that came to my mind was a speaker and some sort of noise simulation, but your way is soo much better!
A small player with a speaker could be simpler but I feel the noise from that HDD is a combination of direct noise and mechanical vibrations transmitted throughout the whole case. I feel a speaker won't be able to replicate it 100%. Thanks for watching!
Thanks for your help! Some of my viewers mentioned that I could reproduce the "initialisation" sounds too, I forgot to ask you to send me a recording of that as well. I assume some noise just before the BEEP but that's it!
what an awesome idea! I can well imagine how you tried out the individual steps as "proof of concept" and then could hardly wait to hear the whole thing put together ;-) Fantastic! ♥
Great work. Genius idea! I'm going to experiment with my old compact Macs and LCs with failed SCSI drives, even though their hard drive sounds aren't quite as iconic as the PS/2. Thanks very much for your interesting content, as always!
Very cool stuff dude. At the start of the video I was convinced you were just going to stuff the cf card into the drive chassis somehow, but this was way more interesting. Nice work!
That would be interesting to do - keeping the platters and the heads as well. The only issue with this drive is that it's not an IDE drive so I'd need a second ribbon cable from the XT-IDE. But for a broken IDE drive it could be an idea! Thanks for watching!
ahah, I can see a "Tony's fake HDD noise Ltd" coming up :) It'd be great if this could be useful somehow. Those HDDs won't last forever - none of them, unfortunately...
The noise you hear in idle is the chopper frequency of the current limiter. If you disable the limiter it just pushes all current it can and the motor will heat up. To use the enable pin is a nice workaround but the good solution is to get a proper stepper motor driver - what for sure is more expensive. Nice idea in all, i like it. Another solution is the "HDD clicker" made by Retroianer ❤
I had that already and that was a "second attempt" as first I ended up with an even cheaper one which was truly bad! For sure there are better options!
I think it sounds pretty good! The 'right way' to do this would be an XT-IDE modification that would have the bios (since it seems to be doing CHS translation) output something like a 'head up' and 'head down' line for activity. Then it would be relative to the actual disk activity, and pulse repeatedly with small random access. But for what you can do yourself this is really quite impressive!
Thank you! I’m no XT-IDE expert I guess we would need a 20MB partition on the CF with the same identical CHS. Who knows, someone might come up with something at some point!
There is an emulation device called the "HDD Clicker" from Serdashop but it's pretty neat that you can get a more authentic noise while still using the flash storage!
Well, that's cool! Oh yeah, especially as an hard drive enthusiast I can definitely relate to you about hard drive sounds on vintage computers. It just makes the experience right, and those IBM PS/2 drives made very peculiar noises which, like you, I remember and enjoy a lot. You asked how that drive sounds when powered on: if I remember correctly, after the platters reached the nominal speed the drive initialized the heads by making two fast full sweeps, one towards the center and one towards the outer edge of the platters, with a pause of a little less of half a second between them. If the heads were not already on track 0 because they were parked or left somewhere in the middle of the platters at the last switch off (ouch! for the latter...), the drive would drag them slowly to the outer edge, making a loud and very characteristic "bzzzzz" in the process, then after reaching track 0 it proceeds with the two sweeps. If you can emulate such behaviour with your contraption here I think you would get the last bit of realism. Again, cool job :-)
ahhh, amazing! So you're saying that that is what the drive was doing when it was stil sealed? It was looking for track zero? See early video: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-pHqJnSNobT0.html Thanks for your comment! I'll see if I can replicate it!
@@tony359 Yes, I'm pretty sure that it was looking for that. This is a behaviour I saw in a lot of stepper hard drives: when the heads position is unknown at power on, they would move the heads slowly toward the platter's outer edge, then when they sense track 0 or the heads stop is being hit (often repeatedly) they do their usual seek test. If you read the service manuals for those drives you would see that type of behaviour described in there as well.
I have heard people trying to emulate hard drive sounds from the activity light before, but never stepping the stepper of an actual dead drive. If you know what to expect you can tell something isn’t quite right (especially in a benchmark where it’s supposed to do track to track seeks) but it’s probably the closest you can get to the real deal without replacing the drive. It’s a bummer these appear to be very unreliable.
Yes, the benchmark/test is the worst place to test - but obviously it triggers the stepper a lot. Totally a bummer, I would have loved a working one but...
This would be really cool and could even be a way to save drives that would otherwise have to go on the garbage pile for retro collectors who want something that sounds more authentic but still maintains the reliability of using the XTIDE. If this could turn it into something that is more turnkey and would work for different drives it could see quite a lot of interest in the collector community.
I didn't think about that! It's probably difficult as each drive is different - some use steppers, most use voice coil. But it could be an idea! Thank you!
The high pitched noise also has to do with the amount of micro stepping you are using. The hissing sound in idle has something to do with the stepper frequency but also the input voltage. A motor can be silent at 12v but hisses at 24. But your solution works fine. Also remember that the stepper drivers from this age are WAY more advanced then in the eighties. A lot has been done to make the steps as smooth as possible. You could try the old A4988 driver with 32 micro steps.
I also like the authentic sounds from real hard drives in old computers. people tend to say use CF cards and other stuff but it ain't the real deal. as long as I can run my computers with real working hard drives I will do this for as long as possible!
The head needs to move faster and the moving distance needs to be more random to be realistic. A full head sweep isn't what the real drive would do. Also try a working 15K RPM SCSI HDD. You will love that 747 jet engine sound even more. SCSI controllers and HDDs are very cheap now and still very useful. Especially with one of the newer SCA drives (e.g. 76GB) and a SCA to 68 pin or 50 pin SCSI adapter.
Nice idea and excellent video! 👍 At first, hearing about Arduino and stepper motor driving, my suggestions for updating this idea will be, to add in line spying card with buffering in such a way, that when PC writes CF registers, sector numbers needs to be captured by Arduino too and used as step counter to drive stepper motor and determine head movement (forward, reverse and how far), imitating head position close to real at the time.. But hearing this solution in action, Yeah, it sounds amazing and very close to original and there isn't need to over complicate idea.. 😂
This is completely mad but I love it! I just had a thought though, maybe you could make a note of the time between the last head movement and this one and if it is really short, make a much smaller head movement - might make the checkit scan sound a bit more realistic.
checkit is indeed the worst example to use but it's moving the heads a lot! :) The thing is that an actual HDD might move the heads several small steps in a row so I don't feel that preventing that would make it sound more realistic. I do feel there is really no way to make it better than this as there is no way to know where the HDD would have gone! But thanks for your comment and for watching!
Very impressive results! One way to step it up is to change Arduino for something like Attiny85 and try to squeeze it into hdd case. I doubt thought that stepper controller would fit there. It would require custom PCB. Another option is to get rid of all internal HDD components and try to recreate sound with piezo speaker glued to HDD case as resonance chamber. This would fit very easy, but I'm not sure if would be easy to reproduce exact sounds.
Yes, that was my thought too. Design a new PCB with same shape and size that fits to the drive in place of the old one. Then you have 5V and 12V straight from the HDD cable. Add a matching connector to plug in the stepper motor same way as original, and another for wires to XT-IDE. Might need to figure out how the spindle motor works - is it on all the time power is applied, or is there logic switching it on/off which you'd need to replicate.
I thought that just apply 12V would spin the platters but when I tested, it did not. That's why I left the PCB alone. There must be some logic, something waking up and driving the spindle. I also see quite a lot of wires going into the spindle motor, I doubt it's as easy as feeding 12V to it. But I am not sure. I had that old Arduino at home, for sure one could use a much smaller device and stick it at the back of the drive. Thanks for watching!
@@tony359 Platters are spinned by BLDC motor, which had to be drived by controller, because it has 3 coils powered in sequence. Not worth trying. This motor could have another interesting use case. It can be very easily used as rotary input device i.e. for scrolling.
piezo sounds like crap. listen to a Gotek drive modified with a piezo. it's some noise but it's not even remotely close to the real sound. It's mainly to be able to hear activity to know it's working.
I know what you mean, there are multiple options on the controller. I haven't tried all of them, so there is definitely room for improvement! Thank you for watching!
One little idea. If the activity led is on some time you could step one step a time and not random steps. You must then move a random position every now and then.
Plenty of room for improvements, I'm sure one could try different "algorithms" (I am showing off!) to make it sound better/different! Thanks for watching!
Thanks for video. CF sound "emulation" perfect! I have the same ps/2, but broken, something with MB, maybe RAM issue (error code 000000 FFFE 201), and bad HDD. in future will use Your project.
That's great, I've seen hdd stepper motors externally controlled before but not for this reason, I wonder if it has been done before just to make the pc sound 'right'.
Very fun :D I would use a Nano, much smaller but still 5v Or maybe... remove all the internals (except the step motor) and try to fit everything inside the hdd case!
That's how stepper motors work it switches coils depending on which direction is going to control it does a magnetic coil brake system it uses one coil when it goes one way and then it reverses the other way it uses the other coil that's how a lot of people use Deborah Motors to play music uses the Frequency sound to generate notes and stuff it's kind of neat that's a lot of the people out there find ways of using stepper motors to create music I did some similar in my old 3D printer where it played one of the Star Wars songs on it🤔🤔🤔
if you'd use a Raspberry Pi Pico you could "sniff" on the IDE Bus for the seek commands and therefore being able to produce much more accurate sounds. You could also ommit the old hard-drive and emulate the sound with a connected speaker instead.
I've been thinking of that but I don't think the IDE bus will have the head movement information, that would be the HDD's responsibility? I am not 100% sure but I'd imagine the HDD controller says "go get file xyz" and the drive translates that into the required head movement. Yes, the IDE controller can control the heads directly (see checkit) but I believe that's not the case when it comes to those HDDs - which, BTW, are not IDE. Not sure though. The other problem is that the XT-IDE is a complete different drive geometry. If you look at checkit, it lists so many heads which the IBM drive doesn't have. So, how to translate that in a way that sounds realistic? I'm sure there is a better way of course but in the end I'm not sure it's worth the time! Besides Checkit, running a software on that old computer will barely move the heads. Thanks for watching!
@@tony359The sector accessed would be enough information to calculate the "length" of the seek noise according to the sector before. Sure needs to be tuned to the actual geometry.
I was told I missed the init head seek - I don't have one of those HDDs which work so I couldn't copy it. As soon as someone sends me a recording, I'll implement it! :) Thanks for watching!
Well there is really no fix for those drives - though I'm wondering if an HDD specialist could replace the bad platter with a good one from another drive? But we get into the SciFi realm here :)
Before you bought the stepper motor driver board, did you think about using the original stepper motor driver IC on the HDD PCB. Is there a datasheet? Maybe you could lift some pins and wire the arduino to them?
No I did not, I had that stepper driver already and it felt easier than removing components from the HDD PCB - in the end I wanted the platters to spin and I didn't want to disturb the PCB. I tried just giving 12V and 5V to the PCB and the platter did not spin, not sure why. So I didn't want to break it! :) Thanks for watching!
HDDs use custom chips for the motor and head control so using those chips is not possible without reversing the functionality and it's not realistic to spend years figuring it out.
Yes, there is a random delay between movements. Clearly there is room for improvement but in the end it cannot be perfect so I thought this was ok 🙂 Thanks for watching!
Thank you! It could probably be condensed into a very small PCB with Arduino and stepper controller in one place. But I'm not sure it would have many people interested to be honest! :)
Great mod, did you attached to the arduino the real HDD led state while is working? or its lights up every time the stepper is moved? On the video I see the led blinking without any control. Regards and congrats for the tutorial and the smart mod.
The led was still attached to the HDD which was reporting an error :) I did not wire the LED to the Arduino for now. But I guess the best idea would be to use the "HDD light activity" from the XT-IDE - and share it with the Arduino for the head movement! Thank you for watching!
@@tony359 yes, I am doing this mod and I will code an Arduino pin to light up the led, or maybe directly from the xtide board. May be I need to isolate the hdd led cutting the tracks to avoid high current thru the hdd board. Many thanks for sharing this mod!
I doubt a speaker can sound as good as the HDD - the HDD will make mechanical vibrations which will resonate inside the case generating that familiar sound. I'd say it would be quite difficult to emulate that sound 100%! Even though it would be possible, where the fun in playing a speaker! 😉 Thanks for watching!