Introduction: Self Driving Car


This instructables page has been made to how to make your own self driving wind powered vehicle by using a few motors, a Adafruit Feather, a power source, couple wires, and motor shield.

It is fairly simple to make and the materials required will not cost much to acquire. There is not a available kit that contains all the items needed, so here is a list of all the materials you will need as well as a link of where to purchase it. All items can be purchased from other companies and retailers, links are given just as a starting point - using different products may require more tinkering and research to ensure all parts work.

Step 1: Gathering Your Materials

There are many different materials you can use to create your self driving car.

The first item needed is the microcontroller, the one we used is the Adafruit Feather. It is small and lightweight, which is important since you want your materials as light as possible because the less power will be needed to move the car. Here is a link to purchase the Feather from Adafruit's website:

Next, we need a motor shield. The motor shield is attached on top of the microcontroller, and give you more power to control the motors. The motor shield we used is Adafruit FeatherWing, which makes it possible to control four motors separately. Having multiple motors is crucial for this project as well as the ability to control each individual motor. Here is the link to purchasing the motor shield:

Now we need to select our motors. We took apart an old mini drone and reused its motors; strip the wires so they could be connected to the FeatherWing (we used scissors to strip the wires, make sure you are careful not to cut through the wire when scoring the insulation). It is very important to understand its voltage so you do not damage your motor by giving it too much power. This link is to motors very similar to the ones used for this project and very cheap:

The last major item you need is a body to hold your materials. You can find a frame out most everyday objects, so let your creativity run wild and pick something that looks cool. You can use anything from cardboard, popsicle sticks, Lego, Knex, and even an old RC car that has been taken part and use that car frame.

Finally, you may need some extra wiring to connect every component together.

Step 2: Connecting the Feather, FeatherWing and Wires

This step is fairly straight forward. First connect your Feather to the FeatherWing motor shield. You still have access to all of the pins from the Feather and now with the capability to control the motors.

Next is to take two wires (one for positive and the other is negative) and put them in the two jacks on the side of the shield - look on the bottom of the shield for the 'positive' and 'negative' symbol by the jacks. Ensure that you have the placement correct, as improperly connecting the terminals to a power could damage the shield. Look to the attached images, the red wire is for positive and the black wire is for negative; your power source wires should look similar to ours.

Now we must connect the wires for the motors to the ports on the shield. When looking at the end of the motor shield that is closest to the power wires, those four jacks are for motor 1 and 2; motor 1 being the closest two ports to the power (two ports for the positive and negative wire to a motor). When you turn the shield around and look at the other four ports, motor 3 is on the left and motor 4 is to the right. This can be confusing at first, but there are symbols of the bottom of the shield to help depict which jacks correspond to which motor (may be different on other motor shields). If you do mix wiring up and do not want to rewire the shield, change the code to reflect how you have set up your motors.

The is very important to note is that both the Feather and the FeatherWing have different power sources, you must supply both power for the motors to run.

Step 3: Set Up of Your Software and Code

The first step is to download the Arduino software: then add the required libraries. We have included the standard libraries, as well as a screen shot (above) for the path to follow in case you are having a hard time finding the folder.

Once you have completed that, open up the software, there may also be a prompt to update the libraries to fully install the new ones, if so completed the required update. Once the software is open, you need to load the code. This is the code that we used, you can use it as a starting point and modify it to better suit your needs:

i have included the .ino file that can be opened in the Arduino application.

Step 4: Putting It All Together

Take the frame you have selected and attach the Feather, FeatherWing, power sources and any other sensors or LEDs you want to customize it. You may encounter issues with weight and difficulty placing everything on your frame. Depending on how heavy the power source is, it will affect the speed of the car and also how much power you need to give to the motors in order to move the vehicle. The downside of giving more power to the motor, is that power source will deplete quicker. As you can see from the video. We used a 9v battery for the FeatherWing and a lithium battery for the Feather. The weight of all the items caused the vehicle to be quite heavy, and so the motors needed to use the full power to propel itself. This drained a lot power from the 9v that it only took less than ten minutes before it was almost completely drained. That is why our car stops moving half way through the video, so be aware how much weight and power factors into the development of this machine.

Step 5: Optional Material for Added Complexity

This is purely for those of you who want an added challenge. Adding an RF (remote frequency) sensor to control the car with a joystick is a way to make the project more complex and fun. Another way is to make it an aircraft, we initially tried to have our vehicle be airborne but we found it very difficult and ran out of time. We chose to use helium to lift it and then the motors to control its direction. The issues are weight and power as before, but with more complexity; the weight is even more important as a 12 inch balloon can only hold 5 grams of weight, compared to a 9v battery, which is 45 grams of weight. Also the helium dissipates quickly, so testing can become difficult after an extended period of time. The weight quickly adds up and will require multiple balloons full of helium. Other issues is ensuring that the motors have consistent power to move the helium balloons, as the power drains quickly. We have included our attempt at it; while is was not successful, it was quite fun and a great learning experience.