Well its been 6 long months since my last post here, I must apologise for that unprecedented delay. I have been tied up with an existing commercial software project which has been extended in its scope. But I haven’t been idle with the Amino work. The last 6 months of work around it have been focused on the missing fifth tenet of Amino requirements, lets remind ourselves of the original four:
project, so lets remind ourselves of that projects initial aims:
- Modularisation – A modular topology enables common components to be snapped together using composition, allowing focus on just the custom features of a given project or task, it also reduces complexity and leads to faster project turnaround.
- Standardisation – In order to have modulisation and composition as well as reuse, standardisation is required via opensoource implementations made available for testing, production, modification and experimentation.
- Digitisation – Opensource software is perfectly digital it’s reproduction is as simple as copying bits, hardware isn’t so simple, but the more of it that can be digitally expressed and rendered the easier its reproduction and the more accessible it becomes to a larger audience.
- Reuse – Being able to reuse as much hardware and software as possible reduces consumption and is more environmentally friendly. Common modules or components can be assembled at reduced cost minimising overlap, they can be reused time and time again for experimentation and prototyping. Hacking culture often seeks to reuse, mashup and redefine items for use elsewhere, design should embrace this modern form of cultural reuse.
The fifth is Communication and it is an essential ingredient for Amino moving forward, without it Amino becomes another island technology. Initially I took the default recommended path, going with USB as primary and adding other options like TCP/IP as secondary mechanisms. This choice makes things simple as USB can carry both power and data and is ubiquotous enough via the common all garden PCs we are all to familiar with.
Little did I realise what I was getting into however, USB is a bit of a minefield with different connectors, versions and complex driver requirements on both ends of the cabling. Add to that Amino’s high requirements and I was soon having issues with the design and workload. The straw that broke the camels back however was the can of worms implementation considered standard on the Xmos family of development boards, along with its debugging tools like Xtag2. The deeper you dig the more screwed up it becomes. Finally after 6 months of fighting it I gave it up as a lost cause, opensopurce USB for Amino is a no go.. I am sad that I spent so long worki ng out what an evolutionary cul-de-sac it was.
Moving on however I decided to accelerate my preferred long term plans for Amino’s communication architecture based around TCP/IP. In the last couple of months I have redesigned the entire project around TCP/IP communication and it will come with a network stack included. I hope in the longer term to port all tools over to TCP/IP with help from the community, I will talk more about this in a later Post.
The Amino hardware reference design (Formerly Amino Alpha) is nearing design completion and will offer even greater support for all 5 tenets than Alpha could have even hoped too. Its getting quite exciting and I think you will like the new design. I am dedicating the next few of months to getting the refernce platform out, starting with a couple of prototypes followed by a small early adopter build for those that have been and hopefully will continue to get involved early on. If you interested in getting your hands dirty and helping to get the platformed developed at an early stage let me know and I will include you in alpha geek first build.
I will provide some more of the design details in the next month or so as soon as the prototype layout is finished. I just wanted to provide a brief update where we are with Amino, as usual if you have any questions around this please feel free to comment or contact me..