I work part-time at a piano maintenance center as an electronic engineering student. We receive quite a few self-player piano systems and recently, we got a big Steinway & Sons piano, a very sophisticated system and all. Out of curiousity, I'm trying to go a bit beyond the normal maintenance and I have some questions.

This system is driving me crazy. I took a solenoid out of the system. It has around 6 Ω DC resistance and I suppose it is rated for 12 V (it actuates with as low as 6 V, but very weakly.)

Now comes the part where I can't wrap my head around.

There is an AC-DC converter that goes into a power supply that feeds the system and it is rated for 48 V, 12.5 A. Of course there is some extra resistance overall in the circuit. It is impossible to measure, but I'd say it stays around 40-50 Ω.

Now, even with 50 Ω, each solenoid would be drawing around 1 A. I've tried recording MIDI files pressing as many as 50 keys at once with maximum MIDI velocity (which would translate to the maximum voltage output, controlled trough PWM, according to my research.) The thing is, when outside of the system, the solenoid doesn't really pack a punch when run at 6 V / 1 A.

I was theorizing as to how that is possible and came up with a few guesses. If possible, I'd like to discuss about them.

  1. This isn't much of a guess, but they are probably using a peak-and-hold digitally controlled circuit, removing the huge and unnecessary power consumption as soon as the plunger has moved completely; as to how they do that, I'd say some basic current sensing method, in a feedback fashioned way.

  2. Now that is a guess, but I believe that each solenoid, or set of solenoids, has some capacitors across either the PSU or the coil to provide a kick when the PSU can't, even though as soon as you turn on the system, you can't really play songs on it (I believe it is more than to just boot it up, but also to charge the capacitors) but I really don't see how that would be possible. When discharged, the capacitor(s) would draw a lot of current and I don't see how capacitors would work properly in a PWM environment where there is variable voltage. The caps that I saw, around 1 μF each, for each key, might also be for reducing the ripple generated by the PWM.

  3. They are using different power rails, one that is always at 48 V and another that is responsible for being the input into the transistor that receives the PWM signal. Again, I see flaws in that theory, as they would still be requiring a lot of current.

  4. Maybe there is another PSU that I couldn't access or see that has is able to provide this extra current that the system really needs.

I'm not even going into the massive solenoids they have for the pedals, that will be my next headache.

I don't have access to an ocilloscope to measure the current over time while the solenoid is plugged into the system. A multimeter proved to be quite useless as the current does not have a fixed value due to the inductive nature of the solenoid and also because it goes to a lower current after the plunger moved, and thus it responds too fast for my eye to take notice of the values.

Am I missing something in here? I'm quite sure it is all about the capacitors, but I don't see how they could really add some power overhead for that peak power consumption. I've gone through much literature for three or so months now and I really think that the answer is right under my nose, but I can't see it for its being obvious or for me being all saturated with it. Anyway, any help, discussion or guidance or indication to literature would help me greatly.

  • \$\begingroup\$ A very warm welcome to the site and thank you for putting a lot of effort into your question. Please note that it's a Q&A site, not a discussion forum, so it's for finding singular answers to singular problems. People here will help you take the next step if your question shows you've already done as much as you possibly could. You may be better off on an electronics discussion forum instead. Again, welcome. \$\endgroup\$
    – TonyM
    Commented Jan 31, 2022 at 17:43
  • 2
    \$\begingroup\$ a 1uf cap doesn't hold very much in terms of energy, it's more likely they deal with flyback. \$\endgroup\$
    – dandavis
    Commented Jan 31, 2022 at 20:36
  • \$\begingroup\$ it actuates with as low as 6 V, but very weakly ... don't forget that piano mechanics is velocity sensitive \$\endgroup\$
    – jsotola
    Commented Feb 1, 2022 at 6:43
  • \$\begingroup\$ Your might find the following references useful: (1) Ref 1 - forums.raspberrypi.com forums.raspberrypi.com/… (2) Ref 2 - forums.raspberrypi.com forums.raspberrypi.com/… (3) Ref3 - Search solenoid tlfong01 found 149 matches: forums.raspberrypi.com forums.raspberrypi.com/… \$\endgroup\$
    – tlfong01
    Commented Feb 3, 2022 at 5:24
  • \$\begingroup\$ So your player piano is electromagnetic solenoid and not pneumatic? Are the following references useful to explain your player piano? (Some photos of your player piano should be helpful.) (1) youtube.com/watch?v=aujw65oyFno (2) en.wikipedia.org/wiki/Player_piano (3) youtube.com/watch?v=weFbSJ_yA80 (4) youtube.com/watch?v=OpCpBWdl-ic \$\endgroup\$
    – tlfong01
    Commented Feb 3, 2022 at 5:59

1 Answer 1


In general, none of the advanced solenoid drivers would be using constant DC voltage, nor will they use series resistance -- while this is is simple to implement, it is not power-efficient and requires a power supply which is too big. The problem with constant voltage is that in the beginning when you want the most force, the current is lowest... and as solenoid gets pulled in and force requirement decreases, the current instead increases.

Instead, if you want to drive a solenoid in an efficient, high-performance way, you should use constant current driver, often with a much higher voltage. For example, if you have 6 Ω solenoid rated for 2 A max current, you might want to start by giving it full 48 V initially, and rapidly decreasing voltage to maintain required current. Then, once the solenoid is in, you can decrease current dramatically to a holding value. This is particularly easy with digital PWM control -- the solenoid acts as an inductor in the buck converter, so all you need is power FET and control circuit.

Here is an random example of a single channel driver. Note how they drive 12V solenoid with 24V power supply, but limit the current to 0.2 A 15 ms after activation.

The schematics at the link uses general-purpose driver, but your piano would likely use something custom (FPGA?) which can do a large number of parallel channels at once.

You wrote that 12 volt / 2 amperes give a nice, strong pull. Assuming drivers are 90% efficient, that'll require `(12 V * 2 A / 0.90) / 48 V = 0.56 A for the initial pull-in period. Thus a power supply can pull on 22 keys at once. And few milliseconds later, the solenoids switch to holding mode, so even if there is not enough current now, piano can delay pressing the rest of the keys by a few milliseconds.

If you want more details, you probably want to get a oscilloscope and start looking into currents/voltages across the solenoids. This will give you definite answers.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.