A decision on Basic Stamps and Parallax (+ FREE Propeller chip hardware to a good home!)

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.

Views: 3598

Comment by crystal garris on May 2, 2008 at 1:41pm
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.
Comment by Howard Gordon on May 2, 2008 at 2:43pm
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.
Comment by Nullified on May 2, 2008 at 3:28pm
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.

3D Robotics
Comment by Chris Anderson on May 2, 2008 at 3:36pm
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.
Comment by Howard Gordon on May 2, 2008 at 3:50pm
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.
Comment by Ken Gracey on May 2, 2008 at 9:17pm
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.
Comment by Howard Gordon on May 2, 2008 at 10:00pm
Ken -

That's good to hear - availability of C should really accelerate the adoption of your processor.

Comment by crystal garris on May 2, 2008 at 10:06pm
I look foward to it . Got any details on the compiler and what sort of library will it come with ?
Comment by Wayne Dancer on May 5, 2008 at 8:19am
I gotta pick up C sometime. I always code in assembly...
Comment by paul hubner on May 5, 2008 at 9:39am
As y'all may know, I've been a supporter of the Propeller since is started shipping. I have been claiming to develop on my autopilot, the PNAV.net project for a year now. And while I have made great strides (especially for me!) its not going fast enough for the rest of the world... So I'm definitely in. And though there is a generous offer from Parallax, I personally am happy to keep buying from them. I'm only in for about $50! (Perhaps use the donations for similar demo kits for 10 programmers?)

The Propeller IS the platform to use. It is a solid platform that even after my verbose code, there is both memory and processors to spare. Learning the SPIN language really was not that hard even coming from no-programming experience.

My current code is posted at www.pnav.net and is share and share alike, so feel free to reuse parts and pieces.



You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service