Update to version 2.0.5 beta

Here it is – the next release – packed with new features and functionalities. The biggest is surely the all new Windows client (with its final name) miniEngine Studio!

miniE Studio splash

The new miniEngine Studio can be found on GitHub: https://github.com/airiclenz/miniEngineStudio

The miniEngine software is also on GitHub: https://github.com/airiclenz/miniEngine2

Here is a list of all major updates and changes to the system:

  • Added the minEngine Studio
  • Added minEngine functions for the the minEngine Studio software
  • Added new “Keyframes Mode” which is dedicated to (currently) only work together with the miniEngine Studio
  • Added a function that updates settings to the new version during a software update (no configuration gets lost any longer)
  • Improved dashboards to show only relevant data
  • Improved settings menu-header
  • Optimized system modes and run styles for easier use
  • Fixed a bug where the motor was not moving when motor sleep was enabled
  • Fixed a bug that not saved the keep powered status.

Software

The new Windows client has no documentation yet but should be pretty self explanatory as all button have a tooltip to guide you as much as possible. I also tried to make the user interface as clean and straight-forward as possible. If anyone of you still is not able to figure out how it works, please contact me via the forum. I will help you as good as I can to make it work together with your miniEngine!

If you have any suggestions or find bugs, please let me know. This is the very first release and there is surely lots of space for improvements!

…but mainly I just hope it is of any use for you guys!

miniE Stusio mainForm

Here are some limitations to the functionality which I am aware of:

  • The defined curves can not yet be stored on the miniEngine. After a reboot everything is gone and needs to be sent to the miniEngine again (this will surely some later).
  • The communication between the Studio and and miniEngine might not work 100% in any case. If something is not working, try pressing the button again.
  • The system is not yet “water-proof” and might have some unexpected behavior. I highly recommend using it with care, common sense and limit switches to not destroy your hardware.
  • It does not work together with the miniEngine v1.

Documentation

I also added a big portion to the documentation which should explains the system-assembly in much more detail.

documentation
Link to the documentation….

Have fun with the new stuff!

Cheers,

Airic

Shades – a time-lapse movie

Hello everyone,

I finally got enough clips for a 4min time-lapse video. I spent the last 1 ½ years on refining my equipment and shooting some clips when possible. Here is the result:

It was shot using the miniEngine – bot with motion control as well as simply on a tripod. All 3 existing version were used.

For those with some interest how my time-lapse workflow looks like – it includes the following tools:

  • Adobe Lightroom for the development of the single RAW pictures / video frames
  • LRTimelapse for de-flickering
  • Quicktime Pro for combining the frames to video-clips
  • Final Cut Pro for the video cut

Surely this is just one of many, many possible workflows but this is how I do it.

I hope you enjoy it!
Cheers,
Airic

miniE v2 release

Ladies and Gentlemen,

I worked hard the last couple of days to get everything together and write an initial documentation. Now I am done and just released the miniEngine v2 to the public, to you. It is now available in the shop:

shop.airiclenz.com

big set

..and all required files are committed to GitHub:

github.com/airiclenz/miniEngine2

The ones of you that have any questions, please post them in the forum. I am happy to answer them there.

Cheers,
Airic

miniE2 boards are going online soon!

Hello everyone,

I just ordered the first batch of shield PCBs for the shop. They will be blue and available as soon as they arrived. I’ll also order some needed parts so that I can offer sets for those of you that want to start quicker.

In the meantime I will continue working on the software. The first version which will be released will have motor control for 2 motors with the new Bézier-based-algorithms. Manual motor placement, higher motor speeds, all measurements in seconds and cm (no more conversions from steps to cm out in the field) and the better user interface are just some of the benefits which will be available in the first software release.

This first version will not be finished but be the first step to the system which I designed to be as capable as possible incl. daisy-chaining, video moves, external inputs and so on.

I am looking forward to getting it into your hands!

Cheers,
Airic

miniE v2 update 4.1

Hello everyone,

this is just a quick update on the Bezier-motor-control engine. I worked the last days pretty much all of my free time on the new “core” system and can say that it is more or less done. I now can define moves based one Bézier curves – or in other words by defining 4 points (2-dimensional: time; position) per curve. The engine is then processing the data to a list of linear segments (based on linear functions). So every curve becomes 200 linear segments. To get a smooth move, I developed an algorithm, that uses a finer granularity where the curve bends the most. In the picture below you can see the segmentation (in this case 100 segments):

intelligent_BezierSegmentation

Every motor-movement in the next version will be based on this new methodology as it allows detailed planning of the motors position in time. I even allows to get information about the speed of the motors at any time. On top of that is the motor movement much smoother as it was with the old delay-based engine. It also allows much greater speeds. I was able to move my dolly along my 100 cm (4 foot) track (this one) in 6 seconds with nice speed-ramping on both sides.

Because the DUE is fast enough and the motor position calculation is based on an easy linear function, there should be plenty of processing power for doing all this for 2 motors simultaneously. Right now there are approx. 0.05 motors steps done per processing loop. This means that the DUE only needs to step the motor every 20 processing loops. [Edit: Running 2 different curves with 2 motors simultaneously is tested and working perfectly.]

The only drawback is that this new control-methodology is making extensive use of the 96kb RAM that that the Arduino DUE has to offer. One of the curves with its 200 linear sub-segments is taking 2400 bytes of RAM. That means that in theory 40 of these curves can be stored in the DUE’s memory. Because the systems itself needs some of the memory too, lets say that 20-25 curves can be stored. I think that this is a good amount to design some pretty complex video-moves. Here is another example of how such a move can look like:

move_graph

It consists of 3 curves and here is the actual source-code to define such a move by hand:

// x coordinate = time in ms
// y coordinate = motor position in cm
curve[0].p0 = Point( 0, 0);
curve[0].p1 = Point( 6000, 0);
curve[0].p2 = Point( 10000, 50);
curve[0].p3 = Point( 20000, 50);

curve[1].p0 = Point( 20000, 50);
curve[1].p1 = Point( 30000, 50);
curve[1].p2 = Point( 31000, 35);
curve[1].p3 = Point( 40000, 35);

curve[2].p0 = Point( 40000, 35);
curve[2].p1 = Point( 51000, 35);
curve[2].p2 = Point( 51000, 100);
curve[2].p3 = Point( 70000, 100);

The cool thing is that I can read the motor position for any time I want. This will end up in a feature to kind of fast preview the programmed move – for example with 16x speed.

I guess I need a good user interface for editing these curves on the system now!

Cheers,
Airic