David Cuartielles here. First I should apologize for the delay in releasing Due, it has nothing to do with any of the possibilities described in this thread. Our relationship with Atmel is pretty smooth, our design process has been good, and we have materials in stock. The reason for the delay is that we are overwhelmed with the release of Due, Leonardo, Lottie Lemon, the new servers, the backup system, some other boards we haven't even spoken about yet ...
We have been reassigning responsibilities within the core group since we are far too busy to be able of attending everything as we used to and making sure hardware makes it to developers is one of our main concerns. This adjustment process has taken time, we have even opened an office in Torino (Italy) to handle a lot of the small day-to-day things that an open source project like ours requires.
If I look at this thread I can see three topics:
- one is about the actual Due, when and how
- one is about the Arduino platform, why it is successful or not
- a final one is about the openess and not openess
I will try to elaborate on the three topics, but we should probably separate this into three threads and discuss things separately.
ABOUT THE DUE
Asap is the answer. We are working together with Atmel in polishing the BASIC Arduino experience to the board: coding in the IDE, uploading to the board from any platform, monitoring the serial port from any platform.
We have changed processor a couple of times because we want to have something powerful enough to cover many of the things you guys are already doing with Arduino and with other compatible platforms plus adding the power of the 32b. And don't worry it is a standard ARM processor, everything it can do with it at low level is already available in the datasheet of the processor chosen for the task. Please do not ask about the processor, this is the one secret we keep until release date. When the developer's edition of the board comes out, you will be able of making anything you want to on that core: Real Time OSs, basic Arduino functionality, DSP control ... up to you, but you will have to know how to make it ... therefore the name "developer's edition". The initial hardware design is very much like the current Mega, but we need some sort of form factor to reach you guys, let's discuss once the first release is out there.
ABOUT THE PLATFORM AND ITS SUCCESS
It is true that we did never expect to get our platform as far as we have done. We wanted to have something that could work for the lecturing scenarios we were facing at different European/American universities where we were teaching. We had years of experience in different platforms and some of us (Tom to be precise) had even successful books out there talking about how to make prototypes.
We realized that it was time to make things a little better and one of the most important ones was to reach as many as possible by:
- having everything open: designs, documentation, software
- being crossplatform: making tools that could run on any computer, anywhere in the world
- being very active teaching to people, not caring about their initial resources or experience
- making it competitive in price: we would not include any expenses coming from R&D into the actual design, like others did before us
These four rules required an effort from our side that nobody had been making before. In the "being active teaching to people" chapter: e.g. I spent 2006-2007 travelling the world teaching at different venues. Arduino would NOT pay anything for that, I had to close a deal with a certain university somewhere, make sure they would get the equivalent to the current "starter kit", teach the class, help the teachers there get used to the tools for them to move on, etc. The big difference between hardware and software -in my eyes- is that you need to be there, in a one-to-one situation to help people get started.
Have you ever heard of a company that has people working for it FOR FREE? This is not very different from what happens in the open source/free software world. You sell your expertise as a programmer, because the code is already there.
To be honest, the reason why I, David Cuartielles, was doing this is because I saw a great opportunity for me to write my PhD thesis in educational technologies. The whole world has been my playground to experiment with this platform and try out with people from all over how they felt about digital technologies. It was NEVER about making money. Not for me, and not for my partners. Each one of us has his own story about why Arduino was/is relevant for us and why we were doing it. I believe this is what many of you have also seen in Arduino, a chance for you to build your own personal relationship to a technology that you can use in your everyday life and that you can profit from.
In some countries I was invited by the local ministry in education, like in Argentina, where I made courses for teachers to evaluate what digital technologies meant for them. My courses were not just about Arduino, but Processing, Puredata, linux, etc. I made, with the help of the maker of DyneBolic, a live CD that included all of the above plus open office, etc. I had, and have, a political agenda in openess, specially when it comes to education. This was far before Arduino was part of the Debian/Ubuntu distros.
Summarizing, the reason of Arduino's success is putting hardware at the same level of "fairness" as open source/free software. Highlighting that hardware is nothing that happens inside a magic black box.
ABOUT BEING OPEN
Then again, about the discussion whether our process until now is open or not ... well ... making hardware, or open hardware is far more complex than just making a board. Some companies force you signing an NDA on the features of one of their chips before you can even start prototyping on them. Look e.g. at Raspberry Pi's FAQ and their statement about open hardware ... they just cannot be, period. We made no compromises, we release everything, but until Due we have been in the situation where we were just releasing small modifications on our previous designs. It made no sense to ask anyone to discuss about the boards ... there was no disruptive innovation in them.
In 2010 we used a whole lot of the Arduino savings in launching an even in NY where we invited relevant members of the Arduino community to come together and discuss about the platform, about the future of it, about how to make it better, how to get people even more involved ...
... one of the results of that meeting was that people wanted to be more involved in both the core development (and please join firstname.lastname@example.org if you want to be discussing about the development of the core) as well as being part in the hardware development. During that meeting Massimo introduced the idea of the development made at the Mozilla Foundation where they could reach very quick iterations in design by involving users in a certain way. At that point, internally we had been talking about the 32b version of the platform and we thought it could be a great opportunity to create the so-called development batches for people like most of you involved in this discussion to be a part in the creation of the next generations of boards.
We spent a long time during 2011 thinking about how to make this and we decided Due was the right step to take. We wanted to have Due demo'd on stage at Maker Faire 2010 in September. We wanted something more than the announcement. But there were technical issues beyond the Arduino team that made it impossible. For you guys to know, we brought our software development team all the way to NY because we believed possible to have a board on stage. They worked overnight to make sure the bootloader did the job and, unfortunately it was finished after the end of the show. Our idea with the Due was -and it still is- that we will make the basic things work on it, we will release it, and will invite you, that are interested in discussing about how to make things, to be part of the discussion.
When you want to make something cost-effective, and you want it to reach as many as possible, you need to make sure you ship your first 1000 units in good shape, and that you have enough parts to send the second 1000 in a week, because that is what happens in open source hardware: you make it and if it is successful, it will be copied (probably also improved) ... the only way to make things good is being there first, and making it right at first. Well, in this case we want the second 1000 to come with your improvements. We need to make a board that works, and on top of that we can all play and make something better.
So being open for us is to put everything we learned in the process of making things back to the community. And also now to bring the community into the development process of the software and the hardware.
I hope this answered some of your questions ... it took me some time to write it.
as I have manifested this at plenty of conferences, open software gatherings, etc,