Robotics and CNC

Recommendations for CNC machines

If you need advice on search engines to use, mechanical components or how to assemble them and buy them, Please contact Fabio di Arezzo which in recent years has gathered a lot of experience on CNC milling and engraving machines with lasers.

In upcoming pictures you can see some of his achievements. Clicking the images get bigger and you may notice that are combined machines, that is, that you can mount either a laser that a cutter.

CNC machine CNC machine CNC with laser

Write to Fabio for recommendations, to buy together components or to make you procure from him of the kits of components. Or you might even agree to build parts or complete machines.

Fabio di Arezzo – Civitella in Val di Chiana (AR) –

Radar and robotic arms

This is the first sonar das Riboni, l ’ application ThereminoRadar was born from this prototype. We thank Mauro, for keeping us involved and for insisting, up to get it to work.
Download ThereminoRadar here: /downloads/automation * radar and information on sensors here: /hardware/inputs/sensors # usound

– – – – – – –

Mauro Radan is also experimenting with different versions of parallel grippers. His mechanics are designed very well. This is a version with high power servo. These servos are not suitable to write because of their dead band, but are great for catching and lifting objects. The two servo at the base and the very robust construction, heavy enough to lift objects.

– – – – – – –

One of the first prototypes of ThereminoArm. This version was still a Master and a Slave, because the first Master did not have configurable PIN. Now you do everything with just Master and advance even two pins. The April update 2017: the new firmware of the Master, increases the number of pins to 6 to 12, so now they advance eight pins for general purposes. Also new firmware may also drive the stepper motors.

You can then build very precise robot arms using small stepper motors and belts. I recommend using a very high reduction ratio, at least five but better if you manage to get to ten. In this way the 200 steps per revolution will become 2000 steps per revolution and you can get an accuracy of 0.7 mm with half-meter long arms. Accuracy that will increase to about one-tenth of mm and above using the microstep.

– – – – – – –

A Robot is not necessarily an articulated arm. With a little’ fancy, You can compose simple and efficient machines.

A robot “instructional” built by students of the Institute ’, C. of Corniglio

The Institute's proposal, motivation i.c. Corniglio is: “…join the digital world with the real world and concrete” and that's precisely why is born on system Theremino. A warm thanks for your research!

Sketch and Firmware

Many after learning the language Arduino sketch, they wrote that they would like to use it, for Theremino. Unfortunately the language sketch was thought, only dell processors ’ Arduino and transplanting it on other “micro”, would become so different, to lose any possibility, Exchange programs between the two.

Our PIC programming in C or C++, using an IDE standard and standard compilers, We use GNU Compiler, It is Open Source.

As far as the huge popularity of Arduino, It can make us look “several”, in fact quite the opposite is true, is Arduino using a nonstandard language, made especially for Arduino and valid only for Arduino.

Sketches are not true firmware programming, but a simple programming, that hides all the “outline”. With the sketch, l ’ efficiency is the ability to maneuver, are limited.

In addition to a didactic deformation sketches, you learn to use an abstraction of micro, instead of the micro itself. To learn how to use a micro, You should consider the data sheet of the manufacturer, not the instructions of Arduino.

That being said, Luckily, the system firmware Theremino, requires no programming. We are in 20xx and supposedly the InOut a PC, as well as the firmware of a mobile phone, or a washing machine, are working. “How are”, without having to re-schedule every time, Depending on whether you want to wash shirts, or blue jeans.

Shift of perspective

The shift of perspective, between Arduino and Theremino is in fact, move the ’ intelligence from the firmware to the software. This shift multiplies per thousand the available speed, the computing power, the memory, and the ease of programming.

For this approach, You must be permanently connected to a PC (or a NetBook, a eeeBox, a Tablet, an embedded PC or a Raspberry Pi, as explained here: blog/standalone-applications#standalone, and also here: downloads/notes-on-software # computers)

Many devices, like printers, monitors and mice, they are constantly connected to the PC and all they find “normal”. Yet many people think that a “device”, such as a robotic arm, or a 3D printer, should be autonomous, and probably a pile…

Robotic arms and intelligence

We do l ’ example, watch case, a “robotic arm”. Many manufacturers of robotic arms Arduinici, they realized that their arm “battery powered standalone”, in the end he always does the same thing. What he's missing? Communication and software, powerful algorithms that keep in touch 3D data, with the outside world, sensors, Webcams, microphones, understand the GCode, and communicate with other applications, in real time.

Micro are not designed to handle 3D files, or decode audio signals, do not have adequate power, to play midi files, or decode the video of a WebCam. And even if they are forced to do so, the hurt. Said with other words: “The appropriate place for the brain, It's not close to the muscles”

Another reason, that makes it very smart, connect firmly the arms and 3D printers to your PC, is that you have to supply them power. When you exceed the phase toy, power needs, become too heavy, for batteries.

How are the professional robotic arms ?

  • Have big cables, that carry power and data.
  • Communicate constantly with a hub PC.
  • Contain only the firmware, intelligent algorithms, they're all on PC.

Click on the image, for a better look.

Which language to use?

Once you have decided to move the ’ intelligence, from the firmware to a high-level language, which is the best language to learn?

Here is a matter of taste, Some say that only exists on C++, and treat with contempt, every other language.

Other, like us, think that C++ is a language older, that requires much more time and energy, recent languages. And they also think that C++ and similar (C, Java and all languages with the semicolon to each row) formal languages are poorly structured and poorly, that invite you to write, so “dirty” and confused. In these languages, you can write, things acceptable by the compiler, but absolutely unreadable, for humans.

We prefer more structured languages, that help to write well, and to minimize errors. This process of gradual estrangement, from machine language, is underway for fifty ’ years and with each new step, c ’ is anyone who complains and complains about the old languages. But the process will continue, and eventually we'll get to program, in human language. Currently the human language is VbNet.

As the modern languages (VBNET and C #), they have a power and impressive speed, because their basic functions, are not rewritten every time from scratch, but are instead ready in “Runtime” and written with optimized algorithms, and adapted to the operating system.

A second advantage of modern languages, is to be independent of the operating system. An application written in C # or Visual Basic, runs without changing a comma even on Mac, Linux and Unix. (This in theory… in practice only on Windows works fine, While on other operating systems, implementations are incomplete and full of errors)

In conclusion we We suggest using VbNet or C # (very similar to each other) Almost all applications, of the Theremino System, are written in VbNet, because we find it more “Human”, but you can easily switch from one language all ’ more, using SharpDevelop to translate.

To install the developer tools, Read here: downloads/notes-on-software # instruments

  1. Hello,
    wanted to know if I can operate the arm thermino with arduino.
    Thank you.

  2. Livio says:

    Stiamo terminando Theremino CNC. Ci vorranno ancora alcuni giorni, per completare la rotazione 3D del toolpath e i file di istruzioni. Ma anche senza queste parti, la applicazione funziona perfettamente. La abbiamo messa alla prova ripetutamente, with small printed circuit boards, and he's never wrong.

    Do not publish yet, because we want to add a few more function. The temptation is always to complete all. But the software is always room for improvement, so following the instincts we would publish anything.

    So let's get it try to friends, If someone wants to try it in preview, write us and we will send the link to a pre-release.

  3. Guido says:

    I'm back I'm alive… I would try the new ThereminoCNC because I would move on Theremino from Linuxcnc, Gbrl and Arduino. I built a small CNC ready to carve and work as a 3D printer. I could send the Link, per favore…
    …Thank you, greetings and on like,
    Guido G.

    • Livio says:

      In a few days we will publish the official version, which will be called ThereminoCNC V 4.0 (We did two months of versions, almost one per day)

      More or less every night you save a new version, in recent days, they were called V 3.12, V 3.13, V 3.14, in the next days will be called 3.16, 3.17, 3.18… until we will publish 4.0…. the list of things to finish was coming to the end… but they also comnvinti to implement the “Work area” for soft limits for which it will take some more’ of time…

      The latest pre-release (today is the 3.27) can be downloaded from here:

  4. Livio says:

    Carlo wrote us an email asking:
    With Theremino you can manage a CNC CNC machine with two engines for the X axis?
    For example this:
    In Mach3 is no concept of Slave axis, but on CNC theremino I could not find anything similar.

    Just use the same Slot for two motors (in HAL) and the two engines will move together (and then in the HAL adjust parameters of both engines and maybe overturn one).

    Theremino the system is modular and layered and everything goes through the slots. Additional layers (Slots and the HAL) allow you to make crossings, trade, duplication, rollovers, scaling etc…

    Why you might, for example,, control four engines with the X axis, one forward, one back with 200 step for mm, another with 800 step for mm and one that is not even a stepper but a servant from model aircraft. And if that wasn't enough, you could add a second Master, for other 5 engines and make it do other tricks.

    Finally, with three rows of software, Maybe in Theremino Script, you could intercept the signals of the slot, turn them, limit them, do the OR OR the AND of two signals, adjust the temperature, Depending on the speed of moving one or more axles, etc…


    Of course one has to make friends with the fundamentals of the system, whose underlying principles are very different from all the similar systems.

    I would recommend you start here:

    And deepen here:

    • Livio says:

      Other requests for Carlo:
      My CNC is set up and working with Mach3 and I must find the time (and buy theremino and a couple of slaves) to make the real tests. Key for me is to have the tool setting X, Y and Z. The machine has no automatic tool changer and often the processes take into account the position of the piece, not the home machine.


      Master + Slaves?
      We strongly recommend that you start with only one Master and no Slaves. Less modules colleagues, the easier it is to configure them, and the greater reliability of the collection.

      With a Masters degree, you can control three Steppers and we still have four InOut free for:
      – Emergency button
      – Bottom-chain
      – Spindle motor piloting (PWM or on/off)
      – Refrigerant ignition or aspiration or zero vertical plate

      Easily migrate from Mach3 to Theremino
      Probably with Mach3 you a parallel connector, just unplug the adaptor and connect it to the parallel:

      And if you don't like the way you move, Unplug the connector, Reconnect Mach3, and uses the Master to do more, they are then only 20 Euro.

      If you're having trouble building it, You can get help from Alessio, as explained here:

      Zero car?
      We don't consider him their home machine, you always work with the zero piece. In ThereminoCNC there is only one system of coordinates, There are no coordinates machine and work coordinates. Hopefully you can put a chain switch and reset to zero car, but it is always a single zero. Or zero at one point or another.

      Normally you go, with the JOG, where you want to reset and pressing the X, Y, Z reset.

  5. Livio says:

    Alfonso wrote us asking:

    Good morning, I would like information on the robotic arm, I have tried to build a robot arm and somehow it works, Although not quite as precise as your, but then I tried to use an arm delta and here I'm lost, because I do not understand if the adapter Theremino to also handle the servos to the delta: precisely, I would like to know if it fits in “doti” of the card. and if you find programs or algorithms to manage movements.


    The Robot Arm is just a toy to use to study the fundamentals of Robotics.

    The accuracy that you see in the video is the maximum possible with the following "tips"
    – Drawing magnified to the maximum so as to make the whole area can
    – Very soft pen
    – Pen with vertical movement elastic
    – Very short and light pen holder
    – Perfect alignment of flatness so as not to ever straining the pen
    – Some leaves on top of one another to have a slightly soft writing top
    – Processing speed isn't too slow nor too fast
    – 3 servant TGY930 and one small and light at the tip
    – Minimum arm weight can
    – Very short arms to reduce position errors

    Any variation with respect to these traits greatly reduces the accuracy.

    The ability to control a servant willing to Delta (or even a Bug) does not depend on tab, but only by the software, that means the positions in corners.

    The CNC Theremino already contains algorithms for Scara and Delta configurations. Just open the curtain "Arm configuration" and choose "Delta" or "Scara"

    But you must also consider the size of the arms and adjust the parameters in the software to match with the mechanics. With poorly designed dimensions a Delta works OK, or not working right, because some parts interfere with other. In all cases the lengths of the arms must be the minimum possible and the arms should be lightweight. And even the writing area must be as narrow as possible, otherwise inaccuracies rise too.

    Delta e Sadasdas algorithms were tested up to motors and should work but none of us has ever built a Delta arm (very difficult as joints) nor a Scara arm (easier).

  6. Maurizio says:

    I became aware of Theremino through a forum of hobbies and possessor of a cnc amateur are interested in replacing my existing cockpit electronics with one based on Theremino but my knowledge of electronics are pretty basic and I would love to see a complete solution for what to buy and how to connect the individual elements. Will you publish something about?
    Thank you

  7. Roberto says:

    Congratulations for the work and for developments , It's been months that I clash with Chinese cards for cnc and all have something missing , by chance I found your website and I opened a new world where Finally you can even go ahead with expansions changing depending on the needs or studying the system and maybe put something personal . I would like to replace the hardware to a 40-watt laser that has the enormous limitations due to the hardware tab moshi and moshidraw software and electronics to build a pantograph system we already have built mechanical . Looking good theremino provides hardware and software and you're done ( excluding everything that is related to mechanics ) My problem now is that I wanted to try to manage the pantograph with mach3 and here I arise the questions after reading the manuals and software by theremino . If I want to manage mach3 emulating LPT you're done with the explanations you have given but , If not enough of the LPT ports , at the hardware level for theremino I solve by connecting to the Master the Slave but the software level I have a doubt . In your various manuals I have read to use or do plugins for mach3 and theremino and here begins the problem and where I stop , There are by chance already plugins for theremino and mach3 where you can use more doors than the LPT ( then configure theremino Master + Slave ) ?If not where can I get ideas for how to build a plugin for mach3 for theremino ? I can otherwise manage theremino with mach3 to use all ports of a Master + Slave unfortunately I was looking in the net but found nothing ( There is everything on the net is probably not tried properly ).

    Thank you for any reply and congratulations again for the great job you are doing from which one can draw infinite ideas and finally to a different system from the standard Arduino or other requiring non-employers many hours just to figure out how they work without yet having done nothing .

    • Livio says:

      Thanks for the compliments, We will try to help you as much as possible. But it would be much easier, If you eliminated all Mach3. Are you sure that the CNC Theremino application, don't go well for your work?

      Having to use Mach3, There is only one solution, write a PlugIn. No one has yet done so, and we will not have the time to write it. Mach3 we know little and is now rather dated. If you have a lot of time, you could write that you.

      In this ZIP we have collected the best information to make the PlugIn:

      The PDF was written by Art Fenerty himself and claims to be the "Bible for writers of plugins for Mach3". Also in the ZIP you will also find a sample PlugIn, chosen from the best suited. We advise you not to make a PlugIn for Mach4, that is very expensive and a little later, Since Art Fenerty, the brilliant programmer of Mach3, is now retired from many years.

      A PlugIn for Theremino should be easier to write, as for other controllers:
      – You don't have to fill buffers
      – You do not need to set configuration parameters
      – You do not have to control errors and hand-shake
      – Just write frequently coordinates in our slots (at least 50 or 100 times per second)
      – And the coordinates are the same as Mach3 view in his pockets
      – No conversion, the same value in millimeters of the boxes DRO

      We have prepared examples of writing in slots, for all languages:

      If you need help contact us.

      Try not to overdo the Slave modules, one at most should be enough, the more you put and more the reliability decreases. CNC machines produce electrical disturbances of all kinds. You must then arrange the masses to star, in a professional manner, and even this, Sometimes, might not be enough. Sometimes you may need photo-join all. To minimise the risk of errors, serial transmission line, the simplest cure is don't use it right. If not enough ten InOut by a Master (12 in future versions of Firmware), then instead of a Slave, you could add a second Master. The USB is much more resistant to interference and to “ground loops”, that the serial. However they are also easy to make changes in the future.

      This is not to say that the modules are broken. Thereminici modules are so simple that never break (or at least none has ever returned one to repair). But it does mean that if you don't care the wiring of the masses and decoupling capacitors, It could happen to communication error, maybe half of a feature.

      However nothing excessive concerns! If you make things right the communication never breaks. Between us in the lab and the various contributors, We have done hundreds of operations with zero problems! All solid and reliable, as with Mach3, and many services in addition to driver.

      • Roberto says:

        Thank you for information , see the manual for creating plugins , you have to see if I can figure out how to do it and whether it is in my abilities , were to be successful , If I can create a plugin for theremino and mach3 gladly share it with you or others that may need them .
        The talk mach3 is only due to the fact that having taken “cinesate” I started using this software and found it suitable for use I had to make , having now alternative Theremino CNC can also be completely changing road .
        A question I should check but you may already have the answer , Since you seem that mach3 can use multiple LPT ports , I could maybe connect two Theremino master to two Usb ports and see if I can set them up as if they were two different doors or maybe if recognized connect two Master to a Hub that connects to a single Usb port . Maybe I shot just crap and the idea is unfounded .
        However when I try to fly 40-watt Laser Master also mounted with CNC and Theremino if it may concern I give indications of what has been done and connections made with existing Hardware and mechanical , I would like to use PWM to remove the tuning potentiometer power from the signal to the Group HT manual adjustment and adjust power directly from the software to cut and engrave directly by program , laser tube cooling water pump off managed directly by electronics as suction fan ignition , at the end I would like to improve the Hardware and software system that equips many laser for hobbyists in the Chinese I have not devoted much attention .
        Thank you for Your support and as much as I can by deepening the world Theremino be glad if you can be of some help .

        • Livio says:

          How write and images is accurate.
          You can definitely connect multiple Master, even with a HUB and the performance is always great. Use multiple Master is even better, that use a single Master and several Slaves (you delete the serial line and the communication speed increases).
          However always try to use as few modules can. Merge all cascade switches, as “normally closed” and connect them to a single Pin, configured as DigIn. Do everything possible to minimize the hardware. There is less hardware and less things can break, cause false contacts and collect disorders.
          This is better explained in the Postscript of the previous message.

          Thank you for your cooperation proposal. If you need anything we are always here.

        • Anonymous says:

          Regarding multiple parallel Mach3
          As you will have to do in Mach3 is quite mysterious. You will probably have to add, for each input and output, a check box that specifies the Slot number. Or, to make it easier, establishing a fixed number of slots, for every In and Out.

          The thereminico side of the PlugIn is simple, You should not even think on parallel ports, Master and Slaves. Just write or read a number for each Slot. The slots are numbered from 1 to 999 and they're all the same. If you write, It is an output slot, otherwise, an input. The rest think HAL and Theremino Theremino CNC.

  8. Roberto says:

    Good morning everyone , Finally I put the Master and I started to experiment , for multiple Master Laser Theremino Hal and Theremino would say they are a good CNC , then if you add as appropriate a Slave I would rate it very good . Now the problem I have is for the pantograph that I finished and I would manage with Mach3 , probably I'm missing something from the CNC Theremino I don't understand properly . Mounted Master , did LPT adapter , launched Hall V 5.1 , configured Master with first 6 Gates set as Stepper (PIN1: Stepper slot1 , PIN2 :Stepper_Dir slot2 , PIN3: Stepper slot 3 …) PIN 7 set as Dig_in and by the book to associate it with the emergency button I give Slots 25 (I also tried with Slot 19 by the book for software connection ) , I connected the pins to 1 to 6 Master Pin from 2 to 7 the LPT , connected Pin 7 Master Pin 15 LPT , connect the masses master to pins from 18 to 25 LPT , at this point I configured Mach3 , enabled LPT1 (Also tried with LPT2 and enabled ) configured and activated X axes,Y,Z with Door 1 and respectively for stepper and dir Pin 1-2-3-4-5-6, set door for Emergency button to LPT1 and Pin 15 . These are the settings made , whenever closed and reopened Mach3. With Hall opened launched Mach3 but unfortunately axes move talking emergency button detects if opened , also checked on Hall whether there are variations on the doors following commands by the Mach3 but there are variations , only variation detected and the emergency button which logically connected directly to the Master , register with Hall changes . At this point, not understanding the error ( probably I keep having the same ) and finding no input in the manuals I ask you where you're wrong . I also wonder (as from previous post )How possibly can bind two master's degrees at two separate ports LPT1 and LPT2 . This is still a minor problem after being able to see at least a Master's degree at Mach3 if possible , I say if possible because in some manual pages you give almost for granted parallel Mach3 replacement with Master Theremino , on other pages you find : “This adapter is used to replace the parallel with the USB, and not to operate Mach3 CNC or Linux (unless someone write about plug-in)”. Thanks for any support or inspiration to all

    • Livio says:

      This we have already described and highlighted in yellow, both page engines, the page of the adapter, that in the manual of Theremino CNC… and even in the previous three posts of this Blog.

      You cannot use Mach3, unless you write a PlugIn for Mach3, you send data from Mach3 to our Slots.

      Write a PlugIn for Mach3 could take months to those who know Mach3. We do not write, and because we prefer the simplicity of Theremino CNC, and because it does not
      We know enough Mach3 and Linux CNC.

    • Livio says:

      In other words…
      the adapter replaces the parallel output and shows the machine the same connector that you used previously with Mach3.

      But on the side of PC must change Mach3 with Theremino CNC, What's in Theremino CNC that doesn't fit? If something is missing we will add.

  9. Roberto says:

    Ok , misunderstood I , I had the doubt but I wasn't sure . Anyway for coupled Theremino + Hall + Theremino CNC compliments , I think if there are no special needs or for spirit can operate mach3 cnc equipment is a great way for many .
    Just to bring forward the speech test plugin spirit keeping informed .
    Thanks Livio for the fast reply

    • Livio says:

      You haven't explained why you should use Mach3 in pantograph. There is something that we need to add a Theremino CNC, I just miss you?

      Tonight we will issue a new pre release with major improvements.
      – Zoom the Toolpath is much improved
      – The Pan is dragging with your mouse
      – You can use a GamePad (even Wireless) for Joggare and for the main functions
      – When the Toolpath is maximized automatically follows the processing

      Many other improvements…
      It is worth to read all the instruction file.

  10. Roberto says:

    There is nothing in theremino CNC wrong , is that starting from mach3 I was and am devoted to the system , in fact I said that for the Laser in this case I prefer Theremino Mach3 CNC . Maybe I have to adapt a little to the system that surely when you know may have characteristics of other or perhaps even higher , the thing that I was holding back on trying the system Theremino were the limited Master Card pin still expandable , thinking about a system that in case I would have to manage themselves without PC or in conjunction with this .

  11. Roberto says:

    Excuse me if I take , I read summarily the CNC manual , I stopped at essentials for possibly associated with Mach3 , passed this point now I study for operation Theremino Cnc with Master . The question is just if I can bind the buttons on the window of the Theremino Cnc machine with any on-board keyboard ( Start- Stop-Pause- Zero goto-Goto home ).
    And’ correct if I replace the command (0/5VCC) power control laser pipe (currently I can only adjust with a potentiometer on the machine ) with the command Speed Rpm (Slot 12 Pwm Pin) ?

    • Livio says:

      I suggest you use a wireless GamePad that not only does START, PAUSE, STOP and REWIND, But even the fast JOG, variable speed and even JOG at low speed to zero accurately. And also makes the ZOOM of the toolpath while running. Read page 12 of the instructions. An eventual Panel could use a GamePad entire (cannibalized), to connect to the USB (cheap gamepads costing 5 Euro)

      For the laser power slot 12 is the right one. But I think you should also turn it on during the G01 and turn it off during the “Rapid” and to do this you should also use the slot 11.

  12. Roberto says:

    Thanks for everything , excuse the question for command Speed Rpm , I saw now that rightly seen feeding can generate only 0/3.3 VCC . Now I see to read carefully the documentation before asking questions .
    Just a curiosity , as never seen availability of different models with different prices little Pic you have opted for a pic with package a 28 PIN with the limitations of the in/out ports involving very easily request for slave modules ?
    And’ just a curiosity without controversy

  13. Mario says:

    Hello Livio,
    I would like to know if there is a version of Theremino CNC it will work on a tablet
    Hello and see you soon!!!

    • Livio says:

      No, I'm sorry.
      And there probably won't be even in the future, for the following reasons:
      1) Android thinks all devices of type HID are of mice
      2) No one has yet managed to make them understand that our masters are not of mice.
      3) Even if this were, then the CNC Theremino application would not work.
      4) Nor Theremino HAL and all our other utilities would run.
      5) Should be rewritten at least HAL and CNC (months of work for someone who knows Android).
      6) Android can run only one application at a time, so no HAL and CNC together.
      6) There are Tablet with Windows 8.1 free, that cost just over 100 Euro and are just fine (Quad core and super fast).

  14. Livio says:

    Mario wrote us an email asking:
    1) How do I interface with a Laser?
    2) Where can I read how to match the pin at power on / laser shutdown?
    3) Since the Pololu also have micro-steps, I could avvantaggiarmene?
    4) I'm assembling a proto board that carries the Master THEREMINO + the arduino shield for A4988 – CNC Shield V3 A4988 Controller for RAMPS 1.4 Reprap 3D Printer for Arduino. So I have most of the links already made and in the right place, without fear of making mistakes. And’ a good idea?

    Reply 1 – PIN to use for a Laser:
    If you need two axles to move in X and Y, and do not use the Z axis then:
    1 = X step
    2 = X k
    3 = Y Step
    4 = Y k
    And then you can use any of the pins to 5 to 10 for the laser. Maybe leaving the 5 and the 6 they may have the ADC (If I were to measure something, Maybe a temperature)

    Reply 2 – Laser signals
    Laser signals are listed on page 38 the Help of the Theremino CNC

    11 OUT – Spindle motor or laser (On = 1000 / Off = 0)
    12 OUT – Spindle motor speed (RPM from -99000 to +99000) – Specified by “S”

    With the slot 11 turn on the laser during processing and turn it off in rapid.
    With the slot 12 adjust laser power (using the command S – Speed)

    Then the pins to set are
    PIN 7 = Slot 11 and DigOut
    PIN 8 = Slot 12 and Pwm16

    Reply 3 – Microstep
    Great idea to use them, but don't overdo it, set them to 2, 4 or 8 at most.
    Warning that changing microstep then you need to correct the "Step to mm"

    Reply 4 – RAMPS
    The form RAMPS is fine.
    Probably we won't be a equivalent because it's well made and inexpensive.
    Worry a bit his female connector that seem very low quality.

    Reply 4 – Protoboard
    Rather than a proto-board (that would be a lot of confusion) We should fix the modules to a plastic or wooden base and then use the leads Dupont:

  15. Mirko says:

    Hi I just finished redoing my 3d printer but as usual arduino serial connection breaks …. I was wondering if the cnc software is compliant with gcode generated by software Slic3r, I wanted to connect the 5 1.4 the pololu on ramps and engines nema17 connect this to the master + about slaves if not enough pins. should I implement in gcode extrusion temperature and speed control commands?? I am also prepared to do by tester. Thank you 1000 for your attention

    • Livio says:

      Sure you can do it thanks to the cooperation proposal. If we have to we will also be able to use Skype or phone. We'll help you and we will make every necessary change until it will work fine.

      The slots to use for 3D printers are indicated on page 38 of the file: Theremino_CNC_Help_ITA.pdf

      The codes for 3D printers are: M00/01/82/84 and M101 to M190 and their meaning is explained in the file: G_and_M_codes_ITA.pdf

      You may start to connect and test your hardware. Then you should check that your file does not contain other codes (If they contained so you'd do well to send a file to check).

      In the version that's on the site these commands “M” are not yet implemented, but it won't take long to finish them.

      • Mirko says:

        OK great then Meanwhile fix the printer calibration and I have yet to put a couple of endstop and Meanwhile I read a gcode of slicer

        • Livio says:

          Don't put so many stop, IE plug them all in series on a single wire. Fewer inputs and outputs and more reliable will be the machine as a whole.

          On page 42 CNC_Help_ITA file, you see as you “should” connect the chain of it will go to prevent strong disturbances coming from search engines, can cause errors on USB communication. The two resistors are effective insulation from an eating disorder.

          And even the masses should be arranged as it should be, “stella” as explained on page 43. Many things are important, the tuning of engines, the harnesses… The end of the stroke are the least important, drivers must control himself not to go to slam. At the beginning, When I was no expert and I trusted the bottoming, I broke many tips and I scratched the table. Now i don't ever put them bottom out and don't break anything.

          Of course we're talking about cars with engines Nema23, or even smaller. Engines that are unable to fold the mechanics. You can effectively use the mechanical travel fund.

          Also on page 41 read useful information on switches. I recommend, a few channels of InOut, at most one Master and one Slave (or two Master).

          If you have a long time, rather than add a tangle of slots, cables and switches, It would be useful to build a photo-plate couplers and completely isolate the weight of the machine, from the mass of the modules thereminici and then your PC, as indicated on page 44.

          • Mirko says:

            in practice I do printing or movement without location references, until now the I used to set the 0 manually and then I start the gcode, you say you do here? at most put a minimum measure to determine the endstop only so that you have a reference on the z axis. for the number of links I should be able to stand in a master dedicated to engines and a slave to the endstop unless i check the 2 z axis motors with one connection by putting the cables in parallel

            • Livio says:

              I set manually the workpiece zero. This way I can make pieces where I want and even duplicate them in different positions. I move a little, reset, and make another… I move a little more, reset and faacio another…

              If instead the pieces refer to 0 car six fried, These simple steps are no longer possible.

              Still have zero X and Y can serve some time, then put two switches to “minimum X” and “minimum Y”, in series and connected to a single Pin.

              For Z instead would use the reset plate, connected to another Pin.

              A total of two pins for all switches, more 8 PIN for 4 motors, more 5 PIN for temperatures, make 15 PIN throughout. With a Master and a slave you twenty Pin. You must advance at least five!

              The two engines of the Z axis, must strictly be connected to the same wires, Otherwise just wrong something become misaligned is you ingallona your basket.

              • Mirko says:

                OK I managed to make connecting ramps 1.4 to theremino but I have almost filled even the slave without even using the endstop. If you want I can make a picture that explains how to do it and leave it. Morrow control the gcode imposed the engines and I try to print in 2 days will get updates

                • Livio says:

                  You definitely connected signals which do not serve, for example the “Enable” drivers.
                  Securities (emergency button and enable) are done in hardware. Never go through the software for these things.
                  I make a list of the pins so I understand?

                • Livio says:

                  More than “I try to print” I would say “I try to move with the JOG”
                  1) In Theremino CNC have not yet implemented the MCode to temperature adjustments.
                  2) We still don't know what M and G codes you're missing.
                  3) I've sent a sample GCode…

                  If you need to ship something to send to:

                  • Mirko says:

                    i connected the 4 X Y Z axis and e(the extruder) step and dir then i connected the 4 enable the drivers of course all powers with its ground and the two pin one for power control of resistance (for heating the extruder) and the other to detect the temperature of a thermistor 100 k. In addition it could also serve as the link to the second print plate resistance and that of the second thermistor. all this without counting the endstop which are apart. sulla mail intanto ti invio un gcode di un pezzo che ho di recente stampato

                    • Livio says:

                      E magari i 4 enable tutti separati? Occupando ben quattro Pin?

                      Per piacere scrivi una lista dei pin e poi copiala qui.

  16. Mirko says:

    allora i pin che usa la ramps sono questi // For RAMPS 1.4
    #define X_STEP_PIN 54
    #define X_DIR_PIN 55
    #define X_ENABLE_PIN 38
    #define X_MIN_PIN 3
    #define X_MAX_PIN 2

    #define Y_STEP_PIN 60
    #define Y_DIR_PIN 61
    #define Y_ENABLE_PIN 56
    #define Y_MIN_PIN 14
    #define Y_MAX_PIN 15

    #define Z_STEP_PIN 46
    #define Z_DIR_PIN 48
    #define Z_ENABLE_PIN 62
    #define Z_MIN_PIN 18
    #define Z_MAX_PIN 19

    #define E_STEP_PIN 26
    #define E_DIR_PIN 28
    #define E_ENABLE_PIN 24

    #define SDPOWER -1
    #define SDSS 53
    #define LED_PIN 13

    #define FAN_PIN 9

    #define PS_ON_PIN 12
    #define KILL_PIN -1

    #define HEATER_0_PIN 10
    #define HEATER_1_PIN 8
    #define TEMP_0_PIN 13 // ANALOG NUMBERING
    #define TEMP_1_PIN 14 // ANALOG NUMBERING

    e sono relativi ad arduino questi ma alcuni non servono se si usa theremino
    no cmq i 4 enable li ho messi in parallelo

    • Livio says:

      These are pins that uses Arduino firmware inside the Sketch, and some aren't even variables used in the software but PIN.

      La lista per Theremino è la seguente:
      Pin Uso
      01 X_STEP
      02 X_DIR
      03 Y_STEP
      04 Y_DIR
      05 Z_STEP
      06 Z_DIR
      07 E_STEP
      08 E_DIR

      11 HEATER_0
      12 HEATER_1
      13 TEMP_0
      14 TEMP_1
      15 FAN
      17 X_MIN, Y_MIN, Z_MIN, X_MAX, Y_MAX, Z_MAX

      By connecting all five free pin, two on the Master and three on the slave.

      Indeed there are six because (for safety) the Enable should be completely hardware and should never pass from software. That is, you put a switch of the machine and he himself raises and lowers the enable.
      Or better yet removes power to the motors!

      What is this?
      KILL ???
      SDPOWER ???
      SDSS 53 ???

      • Mirko says:

        those are (they were because I'm useless with theremino) the power supply for the lcd panel sd sd signal and the kill I think is like a force reset but is from software because it's on -1 so for us just not needed

        • Mirko says:

          I was thinking for the temperature simply by setting it with a program outside of the theremino cnc 200 degrees and leave it but what will I have any problems will be fixed the extrusion.
          I guess tonight I try to put a simple gcode in the program I set the temperature and I try to adjust the extrusion and then let you know how it went

          • Livio says:

            Unfortunately for the extruder you will have a problem with the G92 E0.
            To do a quick test you should delete (or comment all G92 E0) and then turn all absolute and relative numbers to… Do it by hand or with an editor is not easy.
            Or aspects that we implement the G92,
            Or write a program that boosts all “And” so they don't always start again from scratch.
            Or set the post-processor of the program that made the GCode for not issuing the G92

  17. Roberto says:

    Hello Livio ,
    continuing in my temptations for cnc, i have to say that the findings so far of the coupled between master and cnc software goes very well , for the moment I'm working on laser testing and as I finished the pantograph mechanics start even on that ( I continue to see if I can find way to couple master mach3 but just out of curiosity and possibly share to those who may need it ). Now looking at the site ( one piece at a time I'm looking at all given the infinite and useful published trials ) I saw the relay Board with three wires and relay management multipliable , now, however, looking at the three wires I see diagram , date, clock and store and below I see that it says to connect these three threads three pins configured as DigOut , I assume then that the whole thing is run by software test relays and not be able to take advantage of these infinite number of outputs from cnc software , I'm wrong ?
    Is there any application that I have seen that instead of 74*595 that with three wires multiplies releases , exploit the 74*165 to do the same thing with the inputs ?
    Theoretically with 4 inputs and outputs could be pin have multiplied (common clock and store ) and time line 595 and 165 separated , for 595 would a in DigOut while 165 would a DigIn , might work a similar solution ?
    Thanks as always for your great support

    • Livio says:

      With that card you send serial data, with three output pins configured as DigOut. Like this, You can also connect multiple tabs, one after the other and also handle many dozens of relay, always with only three wires.

      The best version and the best information about this serial board are here:

      There is an example of software to send serial data examples of Theremino Script. But the whole thing is quite complex to put together.

      Multiplex inputs and outputs
      Your idea is workable., but I hope you won't get to similar complications. And’ already difficult to make reliable equipment, Standing on the simple!

      With a Master and a Slave, You should be able to do any machine, even the most complex. Send me the list of InOut you need and we're talking a little’ above?

  18. Roberto says:

    Thanks Livio as always your availability , frankly the idea I was born trying Polish cnc boards with 4 wires run from the motherboard and inputs and outputs , by the same principle with three wires running up to 8 axes .
    This mine was a curiosity if the same principle without applying slave modules depending on the number of input output could be applied to the master module , the big job he does master , the other pic always rely on the micro master slave . Now since the mechanics are pretty much almost done I will start to make a calculation of the various input output needed , calculating ACEs , limit switch , emergency , external keypad , vacuum pump ,2 Inverter for speed control and piloting lowering 2 heads with pneumatic piston ( I have two heads that must be able to work or concurrently or separately )and other input output various . Although it will be a pantograph for use hobby I copied some professional mechanics and added some variations that I think will serve me , I tell you honestly I would even be able to fit on the pantograph laser group in order to deal with a single machine anything that might serve me , so two x and y axes can exploit them for both and as needed to control spindle or laser tube. Eventually the idea of combined machines is the discovery of the hot water that has already been applied in many Chinese machinery hobbystici .
    In all cases I don't want to disrupt anything , they're just questions out of curiosity about the feasibility , projects on theremino are so many and all interesting and sometimes to deepen them there are links to other pages and information that sometimes I'm afraid I missed something and that is why I ask for details .
    Anyway thanks again , the more I read to learn more I am convinced that you have and are doing a great job with an infinity of possibilities limited only by imagination

    • Livio says:

      Actually the idea of using the mechanics X,Y,Z also for Laser and 3D printing, It's not bad. Much of the cost, weight and volume, they're just in the three fundamental axes.

      We were already working unconsciously in this direction, but now your discovery of hot water made explicit what we need to do, Thank you!

      In these days we are adding a Theremino CNC functions that were to be part of Theremino Replicator. At the end Theremino CNC will be a unified application, You can also manage the 3D printers, the engraving machines, Laser cutting and cutting styrofoam. And there are those who are planning to cut the stone and cement spray. The modularity of the system Theremino allows even the most “Loopy”, as well as easy tooling for new features.

      We have also designed a simple constant current driver for small laser diode, from 100 MW to 10 Watts (not yet published – If you have to ask). And some makers have altered business Laser printers and are using Theremimino with CNC.

      Your idea of multiplex inputs and outputs, might be useful in some cases.

      So far we have not prepared such modules, because time is always short, but it's not hard to design them. Just mount (even on a Breadboard) some CMOS HC series multiplexers, But even the CD series would be great. Then you could use two or three exits DigOut, for four, or eight commutations. Very interesting CD4051, switching to analog and bidirectional, and could serve as a Jolly. We could assemble a number, and use them for both DigIn, the DigOut, but for the Adc, as well as for all other types of pins, like Pwm and Counters. Attention only to put a PullDown resistor (10 or 100 k) the outputs that will remain open, otherwise some users, as stepper motor drivers, may start to move the engines alone.

      Multiplexing is feasible only for mutually exclusive functions and requires an integrated switch for each function. At the end would be out a pretty big Plastron and probably quite expensive. A form for sorting four signals would cost as a Master and it would be as big as two or three Master. For these reasons, we continue to recommend to add a second masters. With the advantage of being fully configurable and easily replaceable.

      If the machine is composed only of “n” drivers from Pololu “n” Masters, just keep a spare Driver and a Master, to make sure that you never stop.

      Last advice: always best to use two (or even three) Master, rather than the slaves, because the serial line suffers electrical noise, much more of your USB. It doesn't break anything, but communication errors may occur and, in some cases, also the total shutdown of communication, until you disconnect and reconnect the USB cable.

  19. Roberto says:

    Hello Livio , looking through tabs available for theremino and for use with cnc software , Maybe I missed it but I did not find a circuit that converts the PWM signal in tension. To adjust the power of the laser requires a voltage tubes 0/5 V , to adjust the speed of the spindle with inverter requires a 0/10V voltage or 0/5 Depending on the inverter , the master module generates a Pwm signal 0/3.3 V and you can then manage these devices . On the NET there are many examples but I think having a reference form on your site can be a good help for those in need . From my tests among the possibilities would seem to me that the most convenient solution is that of a Pwm voltage converter with an op amp example LM358 this way fueling modulate to 12 V and adjusting potentiometer output you can get both voltages 0/5 V or 0/10V voltage with a voltage equal to 0 V for duty cycle = 0 and max voltage 5 or 10V with duty to 100%. From my tests I also saw that in case example for wood routers you need to drive two inverter to operate two spindle contemoraneamente ( If I want to make two identical pieces simultaneously ) It is better to put the two inverters in parallel that make two voltage Pwm inverter circuits , with the tolerances of the components and characteristics of two operazzionale not identical although I send two Pwm signals or the same Pwm signal to the two modules the outputs from the two converters and then two motor speeds will not be the same .

    A question , I've written you're editing Theremino CNC to make it a universal platform for various machines , the changes you are making are also buttons from insert or a menu where you can associate master outputs to pin or module slot ? I ask this because on many machines in addition to the emergency button , position switches and axis control there's always some device that need to be activated or car ignition or at least before beginning work and it wouldn't hurt to automate work cycle without having to do it manually ( in these cases it would be sufficient to be able to associate pin out or Slot or at startup or when you start machining programme software CNC Gcode ). For example in the Laser has to be turned on the hose water circulating pump and the compressor during cutting or engraving (I tried but not connect the slot 11 to other things that are not triggering laser tube , too fast and too many on/off during working phases ) , I saw between your modules in the section “input sensor “the “liquid sensor into pipes” that could be very useful to control water recirculation in the pump ( they are usually the ones used for aquariums ) you have problems or were to lower the level in the container making dry fish (I have yet to try it myself I think might be put in series to limit switches and emergency ) . In the pantographs instead we would turn on the inverter and possibly of the vacuum pump , in other machines it may be coolant pump or other .
    I'm sorry some questions and if I beg to point out a few things , Thanks as always for your kindness and availability

    • Livio says:

      PWM to ControlVoltage
      Here you will find a dual PWM converter 0..5 Volts. If the food 12 Volts and change R6 and R16 with resistors 4200 ohm resistor, get an output from 0 to 10 Volts. Attention only to not send the 12 Volts to the pins of the Master.

      Search the website Theremino
      Actually there is a huge amount of information about where to find them can become difficult, but there are two ways:
      1) La pagina “Applications” is a convenient index. Within this page you can search by CTRL-F. I tried looking for PWM and reach the two clicks.
      2) All pages have the SEARCH box. I tried looking for PWM and you can get there with more effort, but we can also be reached from there.

      Control outputs
      Theremino implements all CNC GCode flying exits. You can use any of the slots 11 to 23, as indicated on page 39 of the manual:

      11 OUT – Spindle motor or laser (On = 1000 / Off = 0) – On the working phases
      12 OUT – Spindle motor speed(RPM from -99000 to +99000) – Specified by “S”
      13 OUT – Spinde CW (On = 1000 / Off = 0) – M03 M13(On) M05(OFF)
      14 OUT – Spinde CCW (On = 1000 / Off = 0) – M04 M14(On) M05(OFF)
      15 OUT – Tool number (0, 1, 2, 3…) – M06(T = tool number)
      16 OUT – Cooling1 (On = 1000 / Off = 0) – M07(On) M09(OFF)
      17 OUT – Cooling2 (On = 1000 / Off = 0) – M08(On) M09(OFF)
      18 OUT – Cooling3 (On = 1000 / Off = 0) – M50(On) M09(OFF)
      19 OUT – Cooling4 (On = 1000 / Off = 0) – M51(On) M09(OFF)
      20 OUT – Pallet Clamp (On = 1000 / Off = 0) – M10(On) M11(OFF)
      21 OUT – spindle Orientation (in degrees) – M19(C = degrees)
      22 OUT – Gear speed range (1, 2, 3, 4) – M41 M42 M43 M44
      23 OUT – Enabling the machine – M84 and button "to enable"

      And in new versions of Theremino CNC, from 3.41 onwards, are also implemented the following outputs:

      41 OUT – SlotHoldingForce fastening – M142(S = pressure)
      42 OUT – SlotCoolingFans cooling fans – M106(On) M107(OFF)
      43 OUT – SlotHeaterChamber room air Heater – M141(S = temp.)
      44 OUT – SlotHeaterPrintBed print floor Heater – M140(S = temp.)
      45 OUT – SlotHeaterExtruder1 Heater extruder 1 – (Note 1)
      46 OUT – SlotHeaterExtruder2 Heater extruder 2 – (Note 1)

      Those who go to slots are just numbers and are not bound by 0 to 1000. Then you can also use exits that were planned for other. And very small numbers can be issued as 0.00039 or even great (integers up to many millions without any rounding)

  20. Roberto says:

    As always, Livio and helpful staff , I missed the Pwm converter module , I had already fixed but not having seen and thinking he could serve to others I asked .
    I had read in the manual of Theremino was thinking about outputs controlled by CNC Mcode but something autonomous that it not be handled by the program Gcode . The program Gcode is generated by other software and there are zillions is dedicated to Laser for various types of processing requests for other types of machines . The Gcode generated by different software even for the same type of work are not always the same , may vary from software to software and post processor and excluding other tools and axes management parameters commands some times we found them ( Thank you if you can correct me on this idea that I made myself) , and that's why I preferred to Gcode for some independent external actuator commands .
    I state that cnc world are ignorant , I am trying to do research to understand and then chances are you're also saying wrong things , Thanks to you and to many info lying every day I see something new and very often I realize that what I thought was incorrect .
    Thanks again

    • Livio says:

      I pointed out the slots from GCode because you were talking about “be enabled or machine or at least ignition before beginning work” and for this you should use the slot 23 (possibly controlled by M84 at the start and end of the GCode). But also any other command, for example the “Cooling” (Slots 16,17,18,19) could be fine.

      Of course you have to add the M at the start and end of the GCode. To save this annoyance in future versions we will add the Slot 24, as the following line:

      24 OUT – Enabling accessories – On with START and OFF with STOP

  21. Roberto says:

    Sorry Livio a note , You can't put on the first page of the Help pdf Cnc software version that is reported , I just downloaded latest version available (I think) v 3.39 and help I have found new Mcode you wrote to me , I was doing all the tests with version 3.36 and the Mcode were different , available from slots 11 at slots 21 And now (v 3.39 ) I'm from slots 11 to 23 , before the slot of the tool was 13 and is now 15 and so other , You may set the wrong slots when using software and manuals that are not of the same version

    • Livio says:

      The help changes almost every day, the EXE slightly’ less. PDFs have the last updated date at the bottom of the page and we can not change the software version every time.

      There was a revolution of the slots to accommodate, but now we will move more. At most we'll be adding in empty seats.

      Using always the help attached to software you can't go wrong. You go on the site, you see the software version and if it is later than their, you have to download everything, and use ALL of the new version, except possibly their own configuration file.

      Maybe in a few months, everything will stabilize. But now there are new versions every day and they're not even all published, Here you will find the latest:

      I understand the discomfort due to changes, But if you don't change you cannot improve. The problem is that while others make a version or two per year, We are also two per day… When you find variations “uncomfortable” consulates thinking for that variation we have worked tens of hours, study how to do it, Edit software, recompile it, give it a try, update the DOC, make PDF, update the site…

  22. Roberto says:

    Livio , I understand you and I admire the work you are doing , My should never be considered critical but only notations , in the amount I think the same my problem may have more and that is why I report , then , It's almost always my fault , There are things I consider granted so we do case and then we lose hours when it was enough to reread a page .

    • Livio says:

      No problem, but don't expect too much, Theremino the system is just a big toy and we are four cats, more than tot cannot do…

      What do you think of the new output?
      24 OUT – Abilitazione accessori – ON con START / OFF con STOP
      (It was an indication they actually missed and thanks for doing this note)
      (from version 3.42 onwards)

      If it takes more complex mechanisms, the place to write will not be Theremino CNC, but additional software, written by you depending on your needs, Maybe in Theremino Script, or Theremino Automation, or with MaxMsp, or even in VB6 or CSharp, or even in VbNet for demanding applications.

      To have maximum flexibility Theremino CNC should provide only basic signals, valid for all machines. Will be the external software to combine these signals into AND AND OR, or with timers, or reading the sensors and applying counter-reactions and PID algorithms, etc…

  23. Roberto says:

    I think rightly a step at a time you are considering and adding everything that can be used for multiple machines , making the theremino an excellent starting platform and development that adapts to various needs . I personally think that the slot 24 is a cherry on the cake being dedicated and not combinable with the individual request .
    I don't know if there will be useful but if you need some help for anything within the limits of my knowledge and ability glad to help .

  24. Mirko says:

    and here I am back now I did a version we say more beautiful than the adapter ramps- theremino for the 3d printer I send you photos and diagrams if you want and beg for calibrating engines and everything else soon maybe I also a guide on calibration and everything else if you want

    • Mirko says:

      Edit by midnight: with no problem but once again with the thermistor is a challenge. This time I thought I'd read it as res8 or 16 and to put the maximum and minimum values to 50000 and 0 as well as to the limits of theremino a response on the actual resistance of the thermistor. idea in my opinion correct and I also used the formula 1/T = 1/T0 + [1/B * LN(R/R0)] to estimate the actual temperature but doing a few tests before I discovered that test a 10 k resistor gives me that exact value but if I put for example a resistor 47k gives me a value that is 40000 and I can't figure out why and if I insert a resistor 220 give me a value approaching 1000. This is maybe the standardization and filtering? If there is a way to get around it as well as an external circuit? tomorrow I try with this latest solution and see how it comes out . Thank you 1000 I know I'm heavy at times :D

      • Livio says:

        I would recommend you use ADC inputs and add a resistor from 3.3 Volts. The value of the resistor should be adjusted to read intermediate values (500) in the area of temperatures of greater interest.

        It is a simple two divider resistors: the thermistor and the resistor that goes to 3.3 Volts, some solutions are explained here:

        The page you mention Thermistors type PT1000, but they are general considearazioni, apply to all Thermistors, NTC also.

      • Livio says:

        Today we will publish Theremino CNC – Version 4 !!!
        (conclusion of the work of Pharaonic)

        In the last pages of the instructions (Appendices 23, 24 and 25) There are instructions for temperature control and sensors to use.

        CNC theremino same, reads the sensors, interprets values and linearize (second calibration tables supplied by the user). It also takes care to drive heating resistors and also shows the temperatures measured by five sensors (in Celsius or Fahrenheit).

        • Mirko says:

          love XD thanks 1000 for all :D I can throw the arduino now

          • Livio says:

            Theremino CNC – Version 4.0 (code name: “Pharaonic Work”) is finally available:

            All required functions in recent months are implemented and even temperature control is complete. Now you can control, In addition to CNC, 3D printers and the weirdest machines, Laser engravings, foam cutting, etcetera… And also the documentation files (code name: “Bricks worthy of Battleship Potemkin”) are complete, both in Italian and English.

            • Mirko says:

              I'm doing the copying of values using arduino and one hand on the other theremino for the temperature (I don't have a thermometer :C ) and I was wondering if the pidgain is not nientraltro that the resistance or other

              • Livio says:

                How did you think, the power of resistance acts on PidGain. For the accuracy determines the proportion between temperature error and the value that is sent to the heater control slot.

                If using an ON-OFF hardware and then using a slot-type DigitalOut output, then the resistance should fire when the value exceeds output slot 500.
                For clarity in this case you set very high PidGain (Maybe 10000) so as soon as the measured temperature drops below that required the output value squirts a 1000. And just above that required, the value of output goes to 0. In practice the proportional area becomes so small that the control is “snap”.

                If instead of a ON-OFF hardware using a hardware warming proportionally, then you set the output slot as PMW (or fast PWM) and PidGain sets the multiplier between the temperature difference and the difference of output values.
                With high PidGain you have more precision but may experience oscillations.
                With low PidGain you have a softer proportional control, but less accurate.
                A PidGain between 100 and 1000 should be fine in normal cases.

                • Mirko says:

                  Ok thank you 1000 now I see that I will exit ramps and maybe do the dailies, finally

                  • Mirko says:

                    excellent job you have done really impressive .1 accurate up to Sala with those options .2 convenient and quick to set up .3 a godsend for people like me who printed without references since you can reset as you want (first I had to get by 5 AI 10 minutes each time) .4 remember the last time setting

                    donation required from me :D I hope you continue so

  25. Valter procarione says:

    Hello Livio, I'm going to build the robotic arm and fly it with a windows tablet and because the amperage of the usb is not some high I would feed it with accumulators 2/3 s lipo and voltage regulator 5 v.. Where do I connect the external power supply on the master module? or do I have to have a slave?

  26. Livio says:

    but you're just Valter (former Carpenter Ivrea)?

    The USB 2 they should all be the same and give all 500 mA.
    Then I would try if a capacitor by 1000 UF is sufficient for the ideas of the engines
    (I think it should be enough)

    Robotic arm
    – It is just a toy, only useful for learning the fundamentals of Robotics (as we wrote a little’ everywhere)
    – in order to make it move, in any way other than a complete disaster, There is to lose a lot of time
    – then it takes months to learn how to adjust it (very difficult) and make the most (but at most) any plan that does not own it
    – in the end the best you can do is write so flickering on pieces of paper no larger than ten centimeters

    Conclusion: Before you decide to do so, better think twice. Almost all other thereminici projects are easier to implement and give more satisfaction. A good list is on this page:

    Master power
    If you really must, you do as explained here:

    Find materials for the system Theremino
    In the previous post I forgot the phrase: “Write to Alexis”

    Alexis takes care of finding materials and knows everything about components, How to pay little and where to buy them. Also often deals shop for fans, makers and hobbbisti (no profits). In this way it is possible to acquire material and component KIT, that would otherwise be difficult or impossible to find, as individual pieces.

  27. Valter procarione says:

    Hello Livio, well Yes, are their former Carpenter, now in Veneto and addicted to the most varied and unusual industrial machinery and not.
    I'm interested in the robotic arm because it's a frontier very inspiring and pretty “orba” as they say in these parts (Trad. = blind, not understood easily) and it seems to me that you are the only beach in order to arrive at a minimum of functional logic, so away with experiments.
    I don't know if you remember that I'm a CARAM, and for me the servos are the everyday and I thought that by feeding it separately with batteries the servos and keeping only the signal of the module I can work around the problem of absorption due to the work of the servants. What do you think? See you soon

    • Livio says:

      Hello, I'm glad to hear from you
      You can certainly feed the servants apart and send him only signals. But it probably isn't necessary and you might save you from having to charge the batteries. In addition, until you connect to USB, There are fewer problems, disorders of the masses and less risk of frying everything.

      The problem of the robot-arm, done with the servant, is that the servos have a precision limited (internal potentiometer microscopic and internal ADC imprecisely). You can then wait for a precision of one part in a thousand (theoretical) and only by the best servant (the TGY930 – We haven't found any others just as good)

      But just try a little’ (even just a few grams) the accuracy falls further, in a horrible 1%. And as soon as you go to a few tens of grams, you go to the 5%.

      This means that, If you have a running total of only 10 cm, You'll get some inaccuracies around mm (writing gently, with soft cushioned pen with spring). But you'll also errors 5 mm, just try to do something remotely useful.

      My advice is to use the robot-arm, with the servo, only if you want to study the software and techniques of Robotics (It is designed for that purpose). But moving to the stepper motors, for any serious automation application.


  28. Livio says:

    Julius wrote:
    …I loved the flexibility of cnc interface. The software is done really well, simple and intuitive. I had a look at the HAL configuration, very well done, I'd argue even the possibility of encoder input x-y-z, you could use, If you are using a pwm, for driving the motors axis in DC.

    Control motors in continuous with the PWM may be easier than expected.
    It is just implement it in the right spot and reasoning so thereminico.
    No further work up from Theremino CNC but, Since Theremino the system is modular and layered, you could place a Theremino PID between CNC and Theremino Theremino HAL.

    For each motor Theremino PID should:
    – Read the Slot millimeters set by Theremino CNC
    – Read the encoder (Note 1)
    – Compare with the value read by the encoder
    – Set remaining millimeters, on Slot (for the look ahead of Theremino CNC)
    – Check the PWM for motor with PID algorithm

    (Note 1) Sure that the encoder should be read “for their cabbages” that is, not with one Master and not through other system hardware modules Theremino, but probably in serial (thereminici modules do not read anything digital, only analog data, According to the principles explained here:

    All this wouldn't be very hard to implement (even with a few lines of Theremino Script) but don't wait for us, because we could take years. Currently we are very busy with Theremino SDR (Software Defined Radio) We have to finish other projects and just finished SDR, I have been waiting far too long.

    Theremino SDR will:
    – Receive radio waves up to 1.8 GHz.
    – Receive and decode weather stations 433 and 966 MHz .
    – Receive shortwave and long up to 10 KHz .
    – Receive ham bands with satisfactory sensitivity.
    – Receive any type of modulation: FM, Am, SSB and CW .
    – Make spectrum analysis to measure filters and oscillators in the laboratory.
    – All this spending less than 10 Euro

  29. Livio says:

    Mario wrote:
    The problem is that I am not familiar with the parameters of my stepper. I reset 0 and 1000. I used steppers to a couple of DVDs. From what I could find on the net, should be 20 steps per revolution (taking into account that the Pololu are set x the Micro Stepping) and that in a day trip 34 mm the worm does 13 RPM. According to the manual I would ThereminoCNC about 2048 steps/cm. Needless to say that this is no good. Can you tell me how to calculate the fair value?


    Adjust the microstep
    For each axis:
    – Move with Theremino CNC 30 mm and measure how much you move the tip.
    – If you move 30 mm you're good to go.
    – If you move more or less change step for mm to 30 mm which moves.

    Attention they are Step by millimeter and don't step to cm as you wrote.

    Make the account with the calculator
    1) Turn the engine by hand, When off, and count the steps in a spin (Maybe 20).
    2) On a pololu, If the three wires are high, the micro-steps are 16.
    3) 34 mm / 13 rows = 2.615 mm per revolution.

    Then 20 x 16 / 2.615 = 122.37

    Since the 34 mm and 13 laps are measured in spans
    You'll still need to retouch the final value with the procedure explained at the beginning.

    Set the micro-steps to 16 works well for these engines that only have 20 steps
    but in other cases (with engines 200 or 400 step) It is better to lower the microstep in 4

  30. Livio says:

    Some makers have had problems of disorders, on machines that contain power supplies consumers with strong currents. Typical defects are communication errors, loss of USB communication and processor reset.

    To correct these flaws you must learn the rules of professional cabling, with the masses willing “stella”. Sometimes it seems unintuitive (lengthen and multiply the mass) but it must be done just like that.

    The rules are:

    – Between actuation and control modules are worn only signals, not the masses.

    – Never connect the masses between two modules (for example between the Master and the form RAMPS for steppers)

    – Both masses in question must already be connected to the center of mass (Star Center).

    – If the mass of some form is not connected to anything, then you have to connect it, never leave it open!

    – But the masses don't missing connect "anywhere". Be taken, each with its separate wire, up to the center of mass (Star Center).

    With “Star Center” means a single point (usually close to power supplies and the metal casing of the PC). All mass threads come together in this point, as the legs at the head of an Octopus. Professional wiring using even a copper block, called “Terminal block”, with many screws, designed specifically to connect all the wires of mass.

    Sample images:

    • Livio says:

      Claudio asked us:
      If you cables everything as it should be, with star-shaped masses, then the photo-sccoppiatori?

      Wire star masses is difficult and many cannot even understand how you have to do and why.
      For many put more threads (creating rings of masses) you'd better put one.

      Few can guess that the wires have an impedance and behave like coils that, in the presence of strong inductive currents, can create voltage surges of hundreds of volts.

      For which, to cut to the Chase, You can use the photocouplers.

      Separate into two blocks
      With Photocoupler can be separated completely logic in the actuators and power supplies and wire becomes easier.

      But even with the picture you must wire an informed, a little too much can nullify all the work to put them.

      ……………………. TOTAL SEPARATION ……….. MACHINE
      LOGIC ………………… NO WIRE …………… POWER
      USB …………………. —> PHOTOS —> ………… MOTORS POWER RELAY
      PC ………………….. < --- FOTO <--- ............ SENSORI E CONTATTI MONITOR

      If you design with photo-couplers then we must be all so you can keep completely separate the masses of the two blocks.

      Machine logic must be physically separated into two blocks away and well visibly away with ten centimetres for anything between the two.

      No thread of logic side must pass near or worse side with power wires

      To ground the two blocks
      If you design with photocouplers eventually you should also check whether the logic that the machine is grounded, otherwise between the two can develop very high voltages relative,
      that could be dangerous and cause scintillamenti.

      Then you check power supplies have all the ground wire, that brings us to the ground of the electrical system and check that your PC has the wire that connects it to the ground of the electrical system.

      It can happen, for example with notebooks, to have all the PC only two poles have notebooks with power supplies isolated from power supply and are totally isolated from Earth.

      If one of the blocks (Logic or MACHINA) It is not on the ground should be connected to the ground of the electrical system or the mass of the machine with a single wire. And this only connecting wires must be far from the LOGIC that is in the area of PC power supplies and machine.

Leave a Reply

Your email address will not be published.