Introduction: Arduino and 3d Printing (ARDUI3D) for DUMMIES
Technology: Welcome to the Arduino and 3D printing for DUMMIES.... With the developments in the electronics and manufacturing areas in the past few years, we are left with some great combination of technology that could combine and create a wonderful space for exploration and innovation. The Arduino provides a basic environment for creation of electronic gadgets and 3D printing in combination with any CAD program provides a way for creating some great custom objects that we could use for casing and protecting your Arduino innovations (Ardui3d, as I call it). Here I have created a fusion of concepts that brings together these different technologies into one common space ! More importantly, this is a platform for learning and fun and with all your feedback, I hope to realize the dream of integrating and implementing the concept of "ARDUI3D".
The topics here will cover starting from the basic Arduino, the components, the basics of 3D geometry creation and 3D printing. The images are also provided to support your learning and so have a happy learning session and please feel free to post your comments if you have any questions / suggestions / feedback.
Step 1: Arduino and 3d Printing for DUMMIES
This is a foreword and introduction to to Arduino. This tutorial is meant for beginners like me who are still in their high school and have of lots of school work but due to pure passion to innovate and invent, have the drive to learn an open source tool that could help make a mark someday in the world of electronics. The only pre requisite to this course is you should be ready to dedicate quality time to learn some very interesting and exciting hardware electronics that has an open minded interface and that is willing to incorporate your ideas! To put this in simple words, Arduino is a gift to technologists of all ages in the world of innovative minds that helps nurture and develop young intellectuals into independent thinkers. With its casual beginning in the mid 2005 in a place in Italy, its popularity has grown tremendously in high schools, colleges and industry, where several new product concepts are constantly evaluated in a cost effective manner.
The Arduino system includes a microprocessor that plays a central role in defining the control and execution of interconnected electronic systems much like a central nervous system in a human body. It introduces programming as an art to newcomers who have little or no background in software development, so that new users could try out implementing their ideas step by step. More so, it offers a wide range of flexibility to its users by means of providing an open source hardware interface. Being an open source, Arduino allows its user community to define their own rules and procedures that are straight forward and easy to use. When I first started to learn, I was exposed to sea of material on the subject but a good place always to start is the place was ...... while there are lots of approaches to learning, this tutorial has been put together purely based on my experience in this subject based on own understanding, learning and implementation on some simple to moderately complex projects. So, first we shall begin with our first lesson on the basic components and see what is a minimal set of components required to call this your first Arduino project and also where could you possibly source the components needed to build your first Arduino project. A step by step implementation procedure with explanation is provided for your reference . I also provide a quiz to test your basic understanding and the answers for the quiz are also provided for your reference. If you still have questions, post the questions in the comment box below and I will try and answer your query as soon as I can. There are several Arduino "Gurus" who participate actively in Instructables forum and I gained from such interactions as well.
Step 2: Why Arduino and Downloading the Arduino IDE
Prior to starting anything , we will start with a small note on why Arduino? Why should we use this? Here we summarize some less technical aspects that will help in driving the point home. Take for example that you have been asked to create a circuit for making an LED blink . For this the Arduino framework provides all the basic ingredients such as ...... and creating this would take less than 30 minutes. If we were to achieve this starting from scratch by preparing the circuit board, resistors, soldering, etc., and make this work would perhaps take a couple of days and still may have technical problems. The basic interface of Arduino system is provided to us as a platform where we specify in terms of code or language what needs to be done in a specific scenario. Whether the LED should blink or a wheel should rotate in a toy car or some other action to be taken. All these actions could be specified as a list of procedures that are executed at run time and the logic is transferred to the Arduino system. We will learn more on the how later. But some quick learning till this point is that we use Arduino uno to multiple advantages such as (a) already the base circuit us provided to us (b) we are not starting from a clean slate (c) this is very cost effective. For now, we will stop giving more reasons and as we go through our lessons, the reasons for choosing Arduino will become more obvious.
The Arduino development system starts with the installation of the software on your computer. To help you with this installation, there are several resources available. The best place is http://arduino.cc/en/main/software, where you could download the software by following the simple instructions in this installation page. For example, I have included a demo video of downloading the Mac version and installation. Windows users follow a similar procedure.
Step 3: Things You Need
Once the installation is complete, you should test the installation, but prior to that you require some inventory as listed below with a short description.
There are plenty of sources from where you could procure these items like sparkfun or element14.
The things that you will need for this project are :
A laptop or a desktop
Arduino USB cable
Jumper wire's (not really necessary , this is used when you make your own motor shield)
Breadboard's (if you want to create your own motor shield)
Cheap lithium ion battery or any battery should be fine (if you are using AA or AAA batteries you will be needing a battery holder)
Acrylic (to teach you how to make a robot base)
Step 4: About the Basic Components ( BRIEF Defenitions )
The bread board -
A breadboard (or protoboard) is a construction base for prototyping of electronics. Originally it was literally a bread board, a polished piece of wood used for slicing bread.
a length of such material, consisting either of a single filament or of several filaments woven or twisted together and usually insulated with a dielectric material, used as a conductor of electricity.
A resistor is a passive two-terminal electrical component that implements electrical resistance as a circuit element.
A microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals.
An electric battery is a device consisting of one or more electrochemical cells that convert stored chemical energy into electrical energy.
DC Motor or Direct Current Motor performs motoring action
is a device that detects events or changes in quantities and provides a corresponding output, generally as an electrical or optical signal; for example, a thermocouple converts temperature to an output voltage.
A light-emitting diode (LED) is a two-lead semiconductor light source. It is a basic pn-junction diode, which emits light when activated.
A robot is an automatic mechanical device often resembling a human
or animal. Modern robots are usually an electro-mechanical machine guided by a computer program or electronic circuitry
Step 5: First Project : Making an LED Blink ( Hardware Part )
So you might be wondering why i thought of such a simple project! Well it is simple but full of fun. This helps you understand how the arduino works. Arduino already has an inbuilt LED (yellow in colour ) , but it is really tiny and is not so bright , so prefer to use another LED for better visualization. Firstly an LED has two legs, the longer one is the anode (positive) and the shorter one is called cathode (negative) . In our project the longer leg ( anode ) goes into pin 13 and the shorter leg goes into ground (GND) next to pin 13 . Connect your arduino to your laptop or desktop using the USB cable provided with the arduino. when the arduino is connected you should see a green light on the arduino board. this light indicates that the arduino is switched on an is working.
Step 6: First Project : Making an LED Blink (software Part )
So, once you have done the hardware part , below are steps we need to take to get to the finish line of your first project. Well, we are almost there !
Step 1: Open the Arduino IDE in your laptop or desktop
Step 2: From the Arduino "File" menu, Choose "Examples" --->> "Basics" --->> "Blink"
Step 3: Click the "Upload" button "--->>" on the Arduino window top left hand corner.
Step 6: Choose the correct serial port and the type of Arduino you use. Here we are using an Arduino UNO
Step 7: You should be able to see the "LED" blink . We have now successfully completed your Arduino installation and your first project too. Congrats.
Any questions till this point, please feel free to raise a flag using the comment box. Else, you are all set to move to the next step.
Step 7: Our Second Project : Working With Motors
Our second project is learning how to control motors .there are many types of motors ranging form spped to power to size. over here we willl be using a motor in a gearbox . In case you don't have a gear box, you could do this with a simple motor that does not consume a lot of power. For this you need an arduino motor shield or any other motor shield. I use a motor shield that i bought off the internet that is just working fine. You can also make your own motorshield too. This done by using a bread board, a lot of jumper wires, an IC and in the end you may have some problems so i suggest you use a motorshield instead. There were some problems with my motor shield as they did not fit quite well with the arduino so i had to get the arduino manufactured by the motorshield company. this motor shield fits right on op of the arduino upside down but the original motorshield from arduino.cc the the board will be facing upwards. So go grab yourse; lf a motorshield from the original website or any other branded website . make sure that it fits the arduino . if you dont want to buy a motor shield but to build one yourself and please see below the list of parts you need.
We need to reuse and not reinvent....there are many tutorials in youtube and in instructables on how to make a motor shield so you can go refer to that. maybe will make an instructable on ho to make a motor shields and add a link later.
for those who are creating their own shield read on...
for this i will not be using any jumper wires as it is already connected to the arduino . i just need to plug and write a code and upload the same
1. connect your motors into the slots provided in the shield
2. connect the batteries to the motorshield
3. I have provided a code in the pictures above and you load and compile it inside the arduino IDE. The pins may be different because i used a different motor shield.
i had reused the same motor shield in an old instructable of mine
Step 8: Intro to 3d Printing Parts
3D printing is a process of making three dimensional objects from an electronic file. The creation of a 3D printed object is achieved using additive processes. In an additive process an object is created by laying down successive layers of material until the entire object is created. 3D printing is the future for all our product development needs and this is being integrated with most CAD packages. Companies such as Makerbot have already launched famous 3D printers that could create three dimensional simple objects. Arduino is a portable technology and integration of 3D printing of Arduino components would reduce the development time. While not all components may be 3D printed, most of the enclosures, custom made parts can be printed. For example, Blender is a 3D object modeler where we could generate the model and the same could be 3D printed for implementation in an Arduino environment. If you are working on a project and need your own custom parts , you may 3d print them using this concept and the object could be generated using any 3d CAD program like Blender or Auto-CAD .
Step 9: Modelling and 3d Printing Your Parts
I have the blender software and i know how to model objects but sadly i do not have a 3d printer. I know some websites which tell you how to 3d print objects and make good use of them. Its not necessary for you to use blender , you can use other softwares also and 3d print your custom parts.
How to download Blender:
Go to Google.com
In the search bar provided type in "blender 3d"
Chose the first result that says blender.com
Click the download icon
the videos I went through:
Step 10: Great Tutorials That Helped Me (Arduino and Blender)
Well there are many places where you can learn Arduino from like here in instructables and other sites too . The tutorials that really helped me are as follows :
The sources for all the videos is acknowledged.
Step 11: What Will I Be Doing Next ?
Well i will be adding more content to this tutorial like Sensors , Making a basic robot , Programming basics etc. Please leave any suggestions or any links you found helpful so that i can put it up for others to see and this is only my second Instructable so if there is any mistake or anything else please do feel free to comment on it. If you found this Instructable helpful please tell me so that I can make more Instructables and yeah so see you next time bye!!!.
Compilation of these notes was made possible through several sources including Instructables site, Blender web site, you tube and Arduino home pages. I would also like to thank all the initiatives from the Instructables team thus far and that remains a key motivating factor in creating this Instructable. I would like to thank my family - my parents and my sister for their support and encouragement.
Participated in the
Participated in the
Participated in the
4 years ago on Step 6
I got an error message
Sketch uses 928 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe1
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x6e
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x70
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x7c
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x04
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x6e
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x36
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x48
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x35
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x06
An error occurred while uploading the sketch
Question 4 years ago on Introduction
I got this message during Step 6: First Project : Making an LED Blink (software Part )avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe1
8 years ago
Yes sghosh21 he is the best for the basics of Arduino and he explains the concepts really well in his tutorials. For learning blender , I would suggest CG cookie . That is where I learn from. It is 18$ a month and they provide awesome tutorials on blender , unity(which I will be talking about later in another instructable), modo etc. I will be making an instructable on sensors and how to make a simple robot.
8 years ago on Step 10
Jeremy Blum is one of the best i believe
8 years ago on Introduction
Thanks for the advice Sheamus , and thank you for your comments!!!
8 years ago
Thanks bhai.... Really came to know a lot of things.
8 years ago
8 years ago on Introduction
I'm no expert in 3d printing (in the least), but I have have thoughts on what you are doing. The first thing that I think that you really should be looking at the motor type that you use. dc motors are really great for a lot of things, but in this case I'd advise that you use stepper motors. Stepper motors are awesome for two reasons. First, they provide a ton of torque, which means that there is no need for a gear box, and second, they are extremely precise.
I think that you are on the right track using the arduino uno, I really like it because of its small form factor, and overall awesomeness, but some people have had a lot of success with the mega as well. the shield that I'd use s called the gsheild, (https://www.inventables.com/technologies/gshield) and its what my robotics team uses on the shapeoko2 that we've had the privilege of building and using. It's made for use with stepper motors, and although the price is pretty steep, I really like it
. You're also going to need to find a gcode sender and reciever if you want to be able to make thngs w/o having to handcode it in thearduino IDE (which would massively suck) for that I'd reccomend using GRBL, (https://github.com/grbl/grbl ) and any one of its controlers (they even have a few that work on OSX (http://zapmaker.org/projects/grbl-controller-3-0/))
Finally, you're going to need both CAD and CAM software. I'd suggest the use of Autodesk Inventor (Which gives out free student copies, although it only runs on windows) the link to the student download is here (http://www.autodesk.com/education/free-software/in... For a CAM solution, I'd have to point you towards something like HSM Express Inventor, which is a free embedded CAM Solution that works decently.
There s some stuff that I'd watch out for, especially with the main construction of the 3D structure etc, but other than that I can't think of anything else to say