Multicore Propeller "Flys" Quadcopter

I have covered Parallax for many years. My daughter got started with robotics like the BOEBOT using their Basic Stamp and the Java-based Javalin Stamp. She is now a MechE designing robots.

The latest robot flying around Rocklin, CA these days is the ELEV-8 Quadcopter. The kit is $550 but you need to add a remote control and battery. Now there are a lot of quadcopters out there like the Parrot's AR.Drone (see Smart phone Controls Low-Cost Quadrotor) but this the ELEV-8 is programmable. In fact, it is running one of Parallax's Propeller (see EiED Online >> Parallax Propeller) multicore processors.

Parrot's AR.Drone uses PIC micros for each motor and a Texas Instrument's OMAP processor for the main controller. Hackers can get into the system but the platform is more of an RC-style copter. Most users will fly it using a smartphone or tablet instead of programming it.

Figure 1. The ELV-8 runs a multicore Parallax Propeller chip. It is designed to be a remote control (RC) quadcopter but programmers have full access to the Propeller chip.

The ELEV-8 is designed for hackers. It is designed to be programmed after the kit is assembled. The Propeller chip is found on the Hoverfly board from Hoverfly Technologies. Hoeverfly sells boards as well as copters and systems. Its flight control system runs on the Propeller. It also has boards like the HoverflyGPS.

Figure 2. The ELEV-8 kit includes everything except the RC controller and a battery.

The ELEV-8 handles payloads up to two pounds. Of course, payload weight will affect flight time of the battery operated system. Cameras are just some of the possible payloads. Parallax sells the Drift HD Sport Camera.

Parallax Propeller

The Propeller is ideal for the ELEV-8. Its 8 cores, called cogs by Parallax, can be partitioned to so a few perform motor control while others can handle other chores.

Figure 3. The Propeller has eight identical cores called cogs. They share I/O and a central memory system. Each cog has only 2 Kbytes of RAM.

The Propeller design is interesting because the eight cores share the I/O ports. This requires a cooperative design since the outputs from each core are OR'ed together and the I/O direction is also shared. On the plus side, it does not matter what core an application will run on since all cores are identical in capability and control.
The 32-bit cores have 2 Kbytes of storage that is shared between code and data. There is a common memory of 32 Kbytes but access is slower than local storage. A 32 Kbyte ROM supports the Spin programming language. Spin is interpreted by a core so it runs slower than the native code.

The Propeller can be programmed using a number of other tools allowing developers to program using assembler and C. Check out the Ultimate List of Propeller Langauges for more options. The chip does have significant limitations but it is surprising how many languages run on it. There is everything from Forth to Lisp to Java.

The Basic Stamp and the Java-based Javalin Stamp were based on the 8-bit Ubicom SX chip that Parallax picked up but it has superceeded it with the Propeller. There is even a Propeller-based Board of Education (BOE). Just the thing for a BOEBOT. The board is fine for a rolling robot but not for something like the ELEV-8.

Figure 4. The Propeller Board of Education (PropBOE) hosts the multicore Parallax Propeller chip.

If you are looking for a programming challenge and flying is in the mix then the ELEV-8 will be just what you are looking for.

In closing, the usual caveats. Some assembly required and batteries not included.

P.S. Yes, I purposely misspelled flies in the title. I was going to use Hoverlfy but that doesn't make sense until you read this.

P.P.S Ken Gracy left a comment below about Jason Dorie's open source Hoverfly code. The link Ken left got mangle by out comment system so use the one in the previous sentence instead. It is one page 41 of a long discussion about the platform. Search for JasonDorie. The files are attached to his comment in the forum.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.