Low heat, low power, small form factor options for rotational motion

Hi folks,

I am completely new here and not sure exactly what to even search for. I am hoping that someone can point me in the right direction for what parts may best suit my needs. I have a decent understanding of electronics and a good understanding of computer programing as a base.

My use case:
I need to move a short arm (about 8 cm) through a 110 degree range of motion. I would like the arm to rotate from zero degrees to 110 degrees with the push of a button and then stay there until the button is pushed again. The arm will have a very light load at the end of it that it will be used to rotate (maybe about 10 grams).
The entire mechanism for rotating the arm needs to be very small (3 cm cubed approximately), it ideally needs to be powered by a 9V battery or 3V via 2 AA or AAA batteries, and it cannot exceed about 40 degrees C. Also, I am hoping that I can get something that does not cost more than about $5-10. $25 would be the absolute maximum that I would be able to have as a production cost for this mechanism. All of this needs to be self contained ideally so, once it is set up/programmed, etc., it will not need any wires running to an outside power source that is plugged in (I want to use batteries) and it cannot be plugged into a data port to a computer or something.
Long story short, I want to push a button, rotate something small, push it again, and have it rotate back.

Things I have considered:
I think a very small servo motor would do the trick, however, wherever I search for info on how to control one, all I get is tutorials on how to do so with an Arduino or a raspberry pi or something. From what I have seen, all of those boards are far too large for my application. I think I saw a raspberry pi pico that may be close but was still on the large side for my application (although this may be my best option). I do not think I would have difficulty moving the motor with those, and I could easily write the code, but again, they are too big.
I tried to get a simple PWM circuit off of amazon:

I set the jumper to the range that included 50Hz as I believe that is the necessary frequency, and I messed with the duty cycle adjuster but was not getting any results past getting the servo to jump when power was applied. I also tried getting a small oscilloscope:

but it did not come with instructions and I could not figure out how to correctly operate it (it has been about 20 years since I last touched an oscilloscope). I was trying to use a small servo such as the sg90 (I believe that is probably a well known type of servo but I may not be using the correct terminology for it).

I have also looked into stepper motors but I am running into the same controller size complications and I hear they can get too hot.

I have also started looking into rotary solenoids (too large and costly) as well as linear solenoids (looks like they may run too hot). If I can just get some sort of consistent motion from the application of power via a button, I would be able to make something mechanical that translates the linear motion to rotational motion if needed.

I have even considered something fully mechanical such as a button connected to a lead screw and then the nut on the lead screw being the stationary part and having teeth on that to turn a gear for the rotation.

So, anyway, just wanted to see if you all had any ideas. I do not know what I do not know at this point and it has taken me a lot of research to get to this point. I think a raspberry pi pico and an SG90 servo may be my best bet, but looking for options as I think there should be something simpler and smaller that would accomplish this use case such as the tiny PWM circuit that I mentioned above. Any advice to point me in the right direction would be very appreciated. Thanks :slight_smile:

@enoki If you have not found a solution, search for rotational / rotary solenoids. They can be really cheap (<$2) and are more “on / off” which is similar to what you described. This one only rotates 20 degrees, but it’s to just give an example. You can always add a plastic gear ratio (1:5) to get the angle you want:
Ex: https://www.aliexpress.com/item/1005002009532891.html