Helping My Son With His School Project

Good afternoon all! As the title indicates I am trying to help my son with his school project. In order to do so I'm also having to educate myself. He decided to build a small RC-type vehicle for his project. He created a basic design and parts list. The parts list has being reworked as we've learned more though. I'm at the point where I need to pull the trigger on actually ordering the brains of his creation, but my own lack of knowledge has made me wary of doing so without learning more. As such, I wanted to reach out to any of you who might have a moment to take quick glance at the parts list and let me know if I'll have everything needed or if I'm missing anything major. Thank you in advance for any assistance you can lend. Right! To it then:

I'll be making a small chassis for everything to mount to/be housed in. The wheels have been delivered. The drive motor is a small, dual drive motor, with each motor operated independently. I'm at work currently, but will try to update this post with the specs after dinner tonight. He's going to mount a caster wheel in the back. In this way steering can be achieved by simply powering one motor faster than the other. I recommended to him that he keep it as simple as possible. He has been trying to determine how to control the vehicle. His original plan, after some internet research, was a Pi and a playstation controller. He's been having some trouble determining the best way to achieve control, which is where this post comes in. I did some research and came upon the Blynk app, which is compatible with the Arduino 101. It seems to fit the bill. BUT....

A) Will he need an ethernet shield? Am I correct in thinking that he can connect to our PC (assuming the Arduino 101 IDE has been downloaded) with a USB to transfer any needed data to the vehicle-mounted Arduino 101?
If so then it seems like he has no need for the Ethernet shield, but we're not certain.

B) Power - My understanding is that the Arduino will not come with any cables, so I will need to procure a battery pack of the correct specifications or a plug of the correct DC specs. It seems as though, as a moving vehicle, it would require a battery pack, but I'm uncertain whether one can be connected to the Arduino 101. Or should a battery pack be connected to the board's power socket via a battery pack-to-male plug of some kind?

C) Any recommendations for an inexpensive breadboard?

Beyond that, I intend to get the necessary wire and solder (I have a soldering iron already) in order to connect the board to the motors and anything else I'm unaware of.

I apologize for anything in here that seems simple to those of you with more experience. I just started learning about Arduino 101's, IDE's, ethernet shields, etc. today while at work. Normally I just fiddle with things until I figure them out, but it's a little different when the items in question are sitting in an internet grocery cart waiting for money that I don't want to waste on non-essentials lol. I'm really excited to watch my son bring this thing to life though, so thank you again for reading the post and for any information you may be able to provide!

I don’t know if any of this will be helpful - feel free to ignore it.

As you are a beginner I suggest you do NOT order all the parts at once. Order what you need to start learning and then order more as your knowledge grows. I believe your experience will lead you towards different choices.

Any Arduino will be sufficient to control two motors and receive wireless signals. If there is space for an Uno it is the best Arduino for a beginner because almost everything is compatible with it. If not then a Nano is effectively an Uno in a smaller package.

An Arduino cannot control a motor directly. You will need a motor driver between the Arduino and each motor.

I don’t have any experience with a PS2 controller (I am much too old for the PS2 craze).

My suggestion for a wireless controller is the cheap nRF24L01+ module. They are easy to use and very effective. This Simple nRF24L01+ Tutorial will illustrate them. I use them to control model trains and others use them with flying drones.

Whatever path you choose make sure to start by learning each technique on its own rather than trying to build a complex program from the get-go.

…R
Planning and Implementing a Program

+1 for the above post.. def build out each functionality individually since you are just beginning.. it will make learning and debugging easier in the long run..

with the UNO as long as you leave the USB port accessible once mounted, then no need for the ethernet shield just plug from the board to your pc and program away..

Ive seen some pretty cool things with the PS2 and even the Wii remotes.. never done anything with them but cool none the less...

Good Luck and post back any other questions as you go along.. for breadboards ebay is cheapest place to get a small set for decent price..

Are there any local stores you could try?

Online sources:
adafruit.com
sparkfun.com
mouser.com
digikey.com
seeedstudio.com
the pi hut (for Pi items of course) along with sensors and such

Why use the 101?

It's expensive, the library support and hardware compatibility is kinda poor, and it's a lot harder to get help with 101-specific issues on the forum (user base is much smaller - you ask about 101 here, and you can hear the crickets chirping), and it doesn't sound like your application demands the higher processing power. I'd stick to a classic 5v AVR, unless there's some compelling reason to use the newfangled 101...

You will need a motor shield or motor driver to switch power for the motors - you can't drive a motor directly off an Arduino pin.

Battery (a 2S LiPo pack would be my choice, if the voltages work out for the motors you're driving) would go into the external power jack; honestly, the arduino boards aren't really designed to make life easy for powering it off batteries, which is sort of surprising considering how popular battery powered projects are.

You upload code over USB.

If you are going to make it internet connected, why not use wifi instead of wired ethernet? Wired ethernet would be a wee bit inconvenient on a remote control car, and WiFi adapters based on ESP8266 cost about as much as a cup of coffee (well, if you get the kind of coffee I drink, you can get an uno clone for the price too) - they're actually cheaper than wired ethernet now, thanks to high volume demand and Espressif's engineers.

Ebay for cheap breadboards, and general el-cheapo electronics. The prices are unreal. For anything carrying high current, you probably want soldered connections and protoboard/stripboard, not breadboard (Something like this - disclosure: it's my shop I'm linking to)

I definitely agree with what other people said in general though, about not trying to get everything at once. You sound pretty new to this stuff, so it's going to be a learning experience, and you can't expect to know what all you need right off the bat.

Goonstar:
I just started learning about Arduino 101's, IDE's, ethernet shields, etc. today while at work.

You can get a breadboard, complete with jumpers for less than $5. I think the jumpers might be the expensive part.

You don't need an Ethernet shield.

The Uno would be adequate for the job, cheaper, and is something everybody knows, loves and understands. You may have good reason for getting the 101 so, if you already have it don't worry. I understand it is made with robotics in mind.

The NRF24 is a silly idea. It is fine for a network of several, but you have only one, and it requires another Arduino system to operate it, thereby doubling your workload and costs before you even get to the end of the runway. Also, there is no point in being "cool". It is just a school project, and you will be better off sticking with Bluetooth and using your phone or laptop as a controller.

Portable power is a bit of a science in itself and you should check the Robotics section about this. The power requirements for the 101 are much the same as a Uno. You may have to indulge in more efficient voltage regulators, although I recall the 101 is better than Uno in this respect. Either way, you will be better off testing everything with a wall wart before you get to batteries.

Thank you all for the excellent feedback. I agree with working one leg at a time, both for learning and for troubleshooting. I'll begin by ordering what's needed to get started. Fortunately it doesn't look to be a very extensive list of materials needed.

I've also looked at what several of you said about the Uno versus the 101. I had not realized the difference in community and support between the two. Thanks for the info - I'll use the Uno for this project and for my son and I both to learn with. Cubangt: thanks for the resource list. Some I knew of, some I didn't - good info and appreciated. We're going to go with a bluetooth board to be able to use an android smartphone as a controller. After some looking it seems to be the simplest, most feasible route for this. Tentative shopping list is below. I didn't include any links as I wasn't positive what the forum rules on that are. The HC-05 and L298N were chosen for two main reasons - I continually saw the two of them in tutorials for their respective roles and they're cheap :slight_smile:

Arduino Uno R3

Bluetooth
J-DEAL HC-05 Wireless Bluetooth Host Serial Transceiver Module Slave and Master RS232 For Arduino

Drive Motor Controller
Qunqi L298N Motor Drive Controller Board Module Dual H Bridge DC Stepper For Arduino

Power Supply
For power it seems that, for this project at least, a 9v battery in a 9v connector to male power plug would get the job done since I understand the Arduino Uno has a built in 5vdc voltage regulator.

My son was super excited when he saw that people were responding to the post about his project. As someone who has never had to turn to others when it came time to teach my son to build something, I appreciate it too! Thanks again for your time and expertise!

Goonstar:
Bluetooth
J-DEAL HC-05 Wireless Bluetooth Host Serial Transceiver Module Slave and Master RS232 For Arduino

That is a standard HC-05 and will be fine provided you stay away from IOS. You can get than cheaper but this is reasonable. In the matter of Bluetooth, you might find the following background notes useful
http://homepages.ihug.com.au/~npyner/Arduino/GUIDE_2BT.pdf
http://homepages.ihug.com.au/~npyner/Arduino/BT_2_WAY.ino

Power Supply
For power it seems that, for this project at least, a 9v battery in a 9v connector to male power plug would get the job done

If you are thinking what I think you are thinking, I bet it won't. Unless you want to give your son an impromptu bitter lesson about what a watt is, and how many you haven't got, stay away from the 9v PP3 battery and, as I said, test the system with a proper 9v wall wart first.

No problem Goonstar, hopefully you and your son are able to accomplish what you are trying to do.
Ive learned alot from this site already and always find help when needed..

Keep us posted.

These guys are way more knowledgeable than I am, but I can give you my “newbie” perspective as I have just done the same as you are attempting. I also have all the research material I found book marked. I’ll just have to sift through it if you are interested (I have been book marking A LOT lately). I would not recommend this for a project if he has other options. At least I would plan a reliable PLAN B in case the due date is closing in. Things to consider are…

Will everything go together as planned? (for me that is a BIG negative, but try some pretty weird stuff)
Did anything get left out?
Something may arrive DoA, which will also make you lose more time troubleshooting. I had a motor driver arrive last week with all the pins flattened. It took 5 weeks to get here.

By no means is the following a suggestion as what to get or how to do it. I merely want to share my experience as only a month ago I was where you are now.
I had just completed the Arduino Starter Kit I thought I would try an RC. I used…

FROM THE STARTER KIT
breadboard and Arduino Uno
the L293D Driver chip
the servo (in the middle of the front axle - pivoting the entire axle when turned not just the wheels)
the toy motor ( powering the rear axle)

ADDITIONAL HARDWARE
Keyes USB Host Shield (Amazon)
Bluetooth dongle (which I already had a few extra from computer stuff)
PlayStation 4 Controller (borrowed from my nephew)

CAR PARTS - from around the house
BurgerKing Drinking Straw and a piece of plastic coat hanger for a rear axle
BurgerKing Drinking Straw and a piece of metal coat hanger for a front axle
Thick (corrigated?) Cardboard scrap for chassis and ground clearance
Plastic Pulleys and band from a DVD Drive as a drive train from motor to rear axle
Water Bottle Caps for wheels
Pipe Insulation for Tires
A LOT OF HOT GLUE

ASSEMBLING THE CAR
It was definitely a trial and error thing. I first used the motor from the DVD drive, but it was too weak.
Then I tried a new axle with a DVD tray motor on each rear wheel - still too weak or too poorly implemented.
My first attempt at wheels/tires were just the caps. but they did not grip enough to turn and got caught in floor tile grout. Later I saw a scrap piece of pipe insulation I had and that fixed it, but I had to readjust the body for clearance when the tires turned. So I shimmed my Servo with additional pieces of cardboard.
You get the idea here I think… A LOT of back and forth trouble shooting.

THE CONTROLLER
The controller worked out well for me. However, while researching, I read that the USB Host Shields can be quite picky with bluetooth dongles, as well as some generic controllers. I am not sure but I think a new PS4 controller is like 40 or 50$ if you get the name brand. Another issue was the tutorial videos I watched were before an update to the shield which disabled the initial debug and connection messages to save on memory. So I had to further research and learn how to change a value in the “library” to show those so I could see what was going on. On a plus not the library came with example sketches that I was able to use as a template for my first controller sketch. (other game controllers can be used as well, but a genuine PS4 is the only one I have tested other than a generic PS3 that did NOT work)

When done, I was amazed how well it handled and operated. Now that I know I am capable, I plan on building a real one (not cardboard and glue) with my nephew for a project.
I would definitely recommend it for recreational learning with your kid, but not for something with a deadline. I have a couple pictures I just took with a GoPro, but could see what I was doing. If you are interested I can post better photos with an actual camera and a bunch of links. It is not fully wired, I just set the Arduino back on there for the photo.

I apologize for not getting back sooner, but between getting sick as a dog for a while and everything else life has to offer, things have been hectic. The project has been completed and the project fair went really well. I wanted to stop back by and offer my sincere thanks for everyone’s time and input. It was invaluable in helping get this off the ground. Here’s what went down and the things my son and I both learned together along the way. The finished car is attached.

Based on input we went with the Arduino Uno, L298N motor driver, HC-05 bluetooth tranceiver, 2 DC motors (130 type)and a wall wart power supply until we got everything working. After that we modified for battery operation so that it could be demonstrated at his project fair. That modification was the removal of the wall wart for power and the addition of an 8 pack AA battery (I used some Energizer rechargeables) which we wired into the L298. We ran the power out from there to the Arduino Vin and shared a common ground. The BT transceiver received power off the 3.3v was grounded at the Arduino. Went through a couple of different apps (Blynk being one) and many iterations of code. We both did our best learning how to manage the coding aspect of it. Having zero experience there was a challenge. In the end we cobbled together several pieces of code to make one functioning franken-code that worked while learning about assigning outputs and matching the cables to that along the way. I also had to relearn the concept of shared grounds and how a circuit works (facepalm) to help him troubleshoot why the motors wouldn’t power when everything seemed to indicate that they should. Once everything was functioning he made a wooden base out of some scrap birch plywood in the garage. Hot glue and double-sided tape were used to hold the bits on. We intend to reuse the parts. Then we discovered that we should have tried to test those motors with load (tested w/o load) as they turned out to be insufficiently powered to turn the wheels. We had a Tamiya dual motor gearbox from an earlier version of the car plan fortunately. Unfortunately that meant narrowing the base of the car, but it worked like a champ with the addition of the gearbox. We used a caster wheel for the rear. There were some little quirky things, but all-in-all he was very proud of what he had accomplished, I was proud of him for how hard he worked and how far he came since beginning the project. I didn’t want this to be something that I did for him - this was his baby. I helped him troubleshoot and offered advice on what I thought might work best and why. He did it. He presented to the judges and answered all comers. Obviously his knowledge of programming was spotty (he’s a beginner), but he demonstrated an understanding of what parts of the code did what, why they did it, and how the code was created. On his display he showed his original plan, parts list, and prices. He also showed how much of that changed as well as the evolution of the design and code, including the failures. Sadly, he isn’t eligible to move on to district competitions since he’s only in 6th grade and that’s only open to the 8th graders. I don’t know how he measured up against the other GT kids score-wise, and I’m clearly biased anyways lol. He should get feedback in a few days though. He’s proud - that’s what matters.

It would have been much more difficult for me to offer him some of that advice and assistance without the tips and advice received here though. So, from a very proud and newly educated Dad, thank you very, very much to all of you.

BT Car.pdf (181 KB)

Congrats on the successful result!
Thanks for posting back.

Goonstar:
The BT transceiver received power off the 3.3v was grounded at the Arduino.

Congratulations - ordered wiring, rounded corners, looks good. Something you can both be proud of.

I migbht point out that running bluetooth off 3.3v was sailing a bit too close to the wind. It should be marked 3.6 - 6v. It looks like you used 5v anyway .