I want to let you know what the current status fo the project is and on what I am working on. So let’s get started…
The major development that is ongoing right now is a Windows based client software for editing and testing Bézier-based curves – in other words: you’ll have full control over all axes and thus will be able to define when your motors should be where. The software will connect to your miniEngine via the USB port. The curve / graph editor is basically done and it is already possible to create, save and load setups. Even the basic communication with the Arduino is working.
Here is a screenshot of the client in its current development state:
In the screenshot above you can see a setup with 2 axes (the second axis is the gray one in the background). The currently selected axis is using just 2 curve-segments (see below for an explanation what a curve-segment is). You can fill up your miniEngine with setups up to 25 curve-segments in total. This means that all your axes can together use 25 curve-segments. And here is a little graphic that shows what a curve-segment actually is (for the ones that want to know it in more detail – one curve-segment is one quadric Bézier curve):
Here is another screenshot showing that a curve does not need to be curved. The 2 last curve-segments are simply flattened to a linear segments (there is a button for doing that)
The client supports selecting multiple points and moving them all together as well as numeric point placement for very precise setups where every mm / ms counts.
The connection to the miniEngine will be initialized by simply choosing its COM-port:
The next steps will be to finalize the communication part of the software so that the the paths can be send to the miniEngine and the program can be started.
The software will be released as open Source under the GPL license. It is being developed in .NET Visual Basic. Please contact me if you want to port it to Mac or Linux (I simply don’t have the time to take care of the miniEngine as well as 3 different computer-clients thanks to the need to sleep regularly)
The other place where things are happening is the documentation. I received some valuable feedback regarding the assembly of the BED-board. The next release will also contain some additional details about how to assemble the BED-board. There will also be explanations about different variants for connecting the Big EasyDrivers to the BED board and for connecting the BED board to the main Board of the miniEngine.
I am looking forward to the next release and hope you too!
Added the external trigger input system for starting, stopping and shooting the camera. This will be extended in the future with additional triggers.
Added a Dashboard that is displayed when the miniEngine is running. This will make it clearer to recognize if the system is running or not.
Added a messaging system. This allows messages to the user so that the system can tell what it is actually doing.
Added a new system font. Now there are 3 choices for the ones that want to tweak their user interface for optimal readability.
The biggest and most versatile new feature is the trigger system. This allows the execution of core commands with external signals. Right now there are 3 functions implemented:
Start the engine
Stop the engine
Trigger the camera
This means that you can now start multiple miniEngines simultaneously with one signal. You can also start / stop the miniEngine or trigger the camera on certain events which could come from anywhere (‘want to play with a light sensor?). This is the current menu for the trigger setup:
The easies way to implement this new feature is this:
Please keep in mind that the trigger inputs are directly connected to the Arduino processor! This means you need to keep your signals between 0V and 3.3V – otherwise you might destroy your Arduino! If you use the above circuit and the trigger type “Falling”, it works without any external voltages and just a simple switch. In this case you can ignore the red text above.
Triggers are only active if the miniEngine was started by pressing the “Start” key. when you defined a “Start” trigger, the system will wait until it actually starts until the trigger signal arrived.
The next big new thing is the Dashboard. This is what you now see when the engine is running:
Here is the new font…
…and here the new message system in action:
I hope you like the new features and also that they allow more versatile setups and thus to boost your creativity.
Here is a little manual describing how to find the correct motor calibration value for your setup – the mathematical and most precise way. This can now also be found in the documentation:
The miniEngine 2 offers the possibility to calibrate the motors you are using. This calibration takes the motor and its specifications itself as well as the rig it is driving into account. This chapter is aiming at helping you finding the correct calibration value for your motor(s). The calibration values needed, should be given with the following units:
• steps per centimeter for linear movements • steps per degree for radial movements
As stepper motors come in a variety of form factors and specifications we need to add the most important of these specs to our calibrations. This is the degrees been moved by one full motor step. The most common one is 1.8°. This means that such a motor needs 200 full steps to do one full revelation:
Because we are using multi-stepping to achieve a finer resolution, we need to multiply this full-step-value with the amount of sub-steps done. In this example we are using 1/16th stepping (which is the default for the recommended Big Easydriver):
..or if you prefer the full version
Ok – so we need 3200 steps to do a full revelation with the stepper motor in micro- stepping-mode. Now let‘s add the rig that this motor is driving to the calculation. For now we are assuming we are driving a toothed belt with the stepper. The gearwheel has a circumference of 3.5cm. This means that 1 stepper revelation moves the belt 3.5cm. Here is how we get how much steps are needed for 1cm – which is also our final calibration value:
Now we can enter 914.29 steps / cm as the calibration value into the system.
If we had a motor that would do a radial move, the calibration-calculation would just differ in the last step. Assuming you are not using the motor to rotate your axis 1:1 but with a reduction of 1:4 (four revelations of the motor rotate the axis one time) , the final calculation-step would look like this:
The final calibration value for the radial setup is 35.56 steps / degree.
Thank you all for submitting feedback and bugs! This allowed me to improve the software and here it is: alpha version 2.0.3! This release fixes some bugs and even adds some new stuff. I highly recommend updating to this release (Don’t forget to update the libraries too)! These are the changes:
updated the documentation (added small system-user-manual)
added some information about updating the software
fixed a bug which started moves from the wrong position if not moved to home before
fixed a bug that moved the motor in the wrong direction when using the function “Move home (all)”
fixed a bug which caused the motor direction to change sporadically during motor jogging
added a new menu font and a font-option to the settings
Minor user interface changes
added all needed libraries into the repository
The biggest change, which you will see immediately, is the new font. I thought it might be nice to have a more readable and clear option. There is a new option for choosing the font so that you can go back to the old one if you like:
I also started working on a Windows client for creating keyframe-based moves. This is in the very early stages but I hope to be able to release it before the summer. Main focus will be defining the bezier-curve based moves and then either save them as a files or directly submit the data to the USB-connected miniEngine.
I finally managed to write a short section for the documentation which explains how to use the system. The biggest problem until now was that there were no pictures or other explanations what the different buttons actually do. I tried to make everything as self explanatory as possible and hopefully succeeded (because I never received a singe question on how to use the new miniEngine). Anyways, here is a picture with a description of the different button functions. Some more info can be found in the updated documentation.
[click to see the full resolution]
I also added all needed libraries into the GitHub repository, where you can download the whole project files, so that you have all you need in one download.
One more thing I’d like to post is a short but beautiful video by radixi, done with the new miniEngine 2 in some great Finnish winter (moon-) light.
Happy new year to all of you! May the light and the conditions be with you in the next year for some great video and / or time-lapse shots!
I will continue further developing the system and as the hardware is done so far, the focus is now on the software. I’d like to implement the features gathered in the version 2 survey. One of the first steps will (hopefully) be receiving some feedback from the ones that already ordered a version 2 set and started playing with it. For those of you that did order already – thank you for supporting the project with your purchase!
As I now started using my YouTube channel, I also would like to create a playlist with videos made with the miniEngine. So please feel free to post your video in the forum or send me a mail if you want. I am looking forward to see what you were able to do with the little controller.
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:
Just as a short update to where we are regarding the miniEngine 2 shop release. I got everything stocked now – at least for a small number of sets (more will come mid January). While waiting for the parts to come in, I worked intensively on the software so that you’ll have something cool to play with (I’ll post another update on this later). Today I will start working on a small user-guide for “how to assemble” and another one for “how to use” the system. When this is ready, I can hopefully put the new system into the shop the coming weekend. I will not be able to ship during 23. Dec and 5. Jan but for the eager ones of you, there will be some days to order before that. Thank you all for waiting and for understanding that I am working on the system in my spare time and that it’s just me working on it.
I am also very proud to announce that the original miniE set can now also be bought at “kids-of-all-ages” in Germany. Check it out!