While looking for how to connect a 3.3V I/O pin to a 12V 2A halogen lamp (see here and here), I found some interesting alternatives to ‘normal’ microcontrollers: the Propeller from Parallax and XCore from XMOS.
Those 2 products look very similar:
The Propeller has
- 8 CPUs
- 32 KB shared RAM
- 8 KB RAM per CPU with a interpreter for a language called SPIN (think: byte code interpreter a la Java)
- 32 I/O lines total with 40mA sink/source
Compare with the XS1-G4:
- 4 tiles (AKA CPU cores) with 8 threads
- 64 KB RAM per tile
- communication links between all tiles (like Transputers had, except on-chip)
- 64 I/O lines per tile (with 4mA sink/source)
The Propeller is supposed to be a microcontroller. The XMOS chip more a FPGA replacement, especially when general purpose CPUs are needed, and the latter looks like a grown-up Propeller with more of everything.
What they have in common:
- 3.3V I/O (they have this in common with the LPC2148)
- no interrupts
- no periphery except timers
- whatever you need (e.g. serial port I/O, I2C bus), you have to program yourself
Interesting concept those two.
In my case both are, while interesting, not so suitable: the Propeller’s development boards are not plentiful and not cheap (about US$99), compare that with US$39 for a small LPC board. The XMOS development is US$99 too, but that’s a pretty naked PCB. The latter chip shines when lots of I/O is needed (like this TFT display which needs 28 I/O lines to be updated every 110ns (9MHz pixel clock) to drive the display).
Should an inexpensive and usable Propeller board exist (this would qualify as it’s US$40, but I cannot order it as I cannot read Thai and they don’t sell the board to non-Thai-speaking people yet), that might change as it looks like a lot of fun to program: less figuring out how to initialize a component like the I2C controller and instead more programming it yourself.
Update: I could order that Propeller board from ETT and it’s neat and cute, but not much time to play with it except making sure it works. And compiling a small program to verify I can upload code.