Umm help with an idea (servo control)

I’m wondering if someone could possibly make a plug-in that would allow you to control a servo motor through gcode(maybe with control buttons) as I would like to be able to rotate a camera so I can do a much more impressive time lapse of my prints

Please note that I am rather new to scripting

Of course it's possible, the question is if someone wants to do it :wink:

This is no plugin but it's gcode based and got physical button support. Maybe it meets your expectations :slight_smile:

1 Like

Hmm, not exactly what I was aiming for but it's a step in the right direction nonetheless

Idk if that program is compatible with octoprint as I only have one raspberry pi to play with

And for button I wrote this thinking about the octoprint control buttons, like the ones to move the printer

Is the servo connected to the board? For example, a servo deployed bed probe? If so, standard gcode commands can control it, and you could use custom control options in config.yaml to send the commands. This is basically what the BLTouch plugin I wrote does as that probe reacts to servo signals and is connected to servo pins on the control board.

1 Like

The servo would be connected to the pi and rotate a camera ( hopefully in sync with octolaspse) for more of a cool effect that's a bit more niche

Although I feel that the plugin could possibly have a gcode command to run it, so it could also be a filament wiper, or a floppy noodle thing on the screen driving the Spaghetti Detective insane, or maybe a arm that lets you know when the print is done

Idk these are just a few random ideas I had writing this

So does anyone have an idea on how to do this?

Or at the least, help me figure out how to do this

If it were me, I'd rummage around into my toy box for a PiFace Digital 2 and see if that makes things easier. (It might not.)

Read me and me

And then I'd marry that script to something like OCTO800 as created in the Gcode System Commands plugin.

Hmm... I don’t exactly know if this is it

(Mainly due to my lack of knowledge about this)

Honestly I’d like a direct plugin for octoprint and instructions on what pins to connect

(Think 3rd grader knowledge)

I major in drafting so feel free to give me a challenge

Also I feel like it should be noted that the only circuit boards that I can realistically use for this idea is my raspberry pi 3 with octoprint and a skr mini e3

No one here is going to do this for you for free since the use case is pretty specific. I would recommend reading this article...

Then once you get that example working with your pi and servo you can use the Gcode System Commands to create commands that run the python file in the example.

1 Like

Ok that could work, now I’m curious as to how do you make a plugin as I’d like to play test this idea and experiment with different ideas

I have a good feeling that another post has probably gone over this but I thought I’d ask just to be safe

Lots of reading...

Ok thanks for the help so far

You may also want to look into those other plugins that are controlling GPIO pins on the pi, use this link to see all those.

Octolapse supports two features that may help you:

  1. Gcode Cameras - This feature was built assuming that some folks will have an embedded camera within their 3d printer so that you can send a gcode to the printer at the appropriate time to take a snapshot. In your use case you could send some gcode to the to move your servo instead. Unfortunately there is no way to add programmatic parameters currently, so not sure if that will actually help you.
  2. Before Snapshot Script - This is another feature in the camera profile (I can't remember if this is in the live version or not yet, otherwise you could just use the snapshot script and be 1 frame behind on your position). With that, if you can create a script to control your servo, you can synchronize it with Octolapse. Octolapse joins all before snapshot script threads before actually initiating the snapshot capture process, so it shouldn't matter how long it takes to move your servo, though your print quality will suffer the longer you delay.

If you do come up with a script to move your servo, let me know. I'd like to see it. FYI, I'm pretty certain this has been done before. I've seen timelapse videos done with a moving camera before, but have not a clue how it was done exactly. If you get it working, please create a tutorial so others can benefit.


Don't you think those videos you saw were probably done with a GoPro or other camera on a rail of some kind like this...


1 Like

Maybe, but I know for sure the ones I saw were using Octolapse for the printer stabilization and to acquire the image. I just don't know how the rail was being controlled. It could have just been pre-programmed to move very slowly so that it appeared to be synchronized.

So, here is a video of one of these in action. It does look like it's just moving slowly, so it's probably totally separate from Octolapse:

Here is the full timelapse:

Sorry for not embedding, but I couldn't get links from the player easily.

I'm a former software development instructor. Rather than to do the work for someone on here, it's my default to attempt to teach you "how to fish" instead. By the end of your research, you'll end up smarter and more able to do the next project after this one.

honestly i didn't quite get the inspiration off of a video, i literally was just simply half asleep and i had that it would be cool to have the camera to be able ROTATE around the print plus or minus 90 degrees as to breathe a little more life into the timelapse and kinda make it pop a little more to someone who knows nothing about 3d printing

Well, yeah... one of my projects-on-hold is a timelapse railkit for my girlfriend.