So 2009 passes and 2010 begins, it’s goodbye to the ‘noughties’ and hello to the ‘teenies’? For Folknology however the start of 2010 is an important milestone and marks the transition away from software only projects, everything from here on out will be a combination of software and hardware, we are not taking on any new software only gigs. It is also the start of potentially fascinating decade of possible innovation not dictated by the Microsoft/Intel unnovation, but rather by emergent opensource hardware and software combinations that will bring into existence completely new ways of building information technology innovation.
As part of my research over the last two years at Folknology I finally have some of the pieces of the Opensource Hardware (OSH) and OpenSource Software (OSS) jigsaw in place, enough to begin building a much bigger picture. This also means I can focus in on some of the critical tasks that are required to move Folknology’s OSH plans forward. It is always good to sharpen one’s focus so that the building can begin on a solid foundation. But before I enumerate where the labs are heading I would like to give you an update for the last 3-4 months where it has all come together.
Whilst working on Amino at the end of summer 2009 I met with and researched microcontroller vendors like TI/NXP and STM etc..those conversations reshaped the initial plan for the project, I ended up dropping STM and looked at porting to NXP’s ARM Cortex M3 with a view to later settling on NXP’s emerging Cortex M0 platform. The reason for the change was based around cost/performance/value propositions that the M3/M0 combination offered. NXP was the only vendor that could provide pin compatibility all the way through along with tempting pricing. More importantly NXP had a promising story around opensource toolchain support (based around OCD/GCC/Eclipse). So why aren’t I announcing the proverbial ‘Amino delivered using M0/M3 NXP parts’ win post? Well the tools/parts I needed to follow through didn’t show up within the expected timeframe, this wasn’t any major slippage, rather just a short delay and poor follow up by the vendor. The delay was just long enough to give me thinking room to explore the upper bounds of Amino as projected into the future, the breather enabled me to explore some ‘what ifs’ particularly with respect to the higher end applications around audio/video/music and other general DSP like requirements. I had always planned on adding FPGA modules to help handle these more bandwidth intensive applications of Amino. It was in this period I started hitting road blocks, the FPGA market place is a mix of competitive silicon production of increasingly high densities, interlaced with numerous business models based upon intellectual property (IP). It is not straight forward and there appears to be little appetite in the industry for an opensource approach to innovation. In fact the more I spoke with industry proponents the more alien the concept of opensource hardware/chips became. I was just getting to the point when I was ready to kick down a few doors in anger when I had an epiphany, not a sudden one but rather something that had been bubbling up for months unconsciously, triggered by a conversation with a like minded individual. I was at the Open Hardware Camp at Nesta having a few drinks after the event chatting to Omer about the things we were both working on. Coincidently he was about to embark on a fiendishly complicated PHD project around reconfigurable vision systems and had been doing a lot of FPGA research before implementation. As I explained what my problems had been moving OSH format forward around Amino, I managed to coin what I thought represented an ideal vendor offering, the core technology that could enable the transformation we required.
My thinking was based on conversations with many folk over the months but boiled down to what if the basic logical building block was a super fast multithreaded cores that could be assembled in multiples to match the application, rather than the tricky FPGA programmable logic blocks which varied considerably between vendors. This would allow the complex FPGA proprietary toolchain issues to be bypassed and a simple code based model (c/c++ or new even a language) to be developed around existing opensource tools and libraries, I even mentioned parallax’s propeller as an interesting but less than perfect example way forward.
With Omer’s interest in Arduino as well as he’s knowledge and experience of the FPGA issues he quickly got where I was coming from and asked me if I was familiar with XMOS, as he had also been working with the XCore silicon and was even considering arrays of G4 multicore versions on mass like XMOS’s XMP-64 platform as a possible hardware candidate for his PHD thesis. It was at this point I had my epiphany that maybe there was already a way forward that I had forgotten about months ago, I hadn’t looked at the XMOS technology since early 2009 when I was still thinking Arduino compatibility and it had completely escaped me as a candidate to solve the current issues.
The next few days were spent catching up with what XMOS had planned and what their game plan was moving forward. It became clear to me that they could well be a candidate not just for Amino but a range of higher end ideas I had been playing with for sometime. Over the next few weeks and months it became clear that XMOS was not just a candidate but quite possibly the answer to more than one of Folknology’s visions, so I decided to integrate those concepts into a more coherent strategy not just with Amino projects but a number of potential community initiatives that could help push the OSH envelope much further forward perhaps in conjunction with XMOS themselves. In the next few posts I will expand on Folknology’s OSH vision for 2010 and beyond as well as the opportunities offered by technologies like XMOS’s XCore and their opensource toolchain and look forward to your contributions and feedback..