Learn the ins and outs of multi-core microcontrollers as Chip Gracey leads this week’s Hack Chat on Friday 5/5 at noon PDT. Chip founded Parallax and has now been working for more than a decade on the Propeller 2 design, a microcontroller which has 8 and 16 core options.
When it comes to embedded development, most people think of a single process running. Doing more than one task at a time is an illusion provided by interrupts that stop one part of your program to spend a few cycles on another part before returning. The Propeller 2 has true parallel processing; each core can run its own part of the program. From the embedded engineer’s perspective that makes multiple real-time operations possible. Where things get really interesting is how those cores work together.
Here’s your chance to hear about multi-core embedded first hand, from both the silicon design side and the firmware developer side. Join us for a Parallax Hack Chat this Friday at noon PDT.
Here’s How To Take Part:
Our Hack Chats are live community events on the Hackaday.io Hack Chat group messaging.
Log into Hackaday.io, visit that page, and look for the ‘Join this Project’ Button. Once you’re part of the project, the button will change to ‘Team Messaging’, which takes you directly to the Hack Chat.
You don’t have to wait until Friday; join whenever you want and you can see what the community is talking about.
Throw some QNX in there and have some fun.
After the “Hack Chat” how can I view and/or hear the audio for the event without having to fight with the hackaday(dot)io site obstacles (like “Join” etc.)? I cannot participate in the live even due to large time differences (I am UTC+7). Please just tell us where to view the results and/or download an .mp3 file with the audio. Thank you…
The Upcoming Hack Chats page has back links to transcripts:
https://hackaday.io/event/19578-upcoming-hackchats
Cool.
Huge fan of Chip!
His stuff allowed me to go from BASIC on my commodore 64 and QBASIC on my x86 stuff to microcontrollers – at the age of 13, in 8th grade in 1993.
There was nothing else out there which was also accessible to a 13 year old with no mentorship of any kind. Of course at $50 they were quite dear to a 13 year old.
I did eventually move from the BS1s tro BS2s to uhm a weird thing called BasicX, before moving on to arduino. I skipped propeller chips, but followed their development and reception with great interest.
In the off chance Chip reads these comments, I want to say thank you for being the sort of entrepreneur I still hope to be one day.
Well, to be accurate I moved on to PIC micros with the awesome Mikroelectronika compilers and hardware. Another company Hack A day has interviewed, which is part of why I love hackaday and will never turn on the adblock on this site.
One self-admitted Parallax hater here. I’m a single-issue hater, too (I get bonus points for that, amirite? :P ) — my GOD those prices are freaking high.
Other than that, yeah, cool stuff, I guess. I’m not that familiar with it, simply because the cost of entry, for me, is effectively a 30ft high reinforced concrete wall, three feet thick, with barbed wire ’round the top. Sorry, I’m not getting another refi on my house just to buy some fancy eight-legged freak of a microcontroller with more cores (but /far/ fewer horsepower) than my phone* — nor am I willing to hand over half a Franklin for a BASIC Stamp 2 module that, somehow, has onboard resources that would shamefully hobble a 6502. Sorry, but that’s BS period.
I’d rather buy an Arduino Nano clone off eBay and learn to use it (which I haven’t done yet). /Those/ I can afford.
…or, you know… PICAXE chips. I can even write my own code for those, right now… can’t quite say the same /yet/ for an Arduino. I know I need to learn Arduino. I even have the book… I just haven’t used it yet. Dunno. Not sufficiently bored, I guess.
*It’s a Galaxy S3, sheesh. I bought it used and I had to save up. Yes, I’m poor. Yes, I know nobody cares.
Hyperbole much? The Propeller is $7.95. The Prop 2 will probably be close in price. It’s no $1.29 Atmega chip, but it’s not an Atmega chip either.
If you have no need for 8 cores at 20MIPS per core, then you buy a PIC or an Atmega or a Freescale 6805 based chip. If you want rapid development and prototyping, realtime multi-processing, and LONG product availability, you’d buy a Propeller.
Didn’t realize the Propeller wasn’t a two- or three-figure chip. Given Parallax’s pricing on everything else, I don’t see why it wouldn’t be… but whatever.
I can get rapid development and prototyping with eBay Arduino Nano clones. Ditto product availability — they’ll probably never stop making them, because they’ll always be in demand, and Arduinos are more-or-less fungible in terms of functionality (except for swapping between certain families where the underlying chip changes) — if they ever change out the Nano for a different kind of Nano (like happened with the Micro and Pro Micro clones fairly recently), I can probably handle that.
Heck, I’ve gotten so good at laying out homebrew 80s home micros on paper (by which I mean schematics not wires — don’t get too excited), I could probably get relatively speedy prototyping from one of those, if I had someone to write the freaking software (I’m a hardware dude — wires and signals make more sense to me than variables and arithmetic, by a long shot).
But, hey, sure, keep hopping up a company whose last flagship product (which they’re still bilking at fifty freaking dollars a pop) has one fourth the RAM of an Atari 2600… FFS, dude, that’s just kind of sad.
The Propeller was $25 when it first came out, but it’s been at its current $8 point for at least six years, when I became interested in it. Yes, Basic Stamps are expensive, because they are part of an education ecosystem with a lot of slick product support for n00bs. Have you seen the latest Basic Stamp manuals? Thousands of hours of labor went into those.
By contrast the Propeller requires you to do some thinking. Sure, you learned C and don’t like learning an oddball language, whatevs. They have C for the Propeller now. And while you can do all the stuff the Propeller does with cheaper chips, you can’t do all the things a Propeller can do with the SAME cheaper chip. Need three separate I2C channels? Eight serial ports? Two VGA outputs? Control a dozen servos directly? Synthesize custom drive frequencies? Generate multiple pulse trains with exact timing at the same time? A Propeller can do all those things with no external support except resistors. It has no dedicated pins; all the pins are the same and can be used for any function, so you don’t have to ask whether X peripheral is present in this version. You can put as many of whatever peripheral you want as long as you have the cogs for the drivers and pins (any of the 32 pins) for the I/O. Show me another chip that can do that.
And one of the reasons their stuff is so expensive is that much of it is made in California, not in China. I like the cheap eBay stuff as much as the next guy, but there’s a big obvious quality difference between the ESP8266 modules I’ve gotten and a Quickstart or PropMini. I guess it’s a problem if $25 breaks the bank for you, but you get what you pay for.
Chip is shy of $8, and the quick-start board is about $35 which to be honest isn’t that bad a price. The price-conscious may have some qualms, but Parallax doesn’t seem to be completely out of line in the SBC market.
To Ostracus: The QuickStart was $25 when it came out but while it has climbed to $35, the PropMini is at $25 today and the FLIP which is PropMini-like but has all the pins broken out will be $30 when it arrives.
No one knows what the P2 will cost because it’s not even silicon yet.or even if can be,
The Propeller is old now with little user interest looking at the forum. The 20 MIPS per core is a sweet lie though unless you’re running assembly. The moment you run SPIN you turn it into a dog and may well get a PicAxe or Z-80.
Rapid prototyping. Can do that with a $4 Arduino, Micromite, $12.00 Mbed, Stellaris, etc. Not a selling point when others are offering low cost eval and prototyping boards with complete and free development systems.
Bit banged I/O isn’t a selling point when $4 chips are loaded with peripherals, lots of ram and flash and much faster than the Prop.
Realtime? Well any processor can do real time as long as you write code for that in mind.
Long product availability,. Not a selling point since the Prop never gathered any design wins of note.
Compared to other solutions both in the commercial and maker domains the Prop doesn’t stand out anymore.
Yes for sure!
From my personnel experience, propeller chip is a fantastic device.
I made a mecanum wheel robot, with a perfect wheels synchronisation, one cog per wheel.
Work like a charm.
Guy
Parallax prices kept me from hacking for far too many years. That and their brain-dead attempts to write their own programming languages. If I can help it, they will never see a penny from me.
I have a lot to thank Parallax for. The Boe-Bot was the first thing I ever wrote a line of code for. Also the first non-trivial circuits I built. Copying PBASIC code samples from books (and not wanting to spend all day doing it) made me learn to type properly. I might stop by for this Hack Chat, if nothing else just to say thanks.
Parallax kits are great (imo much better than arduino) for teaching you how things work on a level deeper than plug-and-play. I started with the Basic Stamp at age 13 before moving to the Propeller. It really gave me a solid foundation, though I’ve since moved to Arduino for projects because the boards are cheaper. Parallax stuff is definitely worth the extra cost for beginners who have no prior electronics knowledge and want a good education on the subject.
My first microcontroller was a BS2.
I have used Parallax products for many years.
Sure, the Basic Stamp and Propeller boards are slightly more expensive than others, but the benefits of good documentation, many published programs, ongoing development and a wonderful Forum community is priceless.
I have tried other microprocessor systems, but I find that I can develop prototypes and solutions much faster and cheaper using the Propeller.
I see a lot of hate, but parallax was pushing micro controller education long before any ARM cash grab offerings. Also no one has mentioned that when propeller was introduced, about the only other game in town was Microchip with pic offerings, and pic tools. Would anyone like to refresh my memory of what a Microchip debugger cost in 2006, let alone now?
It’s not hate, more like disappointment. In 2006 the Arduino was becoming available in the US, and I’ll let the readers judge which was more successful. Probably the worst case of NIH I ever saw.
ARM, PIC, ATMEGA, 8051, etc, all have fantastically large user manuals. All those lovely many hundreds of pages etc to read, digest and learn, just to even get a LED to flash. Yep there the ones for you!
Meanwhile, I will program my Propellers with a simple manual. Flashing a LED is really simple. In fact, geting started on the Propeller has to be the easiest micro I have ever used, and I have used most of them for many years!!! When I want to add a UART (or 4, or even more), just check OBEX (it’s a library of drivers) for a driver of your choice, or ask on the forum. Same goes for I2C, SPI, special LCD’s, etc, etc. No need to reinvent the wheel. Want to add VGA or Composite Video, no problem. Add a PS2 Keyboard (yes, most USB keyboards still support PS2 on those pins) or PS2 Mouse. What about an (micro) SD Card, with FAT16/32 support? Yes, all done and available. A simple DOS style OS to boot into (see my Propeller OS) – yes, all done and available, and free too, with source, and even help on the forum.
Peter has a Fourth Engine (Tachyon) running on the Propeller. Free with source and help on the forum. He uses it for his commercial products too!
Us Prop enthusiasts recon we can build products quicker and simpler with a Prop chip. We don’t have to scour thru’ lots of chips to find one with the right mix of peripherals, then ensure they can work together without conflicting pins. We just grab the one and only Prop chip and proceed to gather the right mix of drivers, which are usually available free with source, to do with what you want.
I am always fascinated by those who want to dump on Parallax and the Propeller while extolling the alleged virtues of the Arduino. Masimo Banzi said he was inspired by the BASIC Stamp to create the Arduino. So while he was busy building that from works by others (Processing and Wiring), Chip was devoted to creating something original and out of the common mold. He succeeded. Parallax knows they’re not going to attract everybody, and they don’t care — they put their efforts into supporting those who do give their products a fair shake.
FTR, I am very biased. It was the BASIC Stamp that got me started in embedded programming and I worked for for Parallax while the Propeller was being developed. I’m in a minority, but I love programming in Spin. Anybody who claims to be an Arduino programmer (not a copy-paste warrior) can pick up Spin in about 10 minutes. Like C, it’s very small and purpose built.; in the is case, the purpose is to rapidly code multi-core applications. My latest project is a laser tag controller. It is able to send and receive IR (bullets and command packets), send and receive RF messages via XBee, play WAV sound file, and handle PWM of up to 8 LED channels. All in Spin. 6000 lines of it. Spin is not as fast as C, but it provides massive code density versus C — and it’s easier in my opinion.
If you’ve been thinking about the Propeller buy stayed away because of the C thing, that is now a non-issue. And if you take the 10 minutes required to learn Spin, you may be pleasantly surprised. What to use BASIC? There’s a compiler for that, too. Do you prefer really arcane languages like Forth? Yep, the Propeller can be programmed in Forth, too. And people are doing real work with all of these languages. The fact is that most people see the Propeller as a competitive advantage which is why you don’t see a lot of public crowing about it (one of my clients encapsulated the Propeller and EEPROM in an HVAC controller I coded for them so nobody would know [without some effort] what was in use.). I’m a friend of Parallax (sorry for stating the obvious), so I will shout out when I can. I back this up with a column in Nuts & Volts (“The Spin Zone”).
The competitive advantage thing is not to be discounted. For industrial equipment, where price is not so much a factor, the ability to mix and match hardware I/O with a single CPU platform is a huge time saver. My company charges some insane prices for the stuff I build, because they can because there are no alternatives to be found anywhere. LOL at encapsulating the Prop to hide what you did.
The problem with SPIN is that it’s slow as balls. And the C IDE (SimpleIDE) is utter shite.
The good is that it mixes beautifully with assembler, which is pretty fast, and more importantly, has very predictable timings, much more so than “classical” architectures.
I’m always reminded of Ousterhout’s dichotomy [1]
All in all the propeller is a really nice, albeit a bit uncommon piece of processor architecture.
Perhaps it’s the “uncommon” part what splits the community here so much. I’m among the fans (in case that wasn’t clear :-)
Plus, the whole design (including the VHDL) is under the GPLV3. And for those “doing it” in C, SimpleIDE might be a bit strange, but provides you with all the bits and pieces to “roll your own”: we just have a traditional Make-driven build environment under Linux: works like a charm.
[1] https://en.wikipedia.org/wiki/Ousterhout%27s_dichotomy