3D Robotics

After my impetuous outburst about the limitations of the Parallax Basic Stamp platform, Parallax co-founder Ken Gracey was kind enough to respond directly in the comments. Excerpt:

The BASIC Stamp product line will continue to be developed by Parallax. But most of the improvements we make to the product line pertain to documentation, operating speed and memory, and the addition of commands. You won't be seeing a floating point library built into the BASIC Stamp.

If you want to have true simultaneous processing with another high-level language, my suggestion is to use the Propeller. You seem to already know that processor so I'll skip listing the specifications. We aim to make the Prop very easy to use by publishing our educational tutorials (see Propeller Education on this page). The forums supporting the Propeller are very active. Supporting the growth of the Propeller is a big priority for Parallax and we back our position by responding to customer requests. In this case, you've got a complete floating point library to use. There's also a BS2 library for the Propeller in case the user wants to continue using something they've already learned.

He and I also had a good phone chat where we talked more about the options. Here's my bullet-point report from that, and summarizing the comments above:

  • The Basic Stamp platform continues to be staple of electronic education in schools and will be for years to come. It's still growing in terms of its usage base.
  • That said, the technology is not going to evolve much more. The things we want, such as floating point, C-like variable handling and significant increases in memory, are not planned for the Basic Stamp architecture.
  • Instead, Parallax recommends that we shift to the Propeller chip, which has both everything we need and reflects the direction that Parallax as a company is going.
  • Although Propeller is not currently as easy to learn as the Basic Stamp, Parallax is working hard to improve that. One thing in particular that will help a lot is a forthcoming serial debug window facility like that of the Basic Stamp. This will let you use the PC as a display screen for the chip's output and otherwise get real-time data on variables and program operation. Finally, it will be possible to write a simple "hello world" program for the Propeller and see "hello world" on your screen, rather than just a blinking LED.

As a result, this is what I propose for DIYDrones:

  1. We complete the Basic Stamp autopilot so that it works perfectly as it is, both as a teaching tool and for those who currently have the Basic Stamp hardware and want to keep it.
  2. After that is done, however, we will not develop it further.
  3. We will instead port the Basic Stamp autopilot code to the open source Arduino platform. All future development of our "entry-level DIY autopilot" will be on that platform
  4. After that, we will port the code to the Propeller platform and then encourage better programmers than me to help collectively build an open source "pro-grade" autopilot project on it. This is a big job (just ask Dean Goedde, who used the Propeller for his awesome AttoPilot commerical autopilot), so I'm looking for volunteers to help take it on. Anybody out there want to try their hand at the future of embedded computing (8-core, 32-bit, object-oriented parallel processing)?
  5. To that end, Parallax has kindly offered to donate $500 worth of Propeller gear to DIYDrones. If you want it and can make a public commitment to starting and sharing an autopilot project here (and can demonstrate that you've got the coding experience to pull that off), I'll work with Parallax to give you the gear of your choice up to that dollar limit. Please respond in the comments.
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • 100KM
    I look foward to it . Got any details on the compiler and what sort of library will it come with ?
  • Ken -

    That's good to hear - availability of C should really accelerate the adoption of your processor.
  • One more thing I forgot to mention is that we're in our second year of development of a C compiler for the Propeller. This project is being done with ImageCraft. We expect to see it on the market within a few more months.
  • The main negative is learning curve. However, clearly the Propellor's novelty is attractive to you, and I can't argue against that motivation. The challenge will be to make this accessible to less experienced programmers, but you can evaluate first-hand whether this is a real issue.
  • 3D Robotics
    We do of course already have a ARM7 autopilot in the form of the Mindstorms NXT UAV (full code to be posted soon, but it's already one of our most capable ones).

    The case for the Propeller is that it's a truly powerful and differentiated chip, with its multiple cores and inherent parallel processing, but it still designed as a teaching tool. Other groups will support other platforms, and we can only do so much here, but I'd rather hear cases again the Propeller than for other chips at this point.

    Note: a list (incomplete) of all the processor and OS types with autopilot projects that we're following is here.
  • I too would recommend considering the ARM7. They have extensive development tools available and can run Linux or a real-time operating system (http://www.freertos.org/main.html#features) which might greatly simplify development for it since it would allow for more modular software.
  • Chris -

    I think you're moving things in the right direction in considering more advanced processors. The Propellor is a very interesting processor, and they seem to have a very active user community. However, before you fully commit, you might want to consider the ARM7 for your standardized AP processor, as there are already some advanced open-source AP projects, including Paparazzi and Flying Fox, and for that matter, the Lego NXT is ARM7-based. The processors are really cheap, multiply sourced, and well supported with development tools and low cost boards. The typical ARM7 runs at 60-70MHz, so it doesn't have as many raw MIPS as the Propellor, but the MIPS are easier to get to for the normal programmer.
  • 100KM
    To whom it may concern:
    the propeller is an awsome platform however having to code in assembly in order to take advantage of its true potential is too cumbersome and takes to many man hours compared to "C" like codeing and that is the one thing that as of now has me using a differant system all together if parallax could make this happen i would jump on board .just to give everyone an idea about the time it would save i have coded an ap useing a basicx modual and I was able to write an ap program in a work week with about 2 hours a day spent but the important thing is I was able to use the great circle nav formula instead of flat plain approximation .this i feal would truely unleash the beast that the prop is.
    and if parallax would support my efforts with help or more educational material on prop's assy i would work further on the prop code i have already posted here.
This reply was deleted.