Go Down

Topic: Illuminato X Machina: modular OSHW, ARM+Arduino (Read 11467 times) previous topic - next topic


This is amazing! A few questions: what kind of application can be made to take advantage of a cluster of such devices? How would one connect sensors and actuators to it? Can each one run it's own sketch and share it's data on the network? And so on...

Why not add connectors top and bottom so you can go 3D?  

Yeah, I can already see a Borg cube being born... Right now the collective is just 2D, but hey, anything is possible...


Wow, the boards look really smart and well engineered!

But, honestly, what would one actually want to do with those?
Maybe heavy number crunching, but that doesn't really sound like something the typical arduino or DIY user would need... By them it could be seen as a very expensive LED Matrix Display... ;)
I really don't like asking this kind of killer argument questions, but in this case I just have to.

Btw, the transputer came to life again at www.xmos.com. They are about to release a board with a grid of 4x4 chips on it. With 4 cores in each chip, that makes a total of 64 cores multiprocessor power.
And they have a C-based language, which has distributed thread control and communication right build into it.


@Nachtwind - thanks :)

@Adr1an - well, nothing ever sees the light of blogday unless it works, that's my one personal rule for my projects. actually the name liquidware came from the fact that i kept getting annoyed when real electronics and hardware companies release "demos" and "prototypes" that either don't work, or are total vaporware. its like you get your hopes up reading engadget and wired, you bookmark everything, and then no one ever does anything with it - sad. cheesy, i know, but i think you're the first person who ever made me mention what "liquidware" meant to me... hmmm

@devlinse - ok, so not *all* of the libraries, but the core language, so things like digitalwrite, digitalread, etc. from the main spec are ported. the main reference language. that's because i've spent way too much of my life writing functions in arduino sketch code to not have it portable - ha. for other libraries, it depends - the ones that are algorithmic port over easily, because there's a c compiler underneath for the arm. for the ones that reference special features of the atmega on the arduino like the number of IO's, or assuming the analog port locations, that's when code doesn't run immediately, or needs to be "ported" by just redirecting the pins... chris and i are workin' on that... have any specific library in mind?

@per Arduino ad astra - hmmm... welll... i have a few 90 degree connectors on my desk right now, and have put 6 of the IXM boards into the shape of a cube, so it definitely goes 3d so to speak (exactly what Nachtwind said)

@Ro-Bot-X thanks! i'm gonna write up a post with chris about the connector interface. dave put a *LOT* of thought into that. each board only needs half of hte connector to communicate. each connector pair is flip/flop direction ambivalent, so it autosenses and autocorrect for orientation. that also means though that if you only connect half of the edges together, the other unconnected row becomes a row of IO. ugh that description stunk... blog time

@Oliver Keller - yeah i've been learning a lot about all the different types of similar arm like or parallel embedded processors out there. this isn't mean to compete with those, no way... those are for professional engineers who are making consumer devices and pro stuff. the illuminato x machina is all about education, teaching, and making modular parallelism as easy and accessible as physical computing arduino made learning electrical engineering. that's why this is all about arduino stuff - arduino is about open source learning... the illuminato x machina just takes that into a bit more of a "theoretical" direction for cs guys and cs grad students who were starting to push the envelope of arduino. on the other hand, i have tons of project ideas, so i'll be writing them up on the blog... like simple folding, ai life, diy cellular organisms :-)

anyway, you motivated me to write up a much longer article about this, which i just posted on my blog... (this is totally not about blog spam so i'm not including the link, but its liquidware antipasto if you're interested?)


So would your Arduino port work for something like the STM32 Stamp sold by Futurlec (http://www.futurlec.com/ET-STM32_Stamp.shtml), which looks like a great deal?

I am new to this so excuse my ignorance I am missing something critical.


Aug 21, 2009, 09:25 pm Last Edit: Aug 21, 2009, 09:26 pm by inthebitz Reason: 1
@per Arduino ad astra - hmm, afraid not, not yet at least - that board is based on the stmicro arm chip ... i just googled and found this discussion about the stm arm, which doesn't look promising: http://www.st.com/mcu/forums-cat-5951-23.html&start=0... looks like a lot more work to port that chip to arduino. the illuminato x machina is based on the NXP arm chip... at least for now ;-)


Hi Matt,

Library wise, no nothing specific.  The only non-core one that I've touched on so far is for the MAX7221 LED driver.  I recall that there's been some speed running into refresh rate constraints on large LED counts but I haven't hit those with my half-baked attempts.  But, I'm a bit of a $6m guy - stronger, better, faster and this sounds just the ticket.  

Sadly I don't have $6m seed money, but $50 a pop is very tempting (especially compared to the $25 ANT board I just brought that it turns out can't interoperate with Suunto fitness gear)



@inthebitz - A lot of that thread is very old stuff, the STM32 chip is fully supported by the Codesourcery gcc toolchain. So I would say it is as easy, or difficult, as porting Arduino to a NXP arm chip. You can also check this project http://blogs.leaflabs.com/?p=91 .


M Lundin - well there you have it :) well technically anyone who wants can download the antipasto arduino branch, and start working in those tools into the structure. I specifically made a "sandbox" within the backend of the IDE, so you could plug in and swap in/out different compilers for different types of chips... that way the compiler IDE isn't constrained to ARM any more, you know? Bring it on!


Aug 23, 2009, 03:18 pm Last Edit: Aug 23, 2009, 03:27 pm by gbulmer Reason: 1
The build tool swapped into the Antipasto Arduino is named ANT

AFAIK, ANT isn't part of a normal Arduino IDE install. Has that changed with Arduino-0017?

If Ant isn't in Arduino-0017, what caused you to add an extra "moving part"?



This reminded me a LOT of the Transputer, 1980s believe it or not. I used 16 in Japan to do ray-racing for TV commercials.

Before that though we had to get it tro work:


We used occam, a language for parallel processing, I wonder if there is a version for the Arm?


On a smaller scale, I seem to remember a Byte Magazine article about using parallel MCUs to calculate fractals.


@gbulmber - yeah, ANT is definitely not part of the default arduino ide. Chris and Omar and I added it specifically so that we could modularly add different processor cores. The Arduino code fork right now is based entirely on the Atmel, and I knew there was a good chance the IXM wasn't going to have an Atmel, it might have some other kind of chip, probably ARM, and rather than use native tools or different compilers, it made sense to use the Arduino core because of how simple and intuitive it is to code with...

@oransen - so wait, you actually used a transputer? i don't suppose you have any of the old specs or documents, or architecture sheets lying around by any chance? i've been dying to find some... also I've been reading more about occam. it seems a lot of the original ideas in it have been extended quite a bit, especially the par, and seq. i've been reading about the DARPA project with cray's chapel and sun's fortress programming languages...

@per arduino ad astra - i've been wondering if it might be possible to parallelize floating point calculations simply, like how cray did it... that's my current project right now, trying to make a parallel vector machine ala the cray mp series, out of arduino's and illuminato x machina's


An innocent question: can't you do parallel floating point math with the uM-FPU V3.1 coprocessor?


@inthebiz - I definitely like  idea of using a modern build tool, like ANT, so that the build and toolchain details are in a "build.xml" file and not hardcoded in the IDE. If this benefit outweighs the complexity of another third party tool that must be installed is not so obvious.

But, at the moment my BIG problem is that all versions of antipasto aruduino that I have found, and I have downloaded from the github repo and prebuilt from Liquidware, are missing the build.xml files for the cores. So the Antipasto/Arduino IDE refuses to build anything, including avr/blink.

Unfortunatly this makes it into vapourware with regards to my testing.


@Lundin, the IXM is a different version of the IDE... maybe try building with the one on Illuminato Labs http://www.illuminatolabs.com/IlluminatoDownloads.htm.

Go Up