How to drive a two degree-of-freedom pointer with an audio signal

Hi all,

My goal: to deflect each axis of a two degree-of-freedom pointer compliant mechanism device with left and right channel audio signals.

Resource: 2 DOF fully compliant space pointing mechanism by BYU_CMR - Thingiverse

I’m guessing driving the axes rotationally is not going to happen so I anticipate modifying the design to take the input of a linear electromagnet.

I’m throwing myself in the deep end with this project so appreciate tips on the following questions:

  1. Is my above assumption correct? i.e. linear motion will work, rotational not.
  2. Is it possible to drive a linear electromagnet / solenoid with an audio signal? e.g. if I were to play a sine wave at 440 Hz, I would get 440 Hz motion. I do not want to use PWM, this needs to be able to work with an audio output.
  3. Can this even be achieved without an Arduino? i.e. could I plug the output of my phone audio directly to the electromagnets to get motion, or is amplification absolutely necessary?
  4. If this setup is possible, what components should I be trying out and what type of setup would I be looking at, keeping things as simple as possible?

Happy to provide further clarification on the goals and intended setup, ask away.

Your help is much appreciated! :smiley:

Are you trying to move that mechanism at audio frequencies?

The pictures on Rhingaverse look like something that would need two at least medium powerful motors to turn it, and slowly at that.

So say more about what you want to accomplish in the end. Details about how you’ve decided to do it would also be if some help, but really the goal.

Edit: OK I read you post more carefully, I wonder if what you want would be the old mirrors and galvonometers setup.


How much motion do you want? How much mass would be attached?

It would take an impractical amount of energy to get a significant amount of motion at 400Hz. A speaker and power amplifier would be the easiest way to drive it but at 400Hz a speaker usually doesn’t move enough to see it. At very-low frequencies you can get quite a bit of movement from a speaker.

You could get lots of movement with a motor & crank mechanism but it would have to be a fixed or variable frequency because you can’t change motor speed or direction instantly.

No. Your phone can drive headphones with a few milliwatts but it can’t drive an un-amplified speaker.

I just took a quick look at some laser mirror stuff, but I couldn’t find any frequency or bandwidth information. But they probably can run at abut 400Hz because they have to change direction much faster than the frame rate. I didn’t find a frame rate either but NTSC video is 30 frames per second so it’s probably in that ballpark.

…And I learned that they use separate X & Y mirrors (with the reflection of the 1st mirror projected onto the 2nd one).

No Arduino necessary. Use two large audio speakers with a lever glued to the center part of the cone. That design is up to you! Put the speakers 90 degrees from each other, just like in the link you gave. Put any audio signal you want to the amplifier driving the speakers. The lever will modulate the front-surface mirror.

Thank you for your input @alto777, @DVDdoug and @Paul_KD7HB. That’s just amazing to get so much support and so quickly. I really appreciate it! :heart_eyes:

You are right; the design, as is, is rather bulky. Let’s assume the design can be modified to deflect under only a few grams of force.

Only a laser at the pivot point of axes will be mounted. No mirrors. Adding galvanometery to my research list, thanks!

I need an angular range of ±10°-15°.

Commercially available fast steering mirrors are similar to what I need but are optimised for different functions. Here are some examples:

That sounds like a great way to prove the concept, but seems like a clunky solution. Hopefully something more elegant and efficient can be designed.

At a glance you’ll be making a number of other assumptions. If you are moving the laser itself, inertia gonna kill you.

The toy galvo/mirror thing works because it is moving almost nothing.

The units you link to don’t seem to move much mass around, either, and the “call for prices” and just looking at it suggests they mightn’t be cheap.

There is a possibility that an Arduino could be part of the solution, control loop-wise, but even toy quadcopters use a much faster and other wise capable processor.


Yes. In the end I want to have this device hooked up to an audio output in two channels, most likely from my computer and I’m assuming through my Arduino. With the x and y axes drive by left and right channel respectively. The laser light, projected on a surface then giving a representation of the sound, like an oscilloscope. So that if I were to play 400 HZ through both channels, I would see a circle, and other patterns with all kinds of other combinations.

I hadn’t considered this. I thought that if the axes were driven under constant power there wouldn’t be much opportunity for inertia to wreak havoc. The same inertia problem would be present when driving a mirror, too, then. I’m willing to give it a go and see what results.

Oh yea… they are not suited to this task and we’re looking at a 5-7k USD range. No thanks :face_with_hand_over_mouth:

So… am I just dreaming here, or is there still some way to achieve this?

Be sure to add to your design the fact that the Arduino can only determine a value of your audio signal/signals at some fixed rate. Your programming skills will be put to a test. The the Arduino can only output digital signals, 0 and +5 volts.

I would like to bring the thread back to this part of the question. What, exactly, is the Arduino for? It seems to me that you can do everything you need with a pair of audio power amplifiers and the appropriate actuators, as discussed above.

Thanks @SteveThackery and @Paul_KD7HB,

I think you are both right. An Arduino is not part of the solution.

It seems the question is now about the setup: What type of actuators will give the range of motion needed to articulate the mechanism ­±10°? Is this more likely to be a custom build? Once that has been determined, I guess we can figure out what kind of amplification will be needed.