Building Your Own Drones: A Beginners’ Guide to Drones, UAVs, and ROVs

Absolutely no experience needed!
Build your drone, step-by-step, with this full-color, hands-on guide!

You’ve heard about drones. You’ve seen drones. Now, build your own—it’s a lot easier than you think!

Drones are the newest frontier for the DIY/maker community, and you don’t need to be a technical expert to build one. John Baichtal, the #1 author of hardware hacking books for beginners, will teach you all the skills you need.

First, Baichtal shows you the amazing drones others have built. Then, he walks you through several complete projects: quadcopters, UAVs, ROVs, and more. Not ready to start from scratch? No problem: Baichtal helps you choose from today’s best new kits.

Hundreds of full-color step-by-step photos teach you every step, every skill. When you’re ready for more advanced concepts, Baichtal explains them in plain English.

  • Discover what drones are and why they’re so exciting
  • Explore today’s most imaginative projects, from 3D-printed mini quadcopters to floating robot armies
  • Compare kits, from $200 up: Parallax ELEV-8, DJI Phantom 2 Vision+, OpenROV, Actobotics Nomad, Brooklyn Aerodrome Flack, and more
  • Create your own practical Drone Builder’s Workbench
  • Build complete rocket, blimp, waterborne, and automotive drones
  • Construct both fully autonomous and radio-controlled drones
  • Choose and assemble your chassis (airframe), motor, props, flight control, power system, accessories, and software
  • Integrate Arduino to make radio-controlled drones operate autonomously
  • Teach a drone to navigate via RFID tags
  • Learn all the basic electronics and programming you’ll need

Source and Link to Buy Book:



The objective of FUNDAMENTALS OF MECHATRONICS is to cover both hardware and software aspects of mechatronics systems in a single text, giving a complete treatment to the subject matter. The text focuses on application considerations and relevant practical issues that arise in the selection and design of mechatronics components and systems. The text uses several programming languages to illustrate the key topics. Different programming platforms are presented to give instructors the choice to select the programming language most suited to their course objectives. A separate laboratory book, with additional exercises is provided to give guided hands-on experience with many of the topics covered in the text.

Author: Musa Jouaneh.

How to Build Your First Robot With Raspberry Pi

If you are a beginner to Raspberry Pi and were looking for a simple hardware project, then look no further. This tutorial will show you to develop a python based robot which avoids obstacles and navigates freely.
Obstacle avoiding robots are fairly common and easy to make. Here, you can use this project to add object avoidance functionality to your robot. Or simply use it to start messing around with python and the hardware peripherals on Raspberry Pi. This system uses IR modules to detect objects, but we will get to the technical side later. So, if you have a raspberry pi and want to build something based on hardware using it, just scroll down and have fun :). Check out the video at the bottom to see how the raspberry pi robot works. And if you are a true beginner, you can always use our free eBook on Raspberry Pi and Arduino to get started from step 0. You can also read this tutorial on Basic Linux Commands to familiarize yourself with the Raspberry Pi terminal.

Required Materials

  1. Raspberry Pi B/B+ or 2 and basic peripherals: SD card, keyboard, mouse, etc.
  2. IR sensor modules.
  3. Geared DC motors.
  4. L293D driver board.
  5. Robot chassis and wheels.
  6. Caster wheel.
  7. Breadboard and double side tape.
  8. Male to male/Female to male jumpers.
  9. 9V Battery and connectors.
  10. Push button and 220R resistor.

Raspberry Pi robot components

How Does it Work?

The entire working of this robot is really simple, nothing to sweat about 🙂 The whole system avoids colliding into obstacles thanks to its onboard sensors. Here, this robot uses two IR sensor modules which can detect objects within a range of 5-6cm. This sensor outputs a digital LOW (0V) signal when there is an object within its range. And outputs a digital HIGH (5V) signal otherwise.

IR sensor on the raspberry pi robot

So how do these IR sensors work? IR stands for Infra Red, which is a wavelength of light not visible to the human eye (but can be seen through our smartphone cameras!). These modules consist of a pair of receiver and transmitter IR LEDs. When an object gets in front of the IR sensor, the surface of the object reflects a part of the IR light back to the receiver. Thus, the receiver then outputs a LOW signal notifying that an object is in front of the sensor.

These sensors are wired to the GPIO input pins of the raspberry pi. The pi then using a python script checks whether the GPIO pins connected to the IR sensor modules goes low. If it does go low, then it commands the DC motors to move in the reverse direction first and then turn. Moreover, this robot is initially activated when we push the button on the breadboard, after which the raspberry pi commands the DC motors to move forward via the L293D driver board. You can check out the demo video at the bottom of this page to see how this robot works.

 Connecting the IR Sensors for the Raspberry Pi Robot

Raspberry Pi GPIO pin out


First, you need to turn ON your raspberry pi after connecting it to the monitor, keyboard, etc. Then we need to check the IR sensor modules. To do this, connect the IR modules to your raspberry pi as shown in the following diagram. Power the sensor by providing 5V (+ pin), GND (- pin) from the raspberry pi. And connect the B pin on the sensors to raspberry pi’s GPIO pins 3 and 16. You can check out the raspberry pi GPIO pin out as per the pin diagram here. We are using the GPIO.BOARD configuration, which means the pins are numbered based on their normal order on the board (1,2,3,..). Read the pin configuration on the sensor module and connect correspondingly.

Connection diagram- Raspberry Pi IR sensor

Next, you need to copy and paste the following code and save it as a python file-

import RPi.GPIO as GPIO
import time
GPIO.setup(3, GPIO.IN)                            #Right sensor connection
GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_UP) #Left sensor connection
while True:
          i=GPIO.input(3)                         #Reading output of right IR sensor
          j=GPIO.input(16)                        #Reading output of left IR sensor
          if i==0:                                #Right IR sensor detects an object
               print "Obstacle detected on Left",i
          elif j==0:                              #Left IR sensor detects an object
               print "Obstacle detected on Right",j

After saving this file and running it: “sudo python”. You will notice that when you block the sensor with your hand, following output gets printed on the screen:

IR sensor output from python

Connecting the Motors with L293D

After testing the IR sensor modules, next you need to connect and test the L293D module and the motors. Power the L293D module by connecting the + and – pins of the board to the 9V battery. Also, connect the “-” of the board to the GND of raspberry pi. You can refer to the connection diagram here for completing the connections:

Raspberry Pi robot connection diagram

Next, you have to provide the inputs to the board. Four output GPIO pins from the raspberry pi control the direction of rotation of the two motors. The two terminals of the motors are then connected to the 4 output terminals of the board. The motors then, based on the command from the raspberry pi are powered by the 9V battery. The logic for controlling the motors from the raspberry pi is as given below:

L293D Raspberry Pi control logic


Here, HIGH means a 5V signal or digital 1 and LOW is 0V signal or digital 0. Eg: GPIO.output(5,1), this command sends a HIGH signal (digital 1) to pin no 5 on the raspberry pi. Thus each motor’s direction can be controlled by writing HIGH/LOW signals through two GPIO pins from the raspberry pi.

Next, you need to wire a push button to the raspberry pi as shown in the above connection diagram. This button is used to activate and deactivate the robot. After wiring the robot, you need to attach the wheels. Use double sided tape to fix the parts together on the robot chassis. After which, you will have a setup that almost looks like this:

Raspberry Pi robot assembly


After connecting the motors you need to check them. Use the code below to check the motors and the L293D. Make sure you have powered the driver board (L293D) and given the connections as per the above diagram. After that, copy the code below and save it as a python file: on your raspberry pi. Then run it using the command: sudo python You will notice that both the motors rotate in one direction first and then after a second rotates in the opposite direction. This process repeats until you interrupt it.

import RPi.GPIO as GPIO
import time
GPIO.setup(5,GPIO.OUT)   #Left motor input A
GPIO.setup(7,GPIO.OUT)   #Left motor input B
GPIO.setup(11,GPIO.OUT)  #Right motor input A
GPIO.setup(13,GPIO.OUT)  #Right motor input B

while True:
        print "Rotating both motors in clockwise direction"
        time.sleep(1)     #One second delay

        print "Rotating both motors in anticlockwise direction"
        time.sleep(1)     #One second delay

Uploading the Code for the Raspberry Pi Robot

After completing all the hardware setup, you need to download and copy this python program to your Raspberry Pi. This program called:, when executed using this command: sudo python, will bring life to your robot and it will begin moving when you press the push button. And you will notice how it avoids objects in front of its sensors and navigates freely.

This program is really simple. The robot is activated when the user presses the push button, after that the robot moves forward and checks whether any obstacles show up in front of it. Whenever your IR modules detect an object within 5cm in front of it, it tells the raspberry pi that an object is near it (sending digital LOW signals). Then the pi sends commands to the motor, making it move in the reverse direction and then turning right/left and again the robot moves forward by dodging the object. The robot gets deactivated when we press the push button again.

After copying the code to your raspberry pi, you can make it truly wireless by using a smartphone battery bank to power it. And a USB wifi dongle to communicate with it. You can extend the display of your laptop via VNC server and a LAN cable. Or use SSH to connect remotely to your Pi from the terminal wirelessly. And finally, check out the video showing the raspberry pi robot in action:



Mechatronics is a multidisciplinary field of science that includes a combination of mechanical engineering, electronics, computer engineering, telecommunications engineering, systems engineering and control engineering.[1][2] As technology advances, the subfields of engineering multiply and adapt. Mechatronics’ aim is a design process that unifies these subfields. Originally, mechatronics just included the combination of mechanics and electronics, therefore the word is a combination of mechanics and electronics; however, as technical systems have become more and more complex the definition has been broadened to include more technical areas.

The word “mechatronics” originated in Japanese-English and was created by Tetsuro Mori, an engineer of Yaskawa Electric Corporation. The word “mechatronics” was registered as trademark by the company in Japan with the registration number of “46-32714” in 1971. However, afterward the company released the right of using the word to public, and the word “mechatronics” spread to the rest of the world. Nowadays, the word is translated in each language and the word is considered as an essential term for industry.

French standard NF E 01-010 gives the following definition: “approach aiming at the synergistic integration of mechanics, electronics, control theory, and computer science within product design and manufacturing, in order to improve and/or optimize its functionality”.

Many people treat “mechatronics” as a modern buzzword synonymous with “electromechanical engineering“.[3][4]

A mechatronics engineer unites the principles of mechanics, electronics, and computing to generate a simpler, more economical and reliable system. The term “mechatronics” was coined by Tetsuro Mori, the senior engineer of the Japanese company Yaskawa in 1969. An industrial robot is a prime example of a mechatronics system; it includes aspects of electronics, mechanics, and computing to do its day-to-day jobs.

Engineering cybernetics deals with the question of control engineering of mechatronic systems. It is used to control or regulate such a system (see control theory). Through collaboration, the mechatronic modules perform the production goals and inherit flexible and agile manufacturing properties in the production scheme. Modern production equipment consists of mechatronic modules that are integrated according to a control architecture. The most known architectures involve hierarchy, polyarchy, heterarchy, and hybrid. The methods for achieving a technical effect are described by control algorithms, which might or might not utilize formal methods in their design. Hybrid systems important to mechatronics include production systems, synergy drives, planetary exploration rovers, automotive subsystems such as anti-lock braking systems and spin-assist, and everyday equipment such as autofocus cameras, video, hard disks, and CD players.

Course structure

Mechatronics students take courses in various fields:


Physical implementations

Mechanical modeling calls for modeling and simulating physical complex phenomenon in the scope of a multi-scale and multi-physical approach. This implies to implement and to manage modeling and optimization methods and tools, which are integrated in a systemic approach. The specialty is aimed at students in mechanics who want to open their mind to systems engineering, and able to integrate different physics or technologies, as well as students in mechatronics who want to increase their knowledge in optimization and multidisciplinary simulation technics. The specialty educates students in robust and/or optimized conception methods for structures or many technological systems, and to the main modeling and simulation tools used in R&D. Special courses are also proposed for original applications (multi-materials composites, innovating transducers and actuators, integrated systems, …) to prepare the students to the coming breakthrough in the domains covering the materials and the systems. For some mechatronic systems, the main issue is no longer how to implement a control system, but how to implement actuators. Within the mechatronic field, mainly two technologies are used to produce movement/motion. and

Variant of the field

An emerging variant of this field is biomechatronics, whose purpose is to integrate mechanical parts with a human being, usually in the form of removable gadgets such as an exoskeleton. This is the “real-life” version of cyberware.

Another variant that we can consider is Motion control for Advanced Mechatronics, which presently is recognized as a key technology in mechatronics. The robustness of motion control will be represented as a function of stiffness and a basis for practical realization. Target of motion is parameterized by control stiffness which could be variable according to the task reference. However, the system robustness of motion always requires very high stiffness in the controller.[5]

Avionics is also considered a variant of mechatronics as it combines several fields such as electronics and telecom with Aerospace Engineering.