Arduino Neural Network Robot By seanhodgins in CircuitsArduino Introduction: Arduino Neural Network Robot This instructable is based on a 3 Part series I made for the Make YouTube Channel which shows you exactly how to prototype, design, assemble, and program, your own Arduino neural network robot. After watching the full series, you should have a better grasp on neural networks, PCB Design, and Arduinos in general. You don't have to make this exact robot(of course you can if you want) but I want to help people understand the process and what it takes to make a robot from start to finish. All of the files are open source and are available for you to download and modify. Follow these steps to make your own Arduino Neural Network Robot. Be sure to also Subscribe to my personal YouTube Channel, where I release all sorts of cool open source projects that you can make yourself, for free! Sean Hodgins YouTube Channel Step 1: Watch Part 1: Design and Prototype Arduino Neural Network Robot Part 1: Prototype and Design Watch on If you're going to be designing your own robot, you need to prototype and test some components before you begin to design a custom circuit board.This video will do just that. We will finish off with a completed custom PCB to send away to be ordered! Step 2: Get the Parts and Tools. Parts used for the prototyping: Motor Driver Breakout Board Arduino SAMD21G18 Dev Board Parts used for the Robot: Bill of Materials(FindChips) Motors 26:1 from Pololu Wheels from Pololu OLED from Aliexpress LiPo Battery Custom Circuit Board - OSHPark or PCBway Tools: Soldering Iron Reflow Oven ESD Tweezers Atmel ICE Tool Set Rework Station(Hot Air) Step 3: Prototype and Develop. If you're making your own design, now is the time to make a simple prototype that will allow you to test the components you will be using later on. This will help you sort out any problems you may encounter in the future. Make a breadboard version of the robot, and add some firmware to test out the components. Step 10: Add Your Solder Paste. You need to apply solder paste to each one of the pads on the board where a component is being installed. Step 11: Start Adding Components! Like I mentioned start with the shortest components and work up, starting with the resistors, caps, any discreet components. Then move onto the integrated circuits. We will install the through hole components later. Step 12: Stick It in the Oven. Time to cook it! In my case(with my cheap toaster over) I set the oven to the max setting 230C, turn it on, and wait for the solder to "reflow". After that happens, I wait a few seconds, then take it out of the oven and let it cool off. Its a very simple process. Step 13: Fix the Components. Some components may have shifted or not soldered properly. Slowly go over the board and visually inspect it for problems. Fixing them with your soldering iron. Fix any bridged pins on the IC components as well. The video covers various techniques. Step 14: Solder the Through Hole Components. Time to soldering on the remaining through-hole components. No particular order, but again doing the shortest components first is ideal. Step 15: Add a Bootloader At this point, since everything is on, its time to power up the device and add a bootloader. Use the Atmel ICE on the programming header. You will need to power the device separately, either with another USB connected, or the batter. Open Atmel Studio 7 and Follow the instructions in the video. The Bootloader can be found here: https://github.com/IdleHandsProject/makennbot Step 16: Run Your Test Program. We developed the program earlier to test the robots features. If your schematic has not changed at all you should be able to use the same test program. Try it out! It works! Step 17: Watch Part 3: Neural Networks and Arduinos Arduino Neural Network Robot Part 3: Running Neural Networks on an Arduino Watch on In the third and final part of the series we talk about Neural Network and running them on an Arduino. I show you how the robot can be controlled with and without one. Its an interesting experiment. This video will cover some basics to Neural Networks and should hopefully help you understand a little bit more of what is happening. Step 18: Program the Robot With the Neural Network Program. Head to the GitHub to download the firmware for the robot. If you follow along in the video it should help you understand what the different sections of the code are doing. Program it, and train your neural network! Step 19: Run Some Tests! Now that you have gained a little more knowledge in neural networks, play with the program, setting, input, etc. and see how it affects it. Also see if you can come up with even better ways to train or control the robot. This definitely isn't perfect, or the best way by a long shot. Step 20: Have Fun With Your Little Neural Network Bot! Step 21: Support These Projects! If you think I have earned it, please consider subscribing to my YouTube Channel. I will be doing a lot more cool open source projects like this one in the future, and I would love for you to join along. Sean Hodgins YouTube Channel If you want to support me on the next level, and have some cash to spare. Please check out my Patreon. The more patrons I receive, the more complicated and intricate projects I can develop and share to the world. I want to make cool stuff, and make that cool stuff free and public for everyone else to make as well. Sean Hodgins on Patreon