miniEngine took the next step

During the last months I worked closely together with Cinetics, a company that helps people create captivating video through controlled camera movement. Togehter, we developed the CineMoco system. It’s controller is based on the original miniEngine software but was much further developed.

screenshot 1
The main screen in the new run-mode

It received a whole new user interface and some other cool new features like:

  • added 128×64-pixel based UI
  • added stop-motion mode (add-on to S-M-S mode)
  • added run-mode (set up the system based on total values not on cycle values)
  • added video mode (focuses on smooth motor movement)
  • added HDR functionalities
  • added bulb ramping functionalities
  • added main processor sleep after a certain amount of no action
  • added battery and external supply measurement
  • automatic battery calibration (min/max-value based)
  • added basic communication protocol for setting up master-slave configurations (not yet implemented for advanced functionalities)
  • up to 32 devices chained (1master + 31 slaves)
  • based on serial communication
  • added keyframes functionality

screenshot 2
The new video mode together with the new keyframe set-up

The software is still Arduino based, but this time it has to be an Arduino Mega (you might need to update some pin assignments) due to the fact that the software is written for a proprietary hardware. It is open-source and you can check it out on Sourceforge!

screenshot 3
in the menu

16 thoughts on “miniEngine took the next step

  1. Hi Airic , just few words to say that my MiniE works fine with my dolly …glad to see that the story continue with nice commercial project.

    I’m designing now a portable panning head (just a simple gear to put it in a bag and go for stargazing with a wide field lens not much) …did you ever think to sell an enclosure for the MiniE ?

    • Hi Raphael,

      I am glad to hear that the (original) miniEngine is working fine fir you!

      Yes I thought actually about creating a case for the system. Unfortunately do I not have the resources to develop and produce one. So if anyone is interested in providing a case for the engine, please drop me a line!

      It would even be great if it is an open-hardware 3D file which people needed to 3D-print at their local printing service on their own.


  2. Hi Airic,

    I’m interested in running the latest 128×64 glcd code – please can you let me know which 128×64 glcd hardware you are using (what controller?) and where to source it.


    • Hej Richard,

      the 128×64 code is based on the generic Arduino GLCD library. You can download it from here:

      All 128×64 pixel LCDs that are compatible with this library will work. The most used chip is the KS0108 and almost all 128×64 pixel LCDs you’ll find out there will use it or at least be compatible to it.

      You might need to update the GLCD initialization to your used pins but thats pretty easy…


  3. Hi Airic

    Few questions (forgive me Im a noob)

    Can you please share more info on the cinetics project
    Like which arduino, driver shield etc etc for Dummies!

    On the miniE, how do you calibrate the distance travelled of the dolly to the motor steps/revolutions?


    And have a great 2013!


    • Hello Carl,

      the hardware on which the CineMoco system is running, is specifically designed for this system for optimal performance and is not using an Arduino or a special shield. It is Arduino Mega compatible though as the software is based on the original Arduino-based miniEngine. This means the code can be executed on any Arduino which has enough space for the code (…but I am not sure if it is running on the new ARM based Arduino). All the other peripherals, like LCD, motor driver, …, can then be replaced by the components you’d like to use.

      So a basic set-up would be possible with these example components:

      – Arduino Mega 2560
      – 128×64 pixel LCD display (KS0108 compatible)
      – 6 buttons (as the CineMoco has 6 too)
      – a motor driver board for controlling the motor (e.g. EasyDriver)
      – a proto-shield to connect all the components to the Arduino

      I think you can not use the code directly and will need to do some tweaks of the software for your specific set-up (e.g. pin re-assignment).

      Regarding your question about how to calibrate the distance travelled of the dolly to the motor steps/revolutions, I can say that this depends on your set-up:

      – type of stepper motor you use (1600, 800, 400 steps?)
      – size of wheel you are using
      – is there some sort of gear involved?

      But basically it is like this:

      if you have a 1600 step motor, then 1600 steps in the system will end up in exactly one revolution. Then take your wheel circumference and you have the distance travelled for 1600 steps.

      Another less mathematical way would be something similar to this:

      Do 100 cycles with 1000 steps each (just to do a big number of steps) and then measure the total distance travelled. Divide this distance by the total number of steps done and you have the move-distance per single step.

      This open approach was taken because the miniEngine is supposed to run on many different hardware systems. Anyway, there are better solutions which will definitely end up in a later version of the software system (e.g. the way it is done in the CineMoco system).

      I hope I was able to answer your core questions. Please let me know if you have more.

      A happy new year 2013 to all of you!

  4. Hi Airic

    Thx for the quick reply

    Is there a schematic ?

    On the calibration, I understand your point, but is there setting I can adjust in the software that will specify that 1 motor revolution translates in X mm
    This adjustment factor would need to be calculated as you mention



    • Hej,

      no there is no schematic available – only the software is open source. But in this open software there is a solution for your revelation / step problem as there is a calibration variable which sets an amount of steps for 1cm of movement. In the CineMoco user interface you handle distances and no steps. This feature is actually not implemented in the original miniE as there is only very little flash space left for additional features.

      As mentioned – later versions of the system will have this implemented.

  5. Hi Airic,
    i found the connection scheme for the 128×64 to the mega, what go do with the buttons etc? Leave the DFR in place?

    Do you have any planning on the additional functionality? it seems to be very helpful. Do you need R3 uno or mega.?

    • Hello Carl,

      Because the DFRshield has only 5 buttons it would not work unless you rewrite the whole user interface to work with 5 instead of 6 buttons.
      And you will need the Mega due to the size of the software.
      I have no specific schedule but a new version could be ready in summer.


  6. Hi Airic, I built the older version of miniE and it works amazingly. I just ordered the parts to start on the new version and I’m super excited about it. You’ve done great work with all of this. Is there any way I can PayPal you a small donation in appreciation of all your hard work?

    • Hello Mike. Thanks for your positive feedback – I am doing my best to make the system affordable and easy to use! Your donation will help me developing the next version of the system – a first breadboard prototype is sitting right here on my desk.

      You’ll find the donation button on the right side in the sidebar of this blog (here). Your donation-request is highly appreciated -thanks again!


  7. Hi AIric, I download the code to this miniEngine to install on a mega board whit easydriver , but I´m new on arduino and i don´t understand which is the skecth or similar.
    The download contents bootloaders, cores and variants….
    I need help please…..

Comments are closed.