LATEST RELEASE:  FPP 7.5 - Download from here -



Welcome, Guest.
Please login or register.
Forgot your password?

+-Site Stats

Total Members: 16477
Latest: jbhubert
New This Month: 9
New This Week: 6
New Today: 2
Total Posts: 132727
Total Topics: 16475
Most Online Today: 114
Most Online Ever: 7634
(January 21, 2020, 02:14:03 AM)
Users Online
Members: 1
Guests: 89
Total: 90

Pixel2Servo how to control direction on a continuous free rotation servo

Started by kennylights, April 08, 2024, 08:26:48 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


I am trying to use a Pixel2Servo with 12 continuous rotation servos. These have no end stops and therefore are used as a winch setup. I am looking to pull up and send down across a pulley some weights. I can only seem to get the servos going in one direction, but never in the opposite direction. Speed is there with no issue, but, only one direction.

Am I missing something in the setup or is there literally more then just channel blocking it? I cannot go negative brightness to move them, just the positive 1 to 100 values.

Anyone in the know, please let me know some more insight on this please.


That sounds like an issue with the servo itself.  You need to see if there is a center point adjustment on the servo and set it correctly.  It appears that it is currently set to full negative which has the motor stopped at zero and full speed at 100.  You need to set it to neutral where it is stopped at 50 and runs forward at anything above 50 and reverse at anything below 50.  It will not run as fast this way but you will get both directions.


It works fine through my Arduino with a servo shield. It goes forward and reverse and changes speed without an issue. I was looking for the settings in Xlights. I can get it to go one way and change speeds, but going the other way is the issue.

In xlights, when I test the controller, it doesn't matter what intensity I use, it goes the same direction and one speed. In a sequence, it goes with intensity and speed, but still no different direction. Looking for what to change in a sequence to make it go the other way.


Are you using the DMX servo model to control your servo.  Keep in mind that the DMX servo actually uses 2 channels.  I don't use it but I believe that the 2 channels represent the direction that you want the servo to go.  If you double click on the servo model in your sequence, you will get a strand 1 dropdown which makes little sense.  If you double click in that, then you will get two more options with one having a negative sign on it.  I believe that refers to the servo direction.  If you use those, then I believe that you will be able to control both the speed and direction depending on which one you activate.


With further looking, it appears that the two channels that I am seeing is for 16 bit operation so the second channel is not for reverse.  This controller does use 3 channels per servo in 8 bit mode and 6 in 16 bit mode which equates to 1 pixel for 8 bit and 2 pixels for 16 bit per servo and their controllers like to work on a pixel level as their name suggests.  If you are using the servo model and the servo effect to control it and it still doesn't work, then you will need to reset or reprogram the servo to make it function the way you want it to.  I don't believe that either the servo control in XLights or the Pixel2Servo controller was set up for using a servo as a reversible variable speed drive motor like your Adreno servo shield can do so you may have to change the no rotation point of your servo's to what your controller is putting out.


In playing around with an Arduino, the values sent to the servo will change it's direction. For example, a value of 0 to 84 is CCW, a value of 85 to 95 is stop and a value of 96 to 180 is CW. I can confirm that it indeed works as expected in that environment and I would figure that it would work just the same with intensity values. I might just not know enough about intensity to servo translation values to speak too much on that. What does happen in xlights and on the P2Servo is as follows.

Setup is just a channel block of 12 channels. I had tried to use the DMX servo element but got no movement at all, so I went back to the channel block. When I test the controller, things seem to work opposite of what I would expect. Running a Kulp K8B if that makes a difference. When I run test mode with just red for example. A value of 0 is stop. A value of 1 is full speed and the speed decreases again until the value is 255. This is the "color" value on the Kulp test page. 

In Xlights, I can do a few things with them all having the same result. Only one direction and varied speed. If I call the channel white, the brightness value will control the speed with 0 being stopped and 1 being full speed until it reaches 100 and again full stop. If I call that channel a color like green, the color value plays into the speed and is further augmented by the brightness value.

It seems that, no matter what I do, I only get clockwise motion and not counter clockwise motion. I will try to mess with the DMX servo again and see what that does but I think the Pixel 2 stuff likes to see it in a channel block as that separates the individual RGB channels into it's own output.


After some e-mail correspondence with the man himself, David Peace, he definitely pointed out something I missed.

Make sure the controller is outputting 100% brightness as well. When I fixed that, everything fell into place and it worked as it should. I will post pictures of this sculpture when it is in action this weekend.

As a side note, David cautioned that as a safety measure a brightness value of "0" is never sent to the servos. Lowest brightness value should be a "1"!


Cool, glad that you got it working.  How do you like the Pixel2Servo controller?


Love the whole Pixel2 line of things. I use the "older" model 9 output Pixel2AC for my bushes so I can still keep some of the non pixel elements going in the yard. I have about 18 of those. The Pixel2DMX are just as nice. I use those for my Halloween smoke machines. I have around 12 of those and the Pixel2Servo units. work as advertised, once one sets them up correctly. It takes most of the set up out of the equation. No adaptor connectors, no "crossover" plugs. Just Xconnect and go.

Support FPP

+- Recent Topics

FPP led Panel Troubleshooting. by Poporacer
Today at 09:29:56 AM

output controller by JonD
Today at 09:29:07 AM

Looking for SRx2 V5... by darylc
July 11, 2024, 05:54:34 PM

FPP 8.0 by colonelcline
July 11, 2024, 04:05:15 PM

SMPTE timecode by k6ccc
July 11, 2024, 10:36:03 AM

Matrix panels go full while on every restart by k6ccc
July 11, 2024, 08:17:58 AM

Multiple text effects cause re-render by breese
July 09, 2024, 06:19:48 AM

Cannot change serial settings for Renard by
July 08, 2024, 09:11:47 PM

7.5 wlan ARP issue? by peterjp
July 05, 2024, 11:44:49 PM

FPPv7.5 octoscoller error by dkulp
July 05, 2024, 10:44:41 AM

Powered by EzPortal
Powered by SMFPacks Menu Editor Mod