I would like to outline some of the background to the Amino project and perhaps explain better what the project is about.
The Amino project isn’t a single product or board but rather an evolving series of designs made available for opensource and distributed production. Each basic design release will be versioned and or named. The basic design may be produced as is or in a customised format by anyone.
Amino came to be in order to fulfill a series of opensource production goals, hardware unlike software poses some obstacles for opensource production.
Amino groups together a number of concepts that we are working on around opensource hardware production. As outlined in an earlier Folknology post, opensource hardware poses a number of obstacles compared to opensource software.We can help reduce the friction of such hardware production, working around such hurdles and that is really what Amino is aiming to achieve, by putting some of these basic principles into action :
- 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 simply 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.
Lets tackle these one at a time..
Modularisation, we have been working on a bus suitable for use in small devices and embedded designs, this bus allows for modular peripheral cards to be slotted into a small microcontroller motherboard (microboard/µboard/uboard ?) to achieve the required functionality. The bus therefore enables a limited form of hardware modularisation to occur by design. Common peripheral card modules may be designed and reused as can the µboard itself. Composition of these modules can achieve more complex designs without lengthy construction. In essence construction is reduced to the bare minimum, just those parts that differentiate the project or task. Where bespoke build is required it should be possible by accessible technologies such as through hole rather than more complex smd. This allows a greater number of participants to innovate on top of the project.
Standaradisation is of course what enables the modularisation. By standardisation we mean standard opensource implementations with documented constraints, that is led by example and open for anyone to use, reuse or extend within the community. Standardisation by opensource implementation and constraint is led by problem solution rather than top down standard bodies or industry vendors stacking cards in there favor. Standardisation in this manor is designed to optimise open replication, essential for efficient distributed production.
Digitisation has been shown to be very successful in opensource hardware projects like Arduino with its standard shields/interface and opensource development based around wiring. Much of the innovation on Arduino is produced by its founders and community writing opensource software ideal for reproduction as it is again just digits with near zero replication costs. With Amino we intend building on this by offering (where possible) backward compatability with the Arduino Wiring and IDE. But we also intend to extend beyond this to a full build and debug chain based around GCC, OCD, Eclispe/Emacs to provide even higehr end functions such as inline debugging using the onboard JTAG and its powerful boundary scanning. In later Amino versions we will extend this further still using FPGA technologies to expand modularisation deep into the core of the designs. The first Amino design will be focussed around ARM Cortex M3 microcontrollers but we intend extending this range for even greater efficiencies and value across this category. Initially we will produce designs around the STM32 family of Cortex M3 microcontrollers as it provides a powerful and efficient base to begin with. I should restate here that the bus design is controller agnostic and as such could be implemented by any microcontroller with enough GPIO/SPI pins, from a software compatability point of view however there is a great deal more work involved in porting. Where possible we are trying to minimise this by leveraging work already existing in the opensource community.
Reuse is important to maximise use of any given component, it is also crucial to reducing the environmental impact of any hardware produced. If modules can be used in more than one situation it will save production of another. It also prolongs the life of any hardware and thus reduces disposal risks. modularisation also encourages reuse as does programability whether thats microcode,opcode or flashed logic in its various forms. Reuse is also a benefit to rapid prototyping and a move to more agile hardware production will require as much reuse as is feasible. Designing for mashup and hacking cultural norms is part of Amino’s makeup, its form isn’t final it has merely begun expressing itself, it is for others to take it further as far as they can imagine.
What is different about Amino from say the Adruino? First of all we are not interested in just making Yet Another Arduino With kNobs on (YAAWN) there are plenty of those already ;-) Beyond the principle goals 1 to 4 set out above, the Amino is biased toward production as well as prototyping and academia. The designs should be robust enough for both prototyping and small scale distributed production by dealing with build issues like replication, cabling, housing, cost reductions for small quantities, removal of connectors and direct soldering of modules as wells as modular PCB and schematic layouts promoting decomposition/recomposition.
What do we hope Amino will provide? well we would love it to enable more and more folks getting into Opensource Hardware to innovate and to do so openly and in a more rapid fashion. Great agility emerged from opensource software, we believe that opensource hardware will benefit in similar ways. We would like to see these designs and tools in the hands of the creative opensource communities producing innovative new hardware. We are imagining that folks will customise, change, mould and hack Amino designs into things that free their imagination, we sincerely hope a thousand hardware flowers will bloom.
We are also using Amino to experiment with Opensource distributed production and hope to provide further innovation and tools in this space and perhaps just help folks break out of the older vendor driven market places and prohibitive costs associated with its production, who knows maybe we can all reinvent a new hardware economy together, watch this space..