arduino rotary table for dummies factory

The stepper motor will have to be sized for your application. I used a small 3” rotary table and don’t plan on using it for anything other than indexing so a high torque NEMA17 did the job. If you’re working with a larger rotary table or want to be able to use it as a 4th axis in the mill you will want at least a NEMA23 size motor. You will have to reach out to the forum for help with selection.

Ok get out the anti-identity thief, pre-paid Visa card and order all the bits, wait for a month and a half for Canada Customs/Canada Post to figure out it isn’t anything nasty and you’re ready to begin.

You’ll have to install the Arduino software (IDE) on your computer. Spark Fun has a good step by step tutorial for completing the install. https://learn.sparkfun.com/tutorials/installing-arduino-ide

arduino rotary table for dummies factory

I recently read an article in Model Engineers Workshop Magazine (December 2016 issue 249) for adding a stepper motor drive to a rotary table. I don′t use my small Vertex rotary table very often but I thought this might be a useful project to learn a little about stepper motors and digital control of machinery. The article by Carl Wilson describes how to use an Arduino micro-controller to control the rotary division process. Much of the coding is contained in another article in Digital Machinist by Gary Liming. So no original thinking by me here, just a rehash of other engineers good work. All the links and useful information can be found in the Glossary at the end.

Prepping the table can be as simple as doing nothing, a complete strip down and re-build with thrust washers and the like or somewhere in between. There are a few articles on the web giving details (see glossary). Software setup and programming the Arduino is the quickest part and if you use Gary Liming′s software without alteration, the programming takes just a few seconds. Assembling the electronics is mainly about fitting the bits into the box and requires a bit of inginuity to fix things in place. The boards are fairly flimsy and things, like the display, tend not to be square or flat, I found.

The stepper motor mounting I made from three parts and assembled with Loctite and screws. I have no doubt there are other ways of making this or a suitable motor mount could be found ready made and adapted to fit the table. You will probably want to test things as you you go along rather than leave everything to the end. I discovered I had a faulty motor driver, easier to deal with whilst still uncased. I don′t think it makes makes any difference which order things are done.

This is covered elsewhere on the web in some detail so I have just made a few notes that may be of interest. Dismantling the table is quite straightforward, just look for allen headed grub screws at the bottom of deep holes. The notes refer to my 4" Vertex table.

Start off by removing the handle, the table locking clamps and the worm engagement lock. The handle is just one screw but watch out for the shaft key which is small and easily lost. Photo (2) shows the board I made to store the table with a cutout for the handle. The stepper motor will also need a similar storage solution. I used pliers and some cardboard to protect the finish to unscrew the table clamp handles. Remove the engagement lever and collar, two grub screws and it slides off, this is the part that the motor connector will attach to, it has three ready tapped holes for when used with division plates.

Remove the cam shaft securing and adjusting collar (4), four cap screws. Remove the grub screw that sets the worm engagement depth, found at the bottom of a deep hole (5). The worm shaft and cam bearing can now be removed as one unit, rotate the table and it will push the spindle out.

Turn the table upside down and remove the table bearing and adjustment plate (6), four cap screws. The table can now be removed, mine was pretty clean (7) not having been used much, there wasn′t even that much grease. Now that everything is apart it can all be cleaned re-greased and re-assembled. The worm drive shaft can be slid out of the cam adjuster by removing the collar, it is a ground shaft with an oilway and a very good fit in the cam adjuster.

Other than adjustment to remove backlash I didn′t make any changes to my rotary table, it was in fact pretty good before I started. If you have an older well used table it may take a bit more cleaning to remove old grease and any swarf that may have found it′s way inside.

The collar on the worm shaft acts as a thrust bearing and needs to be adjusted so that it is free to rotate but has no end play. You can just make out in photo (8) that there is a washer below it, this is a wave spring washer and provides a bit of tension to restrict the lateral motion. If you tighten the collar too much the shaft will lock up. Once set-up the collar is locked in place with two grub screws. The screws tighten directly onto the threaded portion of the worm shaft, this had caused some damage to the thread which needed cleaning up with a needle file. I made a couple of brass pads from some shim (9) (cut out with a leather punch) to prevent more damage, they are a bit thin but there isn′t room for much more.

Other parts worth note are the cam shaft retainer / bearing (4) and the table retainer / bearing (6). These both feature four cap screws which bolt the item in place and four grub screws which act as jack-screws to prevent clamping the rotating part. When reassembling it is worth adjusting these carefully to limit the table lifting whilst still turning freely and likewise to prevent the cam shaft moving in and out. I noticed with the table bearing / retainer that there was a noticeable stiff spot so it is worth rotating the table through a full 360° whilst adjusting. The cam shaft could be locked in place if you think there is no need to disengage the worm gear. Last bit is to set the worm engagement, this is controlled by a grub screw at the side (5) which engages with a slot in the cam shaft to prevent rotation. If you undo the grub screw and fully engage the worm it will be very difficult to turn, tighten the grub screw just enough so that the worm turns easily with a minimum of backlash.

Not much to this really but first you will need to go to the Arduino website and download the Integrated Development Environment (IDE) software. This is basically a fairly lightweight program that runs on your PC (Windows, Mac or Linux) and allows you to edit programs (sketches in Arduino speak) and upload to the Arduino board. You will also need to download Gary Liming′s software. Once the software is downloaded installation is straightforward. The Arduino IDE is self-installing from an exe file in Windows. Gary Liming′s programs come as a zip file which needs un-zipping to a folder. Once unzipped, double click on the "Stepindex23.ino" file and it will start the Arduino IDE and load the program.

All being well you should now have a screen like something like those above. Click on the image to read the text. Affix the LCD shield to the Uno making sure that all the pins are in the right places and none of the connectors is bent. Plug the Uno into the PC using a USB cable, often supplied with the board. The Uno will be powered by the USB connection. First thing to do is go to the "Tools" menu (10) and set the type of board. All being well the software should then report that it is talking to the Uno, bottom right of the IDE, something like "Arduino/Genuino UNO on COM4". You should also be able to click on the "Port" section of the menu to assign a COM port. If this isn′t working and the Port section is greyed out it may be driver related.

If you are using a genuine Uno board (possibly some clones) the USB driver is loaded with the IDE and once the board is selected in the menu everything works. Some copies of the the Uno use a different USB driver chip and the driver needs installing manually (see Glossary for link). Once the correct driver is installed the Port section of the Tools menu should be enabled and you can then select which COM port to use. (Note if you use a different USB port next time around you need to reselect the COM port). Click the upload button to copy the program onto the Uno, thats it. The program will auto-run and briefly display the start-up screen before waiting at the main menu for input. Chances are you won"t see anything as the LCD shield contrast probably needs setting, twiddle the multi-turn pot (variable resistor) above the display until the screen comes to life.

Arduino micro-controllers are mainly programmed using the C++ programming language or at least a subset of C++, so the programs are fairly understandable for basic editing. The first few lines of the program (11) are used to set parameters used later. These can be adjusted now, the program is well commented, or left until later when everything is assembled. You may wish to alter gear ratios or even remove some items. There is more help in the readme files that come in the program zip-file. If you are a C++ programmer the world is your oyster, the menu items can be moved around or even removed if you don′t need a particular function. You may wish to experiment with some of the delay timings to help de-bounce the keys but this is probably better done during final testing.

The parts are shown (12) above and are the Arduino Uno, the LCD shield, the cable gland, TB6560 stepper driver, switches, plug, socket and power supply. The circuit boards are all pretty flimsy and the mounting holes are very close to the edges. The LCD shield has a seperate smaller board for the LCD soldered on top and the two boards were not particularly parallel. There is also a multi-turn variable resistor on the board which cunningly sticks up higher than the LCD face. If you are adept with a soldering iron it can be re-positioned on the other side of the PCB. I solved the non-flush pot problem by using a 1.5mm clear polycarbonate sheet between the box lid and LCD with a small cutout for the variable resistor.

I fitted as much as I could to the box lid, only the mains in and stepper out are fitted to the box. The display needs a cutout in the lid as do the three switches and a number of 3mm holes for various mounting screws. Once I had worked out the position of all the bits I marked the inside of the box lid for the position of the LCD and switch cutouts. I set this up on the mill and used a 5mm slot drill to remove the cutouts, the ABS machines very easily. I fixed the lid to an off-cut of MDF with woodscrews through the mounting holes, I also used double sided tape to make sure nothing moved. A couple of T-nuts and studs fixed the MDF to the mill table (13). With hindsight the double sided tape was overkill, it took me longer to get it off the lid than it did to do the machining. The corners of the switch cutouts I filed square, I drilled the various mounting bolt holes by hand as I did for the other round holes opening them up as necessary with a taper reamer and file.

The diagram (16) above shows the inter-connections between the three main parts. Check carefully when soldering to the Uno and the LCD shield as the pins are close together, also check with data sheets that all the wires go to the right places. The diagram does not show the switch leads nor are the board connections in their exact positions (Diagram NOT To Scale). I found it easier to solder a short length of coloured wire to each location on the Uno / LCD shield whilst all the boards were out of the case. I made a note of which colour wire went where and then bolted the boards in place. The wires can then be grouped together, switch leads, control leads and power. I used some cable ties to try and keep things neat(ish) and then trimmed the wires to length ready to connect up. To extend the switches from the LCD shield I soldered a wire to the back of each miniature push button on the board. You need one wire for each switch plus one common wire. I just used a multimeter to find the right solder terminal on the switches.

I have included a drawing that shows how I made the mount, you may need to adjust dimensions to suit the components you have. I used 6082 T6 aluminium ¼" (6.35mm) plate to make the two ends of the connector and a length of 2" x ¼" (50.8MM x 6.35mm) thick wall tube for the middle bit. It is often still easier to get material in imperial sizes, come to that the stepper motor is imperial size as well.

I made the two flat plates and then fitted the motor, flexible coupling and rotary table together to measure the shortest length of tube that would work. The dimensions for the motor mounting plate were copied from the motor spec sheet.

The motor plate is from a length of 3" x ¼" bar, cut to length and then mount flat on parallels in the milling machine vice. Clean up one cut end then reverse and mill to length. Turn 90° clean up the edge reverse and mill to length. With the part still in the vice use an edge finder in X and Y directions to position first hole for drilling use co-ordinate drilling to position the remaining 3 holes (19) and a centre hole (much easier with a DRO, I still count turns). The centre hole will be the motor register. Drill and bore this out to 38.1mm (20) I found the easiest way to check the diameter was using a short length of 1.5" (38.1mm) bar. Strange all the dimensions for the stepper motor are given in mm but they are definitely made with imperial measurements, oh well provided everything fits together!

That was the first time I had used the boring head in the mill and I tried to use it to cut the recess for the tube. This didn′t work too well as you can′t really get a flat bottom to the recess. I remounted the plate in the four-jaw chuck on the lathe (21) with the motor register running true and completed the recess, 3mm deep and to suit the tube diameter, with a boring bar.

I used another bit of 3" x ¼" bar to turn the plate that bolts to the rotary table. I drilled a 10mm hole in the centre of the plate and used a length of studding to hold it (22). The studding has two nuts locked to it which fit against the back of the chuck jaws and a nut and washer clamp the plate against the front of the jaws, there is a centre in the outboard end of the studding for support. I used a trepanning tool to remove the corners and then turned the O.D. to to size.

When the R.T. mounting plate is the correct diameter add a step 3mm deep with 38.1mm diameter to create a short spigot to fit the tube bore. Remove from the mandrel (studding) and mount holding the just turned spigot (23), bore out the centre hole to 21mm to fit the R.T. collar. To finish this part it need the three mounting holes drilled to match the table. I clamped the table index ring to the plate, they should be the same diameter, then spotted through with a drill that just cleared the threads in the index ring. Unclamp and drill the holes 5mm, there is no other alignment so keep the holes small, don"t use an M5 clearance drill.

The three parts are "glued" together, I used Loctite 603 which is a high strength oil tolerant retainer. Check alignment before joining, it will depend on the orientation of the holes in the index collar on the R.T. probably easier to join the tube to the table end first and then bolt it in place. The motor mount can then be aligned so that it is square when in use. I had an interesting experience when I first tried assembly. applied the Loctite placed suitable weight on top and left overnight. The following day removed the weight picked it up and it came apart. Apparently Loctite "goes off" still mine was a few years old! If you want to add screws it is probably easier to do this after assembly, I used 3 M3 C/S screws in each end, a bit belt and braces as either screws or adhesive alone will probably do the job.

Once the two end plates are in place the slot to access the coupling can be cut (25). In stages starting with an 8mm slot drill, using a 20mm end mill is really pushing this tiny mill! I thought the best place for this was on the underside so that swarf will fall out rather than in. You may need to adjust the slot to suit the fixings in the coupling. I used an aluminium flexible coupling (26) which has both a split collar clamp and a grub screw.

Not much to this really, first bolt the connector to the rotary table. Slide in the flexible coupling and tighten onto the table drive, I aligned it so that the grub screw would tighten into the keyway. Fit the motor using four M5 capscews, nuts and shakeproof washers. Tighten the coupling onto the motor shaft and thats the mechanical bit done.

To test I went through each menu item in turn and made sure it did what it was supposed to. I discovered that clockwise and anti-clockwise were reversed but this can be adjusted in the software. I also discovered that I had wired one switch back to front and needed to reverse the leads fortunately just swapping a couple of push on connectors. Found that the motor vibrated rather heavily, haven′t got to the cause of that yet. I also set the table to zero on it′s scale and checked that the angle turned matched what the display said for a full 360° - it did.

With a bit of work on the software, to slow the motor down, I don′t see why the table could not be operated under power, to mill say a semi-circular slot. WIll also need a bit of work on the switch de-bounce software for this to ensure reliability, as it is it is easy to double press keys. Nice little project a good introduction to both the Arduino and to stepper motors neither of which I had used before.

New driver module (27) is enclosed and all the terminals are at one end so I had to do a bit of redesign to fit it in. No problem with the wiring but I had to bend up a bracket from a bit of aluminium sheet to hold it in place. The bracket (28) uses the old fixing holes and is bent to give a bit of room for ventilation of the power supply.

As I had to take everything apart I added a reset button (29) by soldering leads to the back of the shield button in the same way as for the other buttons. Caused me some aggravation as the first button I found in my "bits that will be useful one day box" remained steadfastly open-circuit when pressed, still it was probably 30 years old! Last but not least a short video (30) which shows the table spinning quietly in run mode and then vibrating in step and angle mode. It makes me think this might be software generated as that is the only difference between the modes.

Model Engineers Workshop Forum- thread discussing the original magazine article and various points arising including some useful information about variations in the Arduino hardware, particularly the LCD shield.

Step Indexer- software download for the original Digital Machinist article. The ZIP file includes three versions of the code and various text notes. The software is, I believe, in the public domain with a GNU licence.

Gary Liming′s Website- describes the making of the original step-indexer which could be used in place of a rotary table and outlines the software in a bit more detail.

Arduino Home Page- has all the information about the Arduino project. You can download the IDE (Integrated Development Environment) from here which you will need to program the micro-controller board.

CH340G driver- Some boards use the CH340G USB/serial chip as a cheaper alternative to the FTDI chip, this is the driver download link. The FTDI standard driver is installed when you setup the Arduino IDE.

LCD Keypad Shield- information and pinout diagram for the LCD shield. Be aware that different makes of board have slightly different components and working voltages for the keypad resistor chain, see the model engineer discussion thread if your keypad doesn′t seem to work correctly.

Model Engine Maker Forum- thread covering the preparation of a Vertex rotary table ready for automation. This was done by John "Bogstandard" Moore in readiness for the Division Master system but the mechanics are the same.

Stepper Motor Data- This is the specification sheet and wiring diagram for a similar motor to the one I used which is no longer available (2020). Any Nema 23 size motor around the 2Nm holding torque should be quite sufficient indeed a smaller motor may suffice if you have one to hand. My original motor was 8-wire but a 4-wire motor is just as good and will avoid some soldering.

The list above is for the major parts required for the project. The suppliers are those I used and the prices were correct in January 2017. (Please note the links to some of these items seem to change weekly, apologies if they don′t work) I make no particular recommendation as to the suppliers it is just where I found the bits needed, it is likely that better/cheaper/different parts are available from myriad locations on the web. In addition to the bits listed you will need - hook-up wire, solder, nuts, bolts, spacers, cable ties, crimp connectors and sleeving. Please note that the above table doesn"t display well on a small screen, try rotating to landscape to view!

Many of the links in the Glossary and particularly the Parts List table have gone missing over time so I have tried to update them with currently available parts and information. In fact none of the parts are particularly critical and a bit of web searching will find suitable replacements. The Model Engineer Forum link is still active and one of the later additions is the replacement of the switches with a cheaply available numeric keypad. I haven"t carried out this mod but it looks quite interesting.

I have also been told that the TB6560 has an inherent quirk, I quote "It may be of interest to you to know these modules apply power to the IC in the wrong order. The manufacturers specification clearly states the 5v logic voltage should be applied and allowed to settle before the higher stepper motor voltage is applied. On these modules the 5v is derived from the (say) 24v supply which compromises the “power-up” sequence and has resulted in “blown” chips." It may therefore be prudent to avoid this and use the TB6600 driver module.

arduino rotary table for dummies factory

Arduino based IR remote control code checker. ... Novice - experience. Working on downsizing the photos so they can be added. Find and display hex code for remotes to use the code in Arduino sketches.

For makers who are interested in electronics and coding for arduino, this is the code for Plant watering automation. The code is specifically made to be a timer and to set the temperature and humidity as well. Works with the ESP 8266 electronic...

800°C - OLED SSD 1306 128x32 - module - 4 screws M3 x 10 up to M3 x 20 will work The files of this thing include the Arduino code I used; basically a copy pasted merge of the library examples from Adafruit, which come along when installing the...

800°C OLED SSD 1306 128x32 - module 4 screws M3 x 10 up to M3 x 20 will work The files of this thing include the Arduino code I used; basically a copy pasted merge of the library examples from Adafruit, which come along when installing the libraries...

It is Arduino powered Morse Code Forwarder.The whole thing is 90 mm in width, 60mm in depth, and 51mm in height.You will need these parts: 1x Arduino Nano1x 400pin breadboard2x 5mm LED (one green, one red)2x resistors (don´t know, which I...

I ask 2 things of anyone who uses this: Give credit when possible to those who help you Improve and share code to better the experience for everyone Updated code an instructions:http://blog.mkme.org/index.php/arduino-sainsmart-4wd-robot/...

a spool holder bar that stores a weight bar inside (arduino based) shows live display of remaining material in weight or length, metric or imperial. auto reduces the spool"s weight, stores 6 common spool brands.

This is a fancy table, containing all letters of the Morse code, my friends and I have to learn to pass the German amateur radio licence. You can print it, or, as we did it. engrave it inside a piece of wood with a laser. ...I also included the original...

This thing is knob for rotary switch for arduino projects **Please, If you download my model - **click on Like button**. And if you found some problem let me know in comment section please....

i have also attached the arduino code i used to run the tank via bluetooth. the android app i used is Arduino_Control_Car. i used the wiring diagram form here for the motors...

I only ask 2 things if you use the code: Give credit to others when possible Develop and share your code Update Dec 24 2013- Added basic code for an oscilloscope style display function. This is ONLY the display code and not yet added to the main...

... and less tilted. Changed arms for 5mm NeoPixels. Included small amp for louder beep and changed the knob a bit. Arduino code is included as is. On the back I made the speaker part a bit thicker and the hole for the charging port a bit larger....

For the entire project on which this is based, please visithttp://www.inmoov.fr/ Arduino FSR code This is not the best place to post this but in order to make it easy to find (A lot of InMoov discussions are taking place on this platform) I also post...

A good video to show how to wire everything up can be found here.. https://www.youtube.com/watch?v=8Kuf-MG-nYY&list=LL&index=28 The arduino code uploaded can be edited to change colors/patterns

I don"t advise to take the 5V from the ARDUINO for the HR LEDs and supply the Arduino with its small 7,5 to 9V power supply, especially if you put 3 to 4 Red Eyes boxes !!!

... and an arduino, you can feed your fish for up to 10 days while you"re out on vacation. Get the code for it Here! Unzip into your Arduino folder, and in the arduino IDE you can find the sketch under Sketches → RobotGeekSketches → Demos → FishFeeder

If wanted, a basic example of the Arduino code can be found here. If the countersinks on the face are a bit small due to elephants foot or bad supports, then heat-setting the washers that come with the WH148 units provides a really nice and...

... [1] STGC - Single Track Gray Codes: https://en.wikipedia.org/wiki/Gray_code#STGC [2] Gary Williams: 9-Bit Graycode at: https://www.experts-exchange.com/questions/23594359/"single-track-gray-code"-sought-for-encoding-360-degrees-with-9-sensors.html

... led lights. ... The Arduino code includes a loop within a loop logic. ... This code flashes each side of the crossing cross (one yellow and one blue) then flashes the red internal light 5 times in the internal loop, then repeats the original flashing.

Arduino code is in thing files Instructions I used a 2004 LCD display, 2 DS 18B20 temp sensors, 1 AC-712 5 amp sensor,1 AS-GY-712 20 amp sensor, a Moderndevices RBBB UNO clone, 2 voltage dividers made of 1-10k resistor & 1- 20k trim pot, 2 LEDS...

Arduino code is in thing files Instructions I used a 2004 LCD display, 2 DS 18B20 temp sensors, 1 AC-712 5 amp sensor,1 AS-GY-712 20 amp sensor, a Moderndevices RBBB UNO clone, 2 voltage dividers made of 1-10k resistor & 1- 20k trim pot, 2 LEDS and a...

... Filament i used: - Fillamentum PLA Extrafill Wizard’s Voodoo - Geeetech PLA Glow in the Dark Green DOWNLOAD ARDUINO CODE: https://www.printables.com/de/model/256660-rgb-double-helix-lamp-micro-usb-socket-closed-bott >> There are 4 Lists of effects.

I did dabble in updating the Arduino code as (which is a first for me) Something that wasnt obvious until i assembled the base was that you need to switch the input wires the other way round on one of the stepper controllers otherwise they are both...

Feel free to ask me questions and I will try help as much as possible, for extra help my discord is: Zicheee#3252 If you haven"t tried coding with the ESP32s I would definitely recommend it, they have Bluetooth/WiFi capabilities, along with running...

arduino rotary table for dummies factory

Bazyle makes an important point about user interfaces - they have to suit the user! Unfortunately, in addition to liking the controls, users also worry about cost, and, if its a project, how difficult it is to build. Designing good interfaces is difficult - lots of compromises and judgements.

The Liming"s solution is a straightforward Arduino build. Cheap, well supported and plenty of modules. Gary"s interface is a plug in display module with a 16x2 LCD and 5 push-buttons. This means his software has to deliver everything needed to control a rotary table with just 5 buttons. It"s done with a system of nested menus, where pressing buttons navigates a tree of options until the required setting is found. The problem with this type of interface is it"s not very intuitive, it"s hard to remember, changing settings takes a relatively long time, and, by accidentally pressing the wrong button it"s possible to get lost in the menu.

As John Stevenson mentioned he didn"t like nested menus, I developed a rotary controller using a 4x4 keypad and a separate 16x2 LCD only module. The 4x4 keypad provides 16 buttons. Now the user can type in numbers 45.55°, and the keypad is conveniently labelled "A" for Angle etc. The "*" button is go/stop. Most of the nesting is eliminated, the controls are easier to learn and remember, and it"s possible to add more functionality, for example my version can be paused if the phone rings, there"s a rewind function in case the most recent command moved the table wrongly, and the ability to type numbers allows the user to change to any table ratio, typically 1:40, 1:60, or 1:90. There"s no need to label anything, though a laminated reminder list on the back might be handy. Slightly more difficult to build, about the same price as Gary"s version, but the user still has to be slightly computer minded!

Joe"s controller is the next step. He fixes the nested menu problem with 5 nice push-buttons, a five way switch, a potentiometer and a logical well-labelled front panel. The build cost is relatively high because of the number of components used, plus there"s a need for some chassis banging to make the front-panel. Nothing beyond the skills of the chaps reading this forum.

All three approaches work, but I think most people would find Joe"s version most intuitive. It"s the most difficult and expensive to build, plus a moderate extra software hurdle to jump to get the Nucleo# working. Mine isn"t as easy to use as Joe"s, but - being simpler - it"s cheaper and more straightforward to build. Gary"s is easiest to build but the control interface is clunky. Some people can"t get on with nested menus at all - they"re just too annoying!

# Joe got me into Nucleo. It"s similar to the Arduino but considerably faster, much more memory, and extra pins. It can be programmed from the Arduino IDE by installing optional software, but not all the Arduino libraries work. (Most do.)

Another issue is it"s 3.3V logic, not 5V, and the interface is electrically more delicate - easier to damage if the wiring is cocked up. Nothing insurmountable, but a bit more to learn and understand. I tend to use Arduino Nano"s for rough simple work, and the Nucleo for anything remotely demanding. The Arduino family has some high-end Nucleo-like processors, like the M0-Pro, but I"ve found the Nucleo easier to exploit, more powerful and it"s cheaper.

arduino rotary table for dummies factory

Grove Beginner Kit for Arduino is one of the best Arduino Beginner Kit for beginners. It includes one Arduino compatible Board and 10 additional Arduino sensors and all in one-piece of PCB design. All the modules have been connected to the Seeeduino through the PCB stamp holes so no Grove cables are needed to connect. Of course, you can also take the modules out and use Grove cables to connect the modules. You can build any Arduino project you like with this Grove Beginner Kit For Arduino.

The Grove Beginner Kit has a plug and plays unboxing demo, where you first plug in the power to the board, you get the chance to experience all the sensors in one go! Use the button and rotary potentiometer to experience each sensor demo!

Arduino IDE is an integrated development environment for Arduino, which is used for single-chip microcomputer software programming, downloading, testing and so on.

Arduino connects to the PC via a USB cable. The USB driver depends on the type of USB chip you"re using on your Arduino. Note: USB chips are usually printed on the back of the development board.

After the driver installation is completed, connect Arduino to the USB port of PC with a USB cable. For Windows users: You can see it in My Computer -> Properties -> Hardware -> Device Management. A COM will appear.

For Mac OS users: You can navigate to  on the top left corner, and choose About this Mac -> System Report... -> USB. A CP2102 USB Driver should appear.

3.Click Tools -> Port to select the correct Port (the Serial Port showed in Device Manager in the previous step). In this case, COM11 is selected. For Mac OS users, it should be /dev/cu.SLAB_USBtoUART.

5.In the upper left corner of the Arduino IDE, there are two buttons, Verify and Upload. First, press the Verify button(✓) to compile. After the compilation is successful, press the upload button(→).

Note: If you installed the portable Arduino IDE from our USB Drive, you can find all the module demos in the Files -> Sketch Book, as well as all the module libraries, are pre-installed with Arduino IDE!

Digital signal: Digital signal refers to the value of the amplitude is discrete, the amplitude is limited to a finite number of values. In our controller, the digital signal has two states: LOW(0V) for 0; HIGH(5V) for 1. So sending a HIGH signal to LED can light it up.

The setup() function is called when a sketch starts. Use it to initialize variables, pin modes, start using libraries, etc. The setup() function will only run once, after each powerup or reset of the Arduino board.

After creating a setup() function, which initializes and sets the initial values, the loop() function does precisely what its name suggests, and loops consecutively, allowing your program to change and respond. Use it to actively control the Arduino board.

As of Arduino 1.0.1, it is possible to enable the internal pull-up resistors with the mode INPUT_PULLUP. Additionally, the INPUT mode explicitly disables the internal pullups.

If the pin has been configured as an OUTPUT with pinMode(), its voltage will be set to the corresponding value: 5V (or 3.3V on 3.3V boards) for HIGH, 0V (ground) for LOW.

If the pin is configured as an INPUT, digitalWrite() will enable (HIGH) or disable (LOW) the internal pullup on the input pin. It is recommended to set the pinMode() to INPUT_PULLUP to enable the internal pull-up resistor. See the Digital Pins tutorial for more information.

In the last section, we studied that button only has two states, ON/OFF state corresponding 0V and 5V, but in practice, we often counter the need for many states, not just 0V and 5V. Then you need to use Analog Signal! Rotary Potentiometer is a classic example that uses an analog signal.

You may find that we define rotatePin and ledPin in different ways. This is because Rotary Potentiometer generates an analog signal, and the LED is controlled by a digital signal.

Reads the value from the specified analog pin. Arduino boards contain a multichannel, 10-bit analog to digital converter. This means that it will map input voltages between 0 and the operating voltage(5V or 3.3V) into integer values between 0 and 1023. On an Arduino UNO, for example, this yields a resolution between readings of: 5 volts / 1024 units or, 0.0049 volts (4.9 mV) per unit.

Returns: The analog reading on the pin. Although it is limited to the resolution of the analog to digital converter (0-1023 for 10 bits or 0-4095 for 12 bits). Data type: int.

Use a Grove cable to connect LED to Seeeduino Lotus"s digital interface D4, and a Grove cable to connect the Grove Rotary Switch to analog signal interface A0.

Just like the LED module, Buzzer is also an output module, instead of lighting up it produces a beep sound. This can be used for many situations for indication purposes.Let"s learn how to generate sound using the buzzer!

In this kit, the Grove-Buzzer is a passive buzzer so that it needs an AC signal to control it. This then leads to the next question, how to generate Square Wave(AC signals) with Arduino! Well, an easy way is to use PWM.

Pulse Width Modulation, or PWM, is a technique for getting analog results with digital means. Digital control is used to create a square wave, a signal switched between on and off. This on-off pattern can simulate voltages in between full on (5 Volts) and off (0 Volts) by changing the portion of the time the signal spends on versus the time that the signal spends off. The duration of "on time" is called the pulse width. To get varying analog values, you change, or modulate, that pulse width. If you repeat this on-off pattern fast enough, the result is as if the signal is a steady voltage between 0 and 5v as a AC signal. Reference: Arduino. This PWM signal can then be used to control the passive buzzer with ease.

D3 is also inter-connected to the Grove-Temperature & Humidity Sensor, and therefore this example cannot be used with Grove-Temperature & Humidity Sensor together.

Does not constrain values to within the range, because out-of-range values are sometimes intended and useful. The constrain() function may be used either before or after this function, if limits to the ranges are desired.

Note that the "lower bounds" of either range may be larger or smaller than the "upper bounds" so the map() function may be used to reverse a range of numbers, for example

Serial Monitor is a useful tool to observe results on Arduino, it can be very useful in terms of printing results from the sensors or debugging in general. You can also send data back to the controller via the serial monitor to do certain tasks! Note: Make sure the Serial data transfer match with the code.

Sets the data rate in bits per second (baud) for serial data transmission. For communicating with Serial Monitor, make sure to use one of the baud rates listed in the menu at the bottom right corner of its screen. You can, however, specify other rates - for example, to communicate over pins 0 and 1 with a component that requires a particular baud rate.

Prints data to the serial port as human-readable ASCII text followed by a carriage return character (ASCII 13, or "\r") and a newline character (ASCII 10, or "\n"). This command takes the same forms as Serial.print().

The sound sensor can detect the sound intensity of the environment, and its output is also simulated. I"m sure you"ve all been exposed to the sound control lights, but now we can do one ourselves, and with the basics, this experiment will be easy for you. Here used Serial Plotter to visualize results.

Serial Plotter is similar to Serial Monitor, allowing you to natively graph serial data from your Arduino to your computer in real-time. This is very useful when data needs to be visualized.

The Arduino environment can be extended through the use of libraries, just like most other programming platforms. Libraries provide extra functionalities for use in sketches, i.e. working with specific hardware or manipulating data. To use a library in a sketch, select it from Sketch ->Include Library.

Install the U8g2 library: Navigate to Sketch -> Include Library -> Manage Libraries... and Search for the keyword "U8g2" in the Library Manager. It"s the u8g2 library by oliver, and click then install.

#include is used to include outside libraries in your sketch. This gives the programmer access to a large group of standard C libraries (groups of pre-made functions), and also libraries written especially for Arduino.

Some displays support a 180-degree rotation of the internal frame buffer. This hardware feature can be controlled with this procedure. Important: Redraw the complete display after changing the flip mode. Best is to clear the display first, then change the flip mode and finally redraw the content. Results will be undefined for any existing content on the screen.

Click "This PC" -> Documents -> Arduino -> libraries -> U8g2 -> src -> U8x8lib.cpp -> Sliding to 1334 line -> delete or disable this line -> save the file.

Protocol signal: the protocol signal we use is I2C, so here is a brief introduction to I2C. I2C bus just needs two wires in the transmission of information connection between the devices: the SDA (Serial Data Line) and SCL (Serial Clock Line).

The host then receives the data sent from the device, and the host terminates the receiving process. In this case. The host is responsible for generating the timing clock and terminating the data transfer.

Grove Air Pressure Sensor(BMP280) is a breakout board for Bosch BMP280 high-precision and low-power digital barometer. This module can be used to measure temperature and atmospheric pressure accurately. As the atmospheric pressure changes with altitude, it can also measure the approximate altitude of a place.

Install the Grove Barometer Sensor library: Navigate to Sketch -> Include Library -> Manage Libraries... and Search for the keyword "Grove BMP280" in the Library Manager, then install.

In this program, Barometer sensor information is sent from the sensor to Seeeduino via I2C bus and then Seeeduino printed them onto the serial monitor. Open the serial monitor to check the result.

In this program, acceleration information is sent from the sensor to Seeeduino via I2C bus and then Seeeduino printed them onto the serial monitor. Open the serial monitor to check the result.

Project description: as the name implies, this project is to make a small lamp controlled by Sound and Light. We need to use the LED module as output. Light sensor and sound sensor are used for input signals. In this way, you can achieve the function of the smart desk lamp: if the surrounding sound level is above certain pre-set value, then the LED light up, or if the surrounding light intensity is below certain value, the LED module also light up.

After this period of study, you already have a systematic understanding of Arduino and open-source hardware, so why not go further and try to make your own module or development board?

KiCad is a free software suite for electronic design automation. It facilitates the design of schematics for electronic circuits and their conversion to PCB designs. It features an integrated environment for schematic capture and PCB layout design. The programs handle Schematic Capture and PCB Layout with Gerber output. The suite runs on Windows, Linux, and macOS and is licensed under GNU GPL v3.

Seeed Studio has its very own Open Parts Library (OPL) which is a collection of over 10,000 commonly used components specifically sourced for the Seeed Fusion PCBA Service. To speed up the process of PCB design, Seeed is building the component libraries for KiCad and Eagle. When all components are sourced from Seeed’s PCBA OPL and used with the Seeed Fusion PCB Assembly (PCBA) service, the entire PCBA production time can be reduced from 20 working days to a mere 7 days.

Looking closely at the Grove Beginner Kit For Arduino you will see that there are 3 small holes between each individual module and the backplane. All you need to do is cut the PCB backplane around the module from the small holes using a pair of diagonal pliers.

arduino rotary table for dummies factory

I was searching around on eBay and came across an interesting little trunnion table, link below. I had seen similar units, but they all used belt drive reductions, which from experience will not have enough reduction, and will likely be chatter with any real cutting, not to mention the belt is exposed. This unit however uses a harmonic drive to get a 50:1 reduction, with essentially zero detectable backlash. on top of that, it actually back drives the stepper motor. Harmonic drives are also sometimes called wave strain drives or flex spline drives. Anyways, the trunnion uses a couple of nema 23 steppers, and the holding torque is fantastic, even with a cheap stepper driver. For simplicity I"m using an arduino based controller that runs grbl 1.1f, and a couple of 5-30v inductive switches, links below. The controller can be controlled by sending gcode over the rx and tx pins, aka rs-232. The trunnion unit itself is very beefy for what it is, and has what look to be waterproof seals around all the bearings, so with a bit more sealing on the motors it can probably handle coolant usage.

I use fusion 360 for all of my CAM, and one of the big draws is it can do multiaxis toolpaths. The second biggest draw, for me at least, is the post processors can be edited. The third thing being the new machine simulation, I was able to use the haas provided model for the CM-1(we have an OM2 at work, but its the same mechanically), and modeled up the trunnion and configured it to behave correctly to simulate indexing.

I modified The pre-ngc 5 axis post and configured it to work with the way I have the trunnion mounted in the machine, then I also modified the output of a and b gcodes for indexing operations appear as shown below.

Im avoiding altering the grbl firmware for now, just editing parameters, so the gcodes the haas will be sending over serial will actually be X and Z codes for the A and B axiis. Ultimately its not necessary to change the firmware to accept a and b codes, however I want to make it right so its more readable, and there"s a few other things I want to change as well.

I"ve done some reading on the Haas DPRNT command, and its very limited. Only A-Z, and +, -, can be put out. The grbl controller has special commands the use the $ symbol, for example to home, or send out positional data over serial. If I edit the firmware I can probably change that and use standard gcodes instead like g28 and g102.

The other issue is the controller doesn"t have specific pin or button to home the axiis, for now I have an offline controller, and with it I can run programs from an sd card, i have a program to home the machine using the illegal $H command lol.

Link to buy on ebay, although I got mine through aliexpress for cheaper. CNC Rotary axis Harmonic Gearbox Dividing Head 5th 4th Axis 50:1 reduction ratio | eBay

arduino rotary table for dummies factory

Welcome to my collection of Arduino projects. As a maker, techie and mechatronics engineer I’ve been using Arduino for more then 8 years. Arduino is an incredibly versatile microcontroller with limitless possibilities for developing electronics applications and prototypes.

We can use Arduino for simple tasks such as controlling LEDs and DC motors, to controlling real CNC machines and robots. That’s right, in the following list I will share my Arduino experience with you. You will find Arduino projects for beginners and more advanced projects for Arduino enthusiast.

Even if you are just getting started with Arduino, you don’t have to worry about that. Each of the following DIY Arduino projects is covered with detailed step by step tutorial on how to do it yourself and includes circuit schematics, source codes and videos.

Using the comments section below, you can also suggest your ideas, as well as discuss anything related to these Arduino projects. I will continuously update this article with all new stuff that I make. Last update: February 2022.

As an Arduino enthusiast, I found making robots with Arduino to be most fun for me. There is so much to learn from them as a maker and an engineer. So, here are my Arduino projects related to robotics so you can learn too.

When it comes to automated manufacturing, robot arms play big role with so many applications. They are often used for welding, assembling, packing, painting, pick and place tasks and much more. This Arduino project is actually a robotic arm made out of 3D printed parts, servo motors joints and controlled using an Arduino Nano. What’s even cooler we can control the robot arm wirelessly via a smartphone and a custom build Android application.

The robot arm has 5 degrees of freedom, so we need 5 servo motors, plus an additional servo for the gripper mechanism. For the communication with the smartphone we use the HC-05 Bluetooth module.

The following project is one of the coolest Arduino project in this list. It’s an Arduino robot car which instead of normal wheels, it employs omnidirectional wheels or mecanum wheels which enable to robot to move in any direction.

The wheels are attached on four stepper motors which are individually control. By rotating the wheels in certain pattern, they exert diagonal forces due the diagonally positioned rollers on the circumference of the wheels, and so they can move in any direction. The robot car can be remotely controlled either vie Bluetooth communication and an custom build Android application. Also, we can control it using an DIY RC transmitter with the help of the NRF24L01 transceiver module.

Here’s an upgraded version of the previous mecanum wheels robot project. On top of the platform I added the DIY Arduino Robot Arm project mentioned above and now they can work together.

As the robot uses stepper motors for the wheels and servo motors for the robot arm, we can precisely control them using the custom build Android application. What’s even cooler, we can record the movements of the robot and then the robot can automatically repeat them.

Of course, as for any of my Arduino projects, the Arduino code, the custom build Android application, as well as the 3D model files can be found and downloaded from the particular project article.

SCARA robot or Selective Compliance Articulated Robot Arm is the most common and suitable option, when it comes to pick and place and small assembly applications, which require moving a part from point A to point B.

This Arduino based SCARA robot is a step-up big compared to the previous projects in every aspect. It has a better and more robust design with precisely controlled stepper motors and custom build GUI for controlling it.

As a controller it has an Arduino UNO board, combined with a CNC shield and four A4988 stepper drivers. It has 4 DOF, driven by four NEMA 17 stepper motors.

This and extension of the previous project or I converted my 3D Printed SCARA robot to work as a laser engraver robot. Instead of the gripper mechanism, here we are using a Laser module for engraving.

For controlling the robot we are using an Arduino Mega board in combination with a RAMPs board. This a popular combination used for 3D printing and it can be used for laser engraving machines as well. As for a firmware, we are using the Marlin 3D Printer firmware and the Repetier control software.

The rover features a rocker-bogie suspension which allows the rover to run smoothly on uneven terrain, just like the real rover. It has six independently controlled DC motors for driving and four servos for steering, and it’s controlled using an Arduino MEGA board. There’s also an FPV camera located in the cameras unit of the rover which can by used for controlling the rover remotely. The remote control is done with the help of a cheap commercial RC transmitter and receiver.

Making biologically inspired robots is very popular among engineering students. This Arduino project is all about it, we will build a hexapod robot which features six legs, a tail or abdomen, a head, antennas, mandibles and even functional eyes. All of this makes the robot look like an ant.

Each leg have three joints, and for each joint we need a servo motor. That means that we need total of 18 servos for this project, and additionally 3 servos for the head movements and 1 servo for the tail. The brain of the robot is an Arduino Mega. We need MEGA because it’s the only board that can control more than 12 servos using the Servo library.

I also designed a custom PCB which acts as an Arduino Mega Shield so we can easily attach all servo connects. We can control the ant robot via Bluetooth and a smartphone, or radio communication. The ant also has built-in ultrasonic sensor in the head. With that it can detect objects in front, and it can even strike if the object is present if front of it.

The following projects show how capable Arduino is. A CNC or Computer Numerical Control is an automated control of machines, like mills, lathes, plasma cutters, 3D printers and etc. So, using the Arduino as a controller we are actually able to build any of these CNC machines.

For the project my goal was to build the simplest CNC machine with minimum parts possible and by using just a single power tool. On top of that, I wanted to use common materials or avoid 3D printers so I used MDF board for building the base frame.

The CNC machine is composed of just two linear rails which are secured to a base frame made of 8mm MDF board. For controlling it we are using an Arduino UNO board in combination with a CNC shield and two DRV8825 stepper drivers. As a tool it has an laser module attached so this machine is actually a CNC laser engraver.

The idea for this Arduino project was similar to the previous one, to build a CNC machine using minimum parts possible. Here I used 3D several printed parts, and just two MGN15H linear rails for the main construction of the machine.

Building your own CNC machine might seem like a big challenge for many of you, but the following Arduino CNC Machine project shows that building a CNC machine is actually not that hard.

Controlling stepper motors using Arduino is without a doubt one of most satisfying thing for an Arduino enthusiast. There so many machines based on this motors, like CNC machines, 3D printers, various automation machines etc. This Arduino project is all about that. It describes how you can build such a machine. It’s a machine for bending wire, where with the help of stepper motors we can precisely bend wire and make various shapes and forms out of it.

The machine features three stepper motors. With the first stepper we feed the wire to the bending mechanism. Here we have another stepper motor used for the bending the wire at the right angle. There’s also another stepper, for controlling the Z-axis. This stepper enables the machine to create three dimensional shapes. With this project we can also see how useful 3D printers are for Arduino projects of this type or for prototyping.

Many Arduino projects that I make require wireless control and that’s why I build this Arduino based wireless radio controller. With this RC transmitter I can wirelessly control pretty much with a range up to 700m in open space. It features 14 channels, 6 of which are analog and 8 digital inputs.

The brain of this Arduino project is an Arduino Pro Mini board which is the smallest Arduino board. The radio communication is based on the NRF24L01 module, it has 2 joysticks, 2 potentiometers and 4 momentary push buttons. Also an accelerometer and gyro module which can be used for controlling things with just moving around or tilting the controller. I mounted all electronic components on a custom design PCB and made a cover out of transparent acrylic.

This is a follow up project of the above one. Just like DIY RC Transmitter, this DIY Arduino RC Receiver can be used for many application. We can easily pair the two projects together and control anything wirelessly. Among others, I made an example of controlling a commercial RC car model using these DIY transmitter and receiver.

The custom PCB that I made uses the same NRF24L01 module for the radio communication. The controller is an Arduino Pro Mini and it features input/ output 9 channels.

The following Arduino project is a great example of utilizing the DIY RC transmitter from above. It’s a 3D printed hovercraft which I entirely designed on my own, and of course, the 3D printing files are available for downloading. The hovercraft uses two brushless motors, one for creating an air cushion for the lift, and the other for generating thrust or moving forward.

For the wireless control we are using the NRF24L01 module, which accepts the data coming from the RC transmitter. Then using the Arduino and two ESCs (Electronic Speed Controler) we control the BLDC motors speed. On the back side of the hovercraft there is also a servo for controlling the rudders, or for controlling the steering. I must say that driving this DIY hovercraft is so fun.

Anyone who had a chance of playing around with some RC airplanes knows how cool and fun it is. It’s even cooler and more satisfying if you build the RC airplane on your own. The following project steps the satisfaction up even further, because here I will show you how to build your own RC airplane which is 100% DIY build. Also, we have a 100% DIY radio control system based on the Arduino.

The airplane is entirely made out of Styrofoam and what’s cooler, the shapes are made with the help of my DIY Arduino CNC Foam Cutting Machine, a project already mention above. The radio communication is based on the NRF24L01 transceiver modules. For that purpose, I used my DIY Arduino RC Transmitter and DIY Arduino RC Receiver.

You can choose one of the three different methods of wireless control explained in this project, or that’s the HC-05 Blueooth module, the NRF24L01 transceiver module and theHC-12 long range wireless module. Additionally you can learn how to make your own Android app for controlling the Arduino robot car.

This Arduino project idea is rather practical because it features indoor and outdoor temperature and humidity measurement. It is based on the DHT11/ DHT22 sensor, the NRF24L01 transceiver module for the wireless communication and theDS3231 RTC. For the display we can either use 16×2 character LCD or a 3.2 inches TFT touch screen.

Camera slider are great for capturing cinematic shots, and having pan and tilt system on top of it even further increase the possibility to capture better shots.  In this project I will show you how you can build your own one, which costs way less then one found in the stores and still you can get great and super-smooth shots.

The slider has three NEMA 17 stepper motors controlled via the A4988 stepper drivers and the Arduino Nano board. Using a joystick we can control the pan and tilt movements and using a potentiometer we can control the sliding movement. With this DIY camera slider we can use the Set button to set two different IN and OUT points. Then the camera can automatically move from one to the other point.

If you are interested in building something more complex with Arduino then this project is the one for you. Although complex, you could easily recreate it as there is a detailed step by step explanation on how everything works, including circuit schematics and source codes.

The structure of the machine is made out of MDF. For discharging the items I used continuous rotation servo motors, while for the carrier system I used two NEMA17 stepper motors. For detecting the coins the machine uses an infrared proximity sensor.

The following Arduino project is a simple gimbal or a self-stabilizing platform. It can be used for keeping objects or the top platform level. The project is rather simple with just several electronic components.

The combination of DC motors and Arduino is always fun, and so is this project. Here we will build our own robot car from scratch. The car will be powered with Li-ion batteries and two 12V DC motors, and controlled using the L298N driver and an analog Joystick.

For this project you just need two components along with an Arduino board, and that’s an ultrasonic sensor and small servo motor. The range of the radar can be adjusted to up to 4 meters with 180 degrees rotation.

The project also includes and accelerometer which is used for the digital spirit level function or for measuring angle. The results are displayed on 16×2 LCD and all components are attached on a custom design PCB.

Sorting out objects or products by their color has an important real world application. These types of machines are often used for sorting fruits, seeds, plastics etc. The working concept of these machines is rather simple. All you need is a color detecting sensor and of course a system that feeds the object to the sensor and then sort it out.

In this project we will learn how to use a color detecting sensor along with the Arduino. We are going to be sorting out colored skittles but you can use the same sensor and method for sorting out anything else.

RFID technology has wide range of applications and access control is one of them. We often encounter this in hotels for accessing our room or at work for checking in or accessing restricted areas.

In this project we will learn how to use the Arduino to make an RFID controlled door lock. The system consists of an MFRC522 RFID reader and RFID tags/ cards that are based on the MIFARE protocol.

If you ever thought of making your own security system then this project is a great starting point. Here we will utilize an ultrasonic sensor for detecting movement.

If a human or object passes in front of the sensor, the alarm will be activated. For deactivating the alarm you will have to enter a password using a keypad.

This game project is based on the popular Flappy Bird game for smartphones. Using the touch screen we control the bird while trying to avoid the pillars.

For this project we need a 3.2 inches TFT Touch screen, an TFT Mega shield adapter and an Arduino Mega board. The code is a bit longer but everything is explained in details.

The code behind this project is a bit more complex with around 550 lines but everything is explained in details with comments for each lines. There is also a detailed video explanation for it.

At first glance this table looks like a normal coffee table but once you turn on the power on it gets to a whole new level. The table has 45 sections which can glow in any color we want, plus it reacts on objects placed on top of it.

The heart of the table is an Arduino which controls the 45  WS2812B Addressable LEDs. The objects on top of the table are detected using infrared proximity sensors. What’s even cooler it has built-in Bluetooth module which enables interaction with a smartphone for selecting the LEDs colors.

In this Arduino project we are building an Air Quality Monitor which can measure several important air quality parameters such as PM2.5, CO2, VOC, Ozone, as well as temperature and humidity. I designed a custom PCB on which we can easily attach the sensors we need and show the results on a 2.8 inches touch display. The device can also keep track of the sensors values from the last 24 hours.

The following section of this article contains Arduino projects ideas based on my detailed tutorials on various sensors and modules, as well as your suggestions from the comments section below.

We can use NEMA 17 or 23 stepper motors in combination with these drivers which provide high speed reduction ratios. As for controller we could use an Arduino Uno or Arduino MEGA board.

Controlling your home power outlets via a smartphone is the first step in home automation. You can easily make your own Arduino controlled power outlets utilizing the knowledge you can ge