Mirco movinghead

Hi Guys,

I just started a open source project which is a Micro Movinghead. The project is a combination of Arduino, PCB, electronics and 3D printed parts. It is a complete package, so people can already (version 1 is already online) make them. However I would like the project not to stop here. So hope some of you find this project intresting and will contribute in its development.


Ahh. So it is a camera pan/tilt rig?
What do you think of using it for aerial photography?

Ahh. So it is a camera pan/tilt rig?
What do you think of using it for aerial photography?

No it is not a camera pan/tilt rig. A movinghead is a lighting fixture used in the entertainment industry (e.g. clubs, concerts) for making movable lightbeams. This open source project gives you all the information to make your own.

Oh :slight_smile: OK.
Would it work for photography, though?
It would be good for autonomous AP missions.

What you what is a completely different project. The head is a 3W RGB led not a camera so needs to be redesigned to fit one. The mount are not suitable for drones or other aerial platforms. Also the control at the moment is not autonomous (i hope to add a standalone mode) the moving head uses a DMX signal (industry standaard) to operate.


I am also planning to do a similar thing, although a bit bigger. (Around 15-20 cm high). I hope it could have more features than its smaller brother (and be lighter, also). Which feature (what professional moving heads have, but yours doesn't) would you recommend to add? Thanks for the help!

If you want to go bigger (and with more light) I would recommand to not use a RGB led but a white led with a colour wheel this is because a bigger led has more room between the light point and colours do not mix that well (also use glass optics, for this design I use a frosted plastic lens, this does mix the colour good but gives a wash like beam. With clear plastic lenses the colours do not mix properly). Also I would add gobos (with rotation) and a prism.

Next it would be better to also use stepper motor instead of servos (for larger and quieter movement). I'm currently working on a version 2 with stepper motors and could keep you updated on the progress.

Also I would make the casing not from 3d printed parts from laser cut aluminium sheet metal.

Great, Thank you! I would be happy if you could keep me updated about it, I am very interested! Hope we can share our experiances.

dear frederikkoopman , hello , please see the code dmx to stepper below and email me , i need some changes

from you if you can …


#include <Stepper.h>
#include <DMXSerial.h>
int x = 0;
int y = 0;
int ranx;
int rany;
int ken;
int LED_RED = 11; // пины светодиодов
int LED_GREEN = 9;
int LED_BLUE = 6;
int TEST = A0; // пин концивика для теста
int z = 0;

const int INX1 = 4; // пны двигателя Х
const int INX2 = 2;

const int INX3 = A3;
const int INX4 = A5;

const int INY1 = 10; // пины двигателя Y
const int INY2 = 8;

//const int INY3 = 7;
//const int INY4 = 4;

const int stepsPerRevolutionX = 100;
const int stepsPerRevolutionY = 4;

Stepper myStepperX(stepsPerRevolutionX, INX1, INX2);
Stepper myStepperY(stepsPerRevolutionY, INY1, INY2);

void setup() {



void loop() {

if( z == 0){myStepperX.step(stepsPerRevolutionX);} // цикл теста
if (!digitalRead(TEST)) {
for (int i=0; i < 25; i++){

analogWrite(LED_RED, 255);
analogWrite(LED_BLUE, 255);
z = 1;

if( z == 1){
unsigned long lastPacket = DMXSerial.noDataSince(); // цыкл работы

ranx = DMXSerial.read(1)*10;

rany = DMXSerial.read(5)/10;

if(x < ranx) {myStepperX.step(-stepsPerRevolutionX); x = x +1;}

if(x > ranx) {myStepperX.step(stepsPerRevolutionX);x = x - 1;}

if(y < rany) {myStepperY.step(-stepsPerRevolutionY); y = y +1;}
if(y > rany) {myStepperY.step(stepsPerRevolutionY);y = y - 1;}

analogWrite(LED_RED, DMXSerial.read(4));
analogWrite(LED_GREEN, DMXSerial.read(2));
analogWrite(LED_BLUE, DMXSerial.read(3));

// if(DMXSerial.read(6) > 127)z = 0;



Please use code tags.
What does your code do? Control steppers over DMX?
What is your problem? Can you transmit over DMX? Have you tested every part seperately?

I'm pleased to announce the first stepper version of this project is ready! This version is smaller, can make larger movements and is easer to use and build :grin:.


I saw your web page and Wiki, but it would be nice to see more detail about it. Perhaps simply a photo of it partially assembled would make it clear how things go together.

I have been looking at some of the cheap moving head lights on E-bay and Amazon. I even ordered some, but soon found that the LED wattage they quote is grossly exaggerated. Also, the low priced LED fixture dealers at both places seem to consistently be frauds, and E-bay in particular, has no interest in stopping them, in spite of documented evidence.

Making my own would be one way to get a low price, while knowing the actual specs for the LED light source. However, I would not want a wide wash. Rather, a spot with perhaps a beam 10 deg or up to 30 deg.

Please keep us up on your project.


I have added a more detailed instructions on the wiki. I hope it is clear now how it should be assembled. Also there is now a small movie of it in operation.

Due mind that getting spot or beams is very tricky. RGB led will not let you do this since the colours needs to be mixed. And that mixing results in frosting. However small beam angles are no problem. I use 15 degrees but the same type of lens can also be 5 degrees. Even with a single colour led the cheap clear plastic optics will not give you sharp beams, so glass optics will be necessary.