Designing a Microcontroller with Eight 32-bit Cores: Propeller II
Chip Gracey is legend in the microcontroller world. Chip started Parallax right out of high school, and has been working for decades to create hardware that’s fun, powerful, well documented, and open to the community. If you’ve ever worked with the Basic Stamp or Propeller, you’ve used Chip’s hardware before. Chip joined us as host of a Hackaday.io Hack Chat to talk shop and answer questions about the impending release of the Propeller II.
I personally remember spending hours playing with the Propeller Board of Education, so I was especially excited to hear all the juicy details about the next version. At the same time, I learned a lot more about Chip himself, and the journey he’s taken through his career.
Chip: Well...I've been into electronics since I was about 10. Self taught. Started Parallax right after high school with a friend from junior high. Parallax slowly grew to look like a company.
What else? Ah, working on a new chip called the Propeller II. It has sixteen 32-bit cores and has been much designed by the community on the Parallax forums.
I've been busy in Verilog for most of the last 17 years.
Everything has been a lot of fun. It was fun to get the Prop1 done, as it was a full-custom chip. I designed my own RAMs, ROMs, PLL's, logic, I/O pads, etc. That was a big project. It took 8 years. The Prop2 has been going on for 11 now, and I think it's done.
The Propeller is a unique chip in the microcontroller realm. It’s a multi-core device meaning it's really multiple microcontrollers in one package all able to work together and share peripherals. There is a devoted following of developers who use the chips and that community is excited for the sequel, dubbed Propeller II.
Given that the project was started eleven years ago, a lot of people might suspect that the Propeller II would be obsolete the moment it's etched in silicon; not so. In a way, the Propeller II sidesteps the whole ARM microcontroller competition, and instead offers a different way to do things. It also aims to address some of the frustrations with reliability many other microcontrollers suffer.
Chip: People always ask me if the Prop2 will be obsolete when it's done, since it's been so long in the making.
My answer is that it is something new that lets you work in a different way. Most of the microcontroller world has gone the ARM direction, it seems.
ARM is all about running compiled C code and having tight real-time processes handled by silicon peripherals. To get it to do something a few degrees off from its intended use may be about impossible.
It's nice when things work consistently, too. Today, there is a plague of flakiness that affects almost everything. The Propeller idea is to seek safe haven.
The purist will appreciate the idea of a powerful microcontroller that operates on robust assembly code, keeping the programming close to the silicon. It’s rare to find a company that’s willing to embrace the idea of finding new ways to make assembly programming fun and approachable. A lot of this is driven by Chip himself who is a veteran assembly programmer. For those less inclined to delve into assembly, the Propeller II can also be programmed using the Spin programming language or Propeller C. But for Chip it’s not dogma but practicality to each different firmware developer that matters.
Chip: The Prop2 is very flexible, like an FPGA, with maybe macros to handle common things like math operations. You are able to program it to have Nth-cycle repeatability.Read more »
I've been programming in assembly for what seems like forever. So, I have always wished for this and that. Now, I get to implement all those ideas.
Programming in assembly can be fun and really liberating. I've tried to make our assembly language like a playground. Modern architectures tend to be hideous, as the only consideration for their assembly language is C-compiler targeting.
Programming SHOULD be fun. It's a venue for learning...
"Your application is pending."
Really, guys? I figured I'd come over here 15 minutes before the discussion started and get login and whatnot all sorted. This whole "hackchat" thing seems like a really, really bad fit for public events. First there's the requirement to have a hackaday.io login, then request invitation to the "project", then wait and possibly miss the event if the organizers don't approve you in time... what were you thinking? The barriers to entry are pretty damn high, are you actively trying to discourage people from joining?
PS - the announcement (http://hackaday.com/2017/05/03/friday-hack-chat-chip-gracey-from-parallax/) was poorly worded: "Log into Hackaday.io, visit that page, and look for the ‘Join this Project’" I ended up joining the hackchat event itself at first, not this one.