Shop OBEX P1 Docs P2 Docs Learn Events
Activity Bot or Arduino shield kit for future customization? — Parallax Forums

Activity Bot or Arduino shield kit for future customization?

DrPopDrPop Posts: 227
edited 2014-11-25 19:17 in Robotics
Hello all, our first post to the forums, hope the question makes sense. After spending hours scouring the 'Net for the best "first robot" kit to grow with, we've got it narrowed down to either the Activity Bot with the Propeller, or the Arduino shield bot kit from Parallax.

Most curious about which will be easier to setup with future customizations such as additional sensors (for example a motion and/or gesture detector, the dual Ping + IR on servo, etc); a gripper; speaker and sound recognition; and the ultimate goal: video camera or laser detection with possible transmission of output, or at least output to screen on the bot.

I realize those are some pretty lofty goals, so here is the background. My daughter is 11, in 6th grade, and has been after me for about 2 years now to help her learn robotics. I figured she was too young before, and I frankly did not have the time or money for the hobby. Now she's a little older, and I finally have some time and the extra means to do it, so here we are. She would like to do the first basic build for her science fair project. We have exactly two months to complete that first phase. Sky's the limit after that.

The Arduino or Propeller based bots might seem too advanced for her age at first, but she's a pretty intense kid, so I think she will catch on. She's been in on a few computer builds with me; helped on re-wiring the Chevy 350 powered '46 Willys CJ2A in the garage; and we've done several of the projects in the Radio Shack Electronic Learning Lab together. Also have The SensorsLab and the 300 in One kit as well, so we could have her go back and do any projects with those three kits if she needs to get some more basic concepts down first.

From everything I can read, I'm actually leaning toward the Activity Bot and the somewhat more powerful (at least on paper?) Propeller platform. But, I see so much online about the Arduino, and there seems to be a massive amount of libraries, hardware and support for it, so I would be stupid not to ask before we make the leap here.

Thank you all for any tips and comments, the sooner we make the purchase decision the longer she will have to complete the project!
Sincerely,
Jed and Kat

Comments

  • Martin_HMartin_H Posts: 4,051
    edited 2014-11-23 05:22
    I own a boe bot and Parallax gripper. I think the gripper might be incompatible with the boe shield, because the Arduino attaches to the underside of the shield and will block the servo control rods. You could work around this by increase the size of the standoffs.

    Something to consider is that the control boards for either bot are form factor compatible, so you can swap them out. The aluminum chassis is identical so most of the add ons will work with either. That chassis is built rock solid compared to the acrylic chassis from some competitors and well worth the prices difference.
  • DrPopDrPop Posts: 227
    edited 2014-11-23 12:01
    Thank you, so they are essentially the same kit of parts, the difference being only with the Arduino or Propeller chip. Seems that they would both work well for a first bot.

    I guess I will have to look deeper at the differences in programming either chip. I was curious which would run multiple "extras" easier down the road.
  • Martin_HMartin_H Posts: 4,051
    edited 2014-11-23 13:31
    The Arduino has a bigger user base, so I imagine that with enough online digging a sample will turn up. But Parallax supports their own products well which is why they're so popular in the education market. So they won't leave you high and dry.

    However, the BS2 has a huge amount of same code written for it, and I find it the easiest to knocking out projects on. But when I want to do advanced tasks like inverse kinematics I find that either the propeller or Arduino works OK.
  • GordonMcCombGordonMcComb Posts: 3,366
    edited 2014-11-23 15:07
    Why don't you decide first on the projects you want to tackle the first year, and see which of the two best fits that bill. Be sure to check out the learn.parallax.com site. It has a complete (online) book on robotics using the Arduino and Shield with the BOE. Are there any projects in it that look interesting? For the Propeller-based Activity Bot there are separate tutorials. At least one new tutorial comes out each month, so there's always something new.

    As far as hardware, the Propeller is the more capable processor, but as Martin points out, the user-base for the Arduino is larger, so there are more examples from a variety of sources. Whether these examples are of any use or interest to you and your daughter depend completely on her interests and plans.
  • GenetixGenetix Posts: 1,754
    edited 2014-11-23 19:58
    I think based on her age that a BOE-Bot may be a better choice because it's easy to program and comes with a book that can be read anytime and anywhere. Now is a good time to purchase a kit because you can get 20% off if you use the promotion code that's at the top of the top of the screen. As Martin mentioned you can always swap out the main board later or have fun with all the different add-ons that already come with BOE-Bot code. If you do choose the BOE-Bot be sure to also get the What's a Microcontroller Kit which teaches how to use and program the BASIC Stamp.

    http://www.parallax.com/product/28832

    http://www.parallax.com/product/28152
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-11-23 21:15
    IMO, the Propeller is the perfect microcontroller for hobby robotics. There are lots of times you'll want to monitor a sensor and control some device at the same time.

    When someone on Let's Make Robots asked about a microcontroller to use with robot projects I wrote this "Ode of a Propeller Fan Boy". (If you read the ode on LMR, you can use the various links.)

    If you don't want to read my ode, you can take a look at some of my Propeller projects on YouTube. I have a play list titled "Fun with Spin". I like to think there are some fun projects in the list. I just added the video of my "Halloween Hex" robot to the list. As you can see from the video I still have some kinks to work out of the program.
    I'm a big fan of the Propeller chip. It has eight "cogs" (processors) and can make a lot of tasks which would be difficult to perform on an Arduino easy to write by combining a few "objects" (libraries). Once so nice about the Propeller is the various objects generally don't get in each others way. I've seen many Arduino projects mention needing to find some work around to use a servo because the normal library uses an interrupt which is already being used by some other device such as an encoder.

    Since the Propeller has eight identical processors, the resources used by one cog don't effect the what's left over for the other cogs, with the exception of I/O pins.

    For example my Mecanum wheeled robot, monitors the four quadrature encoders, six RC receiver channels, an UART and an I2C compass while also providing the PWM to the four independently controlled motors. It was nice not to have to worry about the code to monitor one sensor using resources required by one of the other sensors.

    Another example of what the Propeller can do is my little hexapod. The IK positions of all 18 servos are computed at 50Hz allowing each pulse sent to each servo to be optimal value for that particular servo at that particular point in time. The program controlling the hexapod uses five of the eight cogs. The control program is divided among the five cogs which allows the many inputs and outputs (including debug info being sent to a terminal window on the PC) to be occurring simultaneously. The remaining three cogs could be used to monitor additional sensors and control additional devices.

    The Propeller can control up to 32 servos without any additional hardware. If you add some 74HC573 to the mix the Propeller could control up to 144 servos with 1us precision.

    Since the Propeller has eight independent cogs, it can control devices with very tight timing requirements such as the WS2812 LEDs. With one cog continuously updating the LEDs, I used another cog to generate fun patterns to send to three of AdaFruit's 16-pixel rings. Since all the cogs have access to the 32K of 'hub" RAM, the cog generating the patterns fills an array of longs with the colors to be used on each pixel while at the same time the other cog reads from this array in order to know which colors are to be sent out to the LEDs. This "at the same time" component is a very powerful feature of the Propeller. As powerful as the Raspberry Pie is, it makes for a bad NeoPixel controller since it can't easily be controlled to the strict timing requirements required by the LED's control chip (WS2811).

    I haven't yet tried to generate a map of a room but I have used a SD card with the Propeller to record the servo pulses as a drove my PropBOE-Bot around by remote control. Once I had finished driving the robot in record mode, I switch to playback mode and watched as the robot repeated its previous course.

    There are some who are turned off by the Propeller's lack of interrupts. I don't have enough experience programming with interrupts to debate this issue. I will say there are an awful lot of really smart people on the Propeller forums who have lots of experience with interrupts who don't seem to mind not having them. I think the guy who designed the Propeller wanted very timing deterministic code.

    There are certainly a lot of awfully cool robots that don't use the Propeller but I often think the robots would have been even better is the had used one.

    IMO, the Propeller is a great microcontroller for robots. At $25, the Propeller Project Board is probably the best bang for the buck when it comes to Propeller boards (I just noticed it's on sale for $22.49). I use a lot of QuickStart boards in my projects since they're so nice and small (and they used to cost less). I've made a list of some of my Propeller projects here.

    I also think the Propeller would be great to use with the RPi. The Propeller could handle the tasks of interfacing with sensors and the RPi would be used for high level decision making.

    I hope you give the Propeller some consideration as you enter into the world of robotics.

    Edit: I know a lot of people are concerned about uses 3.3V devices with 5V sensors. Usually all it takes for the Prop to interface with a 5V sensor is a 10K ohm resistor on the Prop's input pin. The Propeller has clamping diodes on all its I/O pins which can tolerate higher voltages as long as the current through the diodes is limited to 500uA.

    I don't suggest using resistors on the Propeller's output to a 5V devices since the resistor could interfere with the 5V device reading the 3.3V logic. The only 5V device I've some across that doesn't reliably read 3.3V as logic high are the NeoPixels (WS2812) LEDs. I like to use a level shifter with the NeoPixels but I haven't needed to used a level shifter on any other 5V device I've used with the Prop.

    I've listed many of my projects in post #2 of my "index". Most of the projects use the Propeller and many of the projects wouldn't have been possible with an Arduino as the controller.

    While I really like the power of the Propeller, I think my favorite thing about the Propeller is how fun it is to program. Being able to use multiple processors to solve a problem is really fun.

    I know there's a lot of great tutorials on programming the Propeller with C, but IMO Spin is easier to use and more fun than C.
  • DrPopDrPop Posts: 227
    edited 2014-11-24 01:29
    Thank you to all of you, very informative replies, and gave me a lot of reading and searching to do this evening. Duane, I especially liked your project of the radio controlled bot recording its path and then having it play back the driving actions. Very awesome, reminds me of when I was younger and into R/C planes and rockets and things.

    I did look at the Basic Stamp as well, but it seems that would limit projects such as running a lot of sensors at one time in the future. Whether that' s true in reality, or just on paper, I'm not sure, but figured we'll just go with the Propeller system right out of the gate and get more than just our feet wet taking the plunge!

    Appreciate calling my attention to the sale. Decided to take advantage of it, so we have the Activity Bot, IR remote, track and crawler movement systems, the gripper, motor control for the Ping sensor, Sharp IR sensor, and the speaker w/ stand and FM radio chip ordered. I think that ought to keep her busy (read ME busy) for a long while. :-)

    Just wanted to say thanks again for the warm welcome. Even though Parallax has the more powerful system, from online reading I was leaning toward Arduino & a shield, just because of the massive user base for making it easier. So in a big way it was all of your kind and informative replies, plus the amount of published knowledge base Parallax has amassed here that really pushed me to try the Propeller in the end . I'm sure we'll be on here in a week or two asking for help with programming something!
    Sincerely,
    Jed (and Kat)
  • GenetixGenetix Posts: 1,754
    edited 2014-11-24 09:43
    The ActivityBot uses C which is a recent addition but you will find that most code is written in the Propeller's native language, Spin. The Propeller Manual has an entire section on Spin but the Propeller Education Kit was designed to teach Spin to newcomers.
    http://www.parallax.com/product/32305

    http://www.parallax.com/sites/default/files/downloads/P8X32A-Web-PropellerManual-v1.2.pdf
    http://www.parallax.com/sites/default/files/downloads/122-32305-PE-Kit-Labs-Fundamentals-Text-v1.2.pdf
  • PublisonPublison Posts: 12,366
    edited 2014-11-24 10:08
    The Activity Bot has a Propellor chip installed. Therefore it can use any form of Programing you like. You are not limited to C. You can use Spin, PASM, PropBasic.
  • ratronicratronic Posts: 1,451
    edited 2014-11-24 12:12
    +1 for the Activitybot. I have attached a Raspberry Pi and camera to mine to do some vision processing.

    Edit: It is assembled on the old Boebot chassis in my avatar. The one in my avatar ran a SpinStamp with Spin/PASM programming.
    The new Activitybot I am so far using C but it could use multiple languages.
  • DrPopDrPop Posts: 227
    edited 2014-11-24 20:50
    Neither of us have any real programming experience, so would you all suggest we give the native SPIN a try first and see if we get the hang of it?

    Since I have no expectations of what programming should be like, I'm not in a position to care about some things that advanced programmers seem to care about. I just want to learn whatever language is relatively simple and uses the Propeller to its advantage.
    Thanks!
  • ratronicratronic Posts: 1,451
    edited 2014-11-25 09:04
    DrPop my opinion is that if you have no experience with C or Spin Spin would be easier. It was made to utilize the Propeller.

    C wasn't available for the Propeller when it first came out. But with that said for your daughter's future C is what is being used out there in the workplace.

    Edit: For using the Activitybot C will be easier to start as it has C libraries already written for the bot.
  • DrPopDrPop Posts: 227
    edited 2014-11-25 09:44
    ratronic wrote: »
    ... for your daughter's future C is what is being used out there in the workplace.

    Edit: For using the Activitybot C will be easier to start as it has C libraries already written for the bot.

    Thanks for that info. So if she wants to get into this for a future career, then we should steer her into C instead of SPIN right off the bat? Which program do you recommend to use with the Activity Bot in C?
    I don't mind learning SPIN too if it's better for use on the Propeller, but if starting in C will help her not to be confused, then maybe we should just go that route?
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-11-25 09:52
    DrPop wrote: »
    Which program do you recommend to use with the Activity Bot in C?

    Tutorials on how to use their robots is where Parallax really excels, It looks like this page is a good starting point.
  • ratronicratronic Posts: 1,451
    edited 2014-11-25 10:25
    After you look through the link Duane posted you will see there are example programs already made for the Activitybot using SimpleIDE and C. No one has written

    any Spin code for the Activitybot yet. I think if you follow the examples you will not have a problem. One last thing - make sure to have fun while learning! Do

    not hesitate to post questions.
  • NWCCTVNWCCTV Posts: 3,629
    edited 2014-11-25 18:26
    Definitely start with the Learn Tutorials. Although I do not have an Activity Bot, I followed the Learn pages for it and learned quite a lot with my Prop BOE. Welcome to you and your daughter. Have fun with your new toys!!!!
  • Mike GreenMike Green Posts: 23,101
    edited 2014-11-25 19:17
    I'll put in a plug for the ActivityBot version of FemtoBasic (http://forums.parallax.com/showthread.php/138830-FemtoBasic-versions-for-Prop-BOE-amp-Activity-Board?highlight=femtobasic, post #11). This is a simple Basic interpreter that has several built-in statements for some of the ActivityBot's features.
Sign In or Register to comment.