Arduino Neural Network Robot
Arduino Neural Network Robot
by seanhodgins
This instructable is based on a 3 Part series I made files are open source and are available for you to
for the Make YouTube Channel which shows you download and modify. Follow these steps to make
exactly how to prototype, design, assemble, and your own Arduino Neural Network Robot.
program, your own Arduino neural network robot.
After watching the full series, you should have a Be sure to also Subscribe to my personal YouTube
better grasp on neural networks, PCB Design, and Channel, where I release all sorts of cool open source
Arduinos in general. You don't have to make this projects that you can make yourself, for free!
exact robot(of course you can if you want) but I want
to help people understand the process and what it Sean Hodgins YouTube Channel
takes to make a robot from start to finish. All of the
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!
https://youtu.be/0D5lcNIEa24
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)
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.
With the prototype completed, you can use the exact same wiring to create your own schematic. This will be the
map for when you start to work on your custom PCB. I personally use KiCad for my projects.
I like to design the PCB in cad software before I start working on it in KiCad. This way you can export the design
as a DXF Files and import it into your KiCad project. Makes it way easier to create cool looking circuit boards.
This is probably the most difficult part of the whole microcontroller, then look at where the lines have to
build, especially if you haven't done it before. Place go and place the components accordingly. Start
the components into small sub groups. This helps routing traces. Take your time and just work away at
organize things prior to placing them on the board. it, moving things as necessary.
Then take the sub groups and start placing in
locations on the board. Its easiest to centralize the
Pick a PCB manufacturer to create the real custom PCB you just made! I use OSHPark and PCBWay depending
on my needs.
If you want to just directly order the board I made you can purchase it here from OSHPark or here from PCBWay.
Now that you have ordered your PCB, check out part 2 of the video series. This part I will show you how to
assemble the board, and give you some tips and tricks along the way. Check it out!
https://youtu.be/fCmMrSfEsuU
I like to separate the components into different types, surface mount discreet(resistors, capacitors), surface mount
chips(integrated circuits), then lastly through hole components(this will be installed last). The resistors and caps
will be installed first, then the ICs. Also its nice to start with the smallest(shortest) components first, so you don't
end up hitting things with the tweezers.
You need to apply solder paste to each one of the pads on the board where a component is being installed.
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.
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.
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.
Time to soldering on the remaining through-hole components. No particular order, but again doing the shortest
components first is ideal.
At this point, since everything is on, its time to power Follow the instructions in the video.
up the device and add a bootloader. Use the Atmel
ICE on the programming header. You will need to The Bootloader can be found here:
power the device separately, either with another USB https://github.com/IdleHandsProject/makennbot
connected, or the batter. Open Atmel Studio 7 and
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!
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.
https://youtu.be/97R3TcUh5eI
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!
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!
If you think I have earned it, please consider The more patrons I receive, the more complicated
subscribing to my YouTube Channel. I will be doing a and intricate projects I can develop and share to the
lot more cool open source projects like this one in the world. I want to make cool stuff, and make that cool
future, and I would love for you to join along. stuff free and public for everyone else to make as
well.
Sean Hodgins YouTube Channel
Sean Hodgins on Patreon
If you want to support me on the next level, and have
some cash to spare. Please check out my Patreon.