Ken provides an update for the ongoing myStorm build …
Riders on the storm
Riders on the storm
Into this house we’re born
Into this world we’re thrown
Like a dog without a bone
An actor out on loan
Riders on the storm
myStorm is an open source platform for FPGA development which makes use of Clifford Wolf’s Open source Tool chain “Project IceStorm“. Originally conceived over a beer in late May, we are working to an accelerated timetable, and minimal funding to produce working boards by early September. In this post I describe some of the behind scenes activity and look at ways in which you might wish to engage with the project.
The schedule we are working to is to deliver a small batch of factory built myStorm boards by the beginning of September, and as such, we have had to pull out all the stops to achieve this. The initial design began in early June, and my small contribution was the assignment of the pin-out to the FPGA footprint, and deciding which pins should form the interface for the closely coupled fast 10ns SRAM device. The remainder of the design and layout was done by Alan, during the 2 week period that I was on an early summer holiday. On my return, we kicked the can down the road a few times, tidied up a few points -but really made no major changes to what was actually quite an optimal design.
On July 21st we were hapy with the final layout, and sent the Gerber files across to our friend in Shenzhen, Toby Yu
, so that he could get a first batch of pcbs made plus 2 sets of solder paste stencils. These were quickly produced, such that I had stencils and one panel of boards in my hand just one week later
on July 28th.
In the run up to the pilot production – Toby had been trawling the Shenzhen Electronics market to purchase the components.
There are a vast range of specialist stalls – each with a huge range of components – on display for you to choose what you need.
Toby had been lining up a local PCB Assembly factory to run our boards through on the 22nd of August. They have recently been manufacturing various LCD display products – and had spare capacity on their pick and place and reflow lines.
The cost of this exercise was approximately $25 for each of the stencils (4 made) and $0.55 for the pcbs – 5 panels of 12 boards made.
Over the weekend of 29th July to 31st we built up three prototypes and tested them at a basic level see Brewing up a storm
. Followed by Alan working on further testing and loading firmware, as wells as some initial myStorm Pmod
design and build work.
Meanwhile, my job was to create the final Bill Of Materials
(BOM) and then purchase sufficient components to allow Toby to build up approximately 50 pcbs in Shenzhen.
Whilst Toby was going to source the 100 or so small passive components and connectors in Shenzhen – literally only about $2 worth per board, I had the task of finding a source of 50 sets of ICs and getting them sent out to Toby in time for the intended production date of 22nd August
. The factory would assemble the pcbs in 2 days
and then they would be shipped via DHL to Andrew Back
in Hebden Bridge – in time for the Open Source Hardware Camp
FPGA Workshop on 3rd and 4th of September
Whilst the majority of the components came from RS Components
, they only had 17 of the ICE40HX4K FPGAs in stock – with no stock until November. I therefore had to buy the balance of the FPGAs from Mouser
in the US, and these arrived conveniently on August 12th.
of RS Components DesignSpark had generously offered to sponsor the OSHCamp
, and as such he supplied sufficient components to make up 25 myStorm boards. I then approached RS Export for the remaining 25 sets of ICs – as they would be able to cheaply ship the parts across to Toby in Shenzhen.
It was at this point that the wheels started to fall off the otherwise perfect wagon. I was advised by RS Export that the Chinese Customs were clamping down on imported goods, and I would have to do a full customs declaration – an unenviable task if you look at the Chinese Customs online site!
It was now approaching Friday afternoon, and I was no closer to sending the ICs across to Toby. The clock was ticking – and I really did not want to fall to the mercy of the Chinese Customs inspectorate.
In a moment of inspiration I decided to “phone a friend” and made contact with Eva based in Hong Kong, who I have known ever since my first trip to Shenzhen in 1999. Eva and I have worked on various products over the years, for various masters, and she is well versed in how to run the logistics of the Hong Kong/Shenzhen electronic manufacturing business. Producing a customs declaration would not be a problem.
I got the various ICs packed into a box and on Monday 15th 8:30am took one package of ICs to my local DHL agent in Epsom (Mail Boxes Etc). Meanwhile my associates at RS Export had been given Eva’s company address and contact details – and they would ship the components to her in Hong Kong on Monday afternoon.
On Monday evening the DHL tracking information started to come in, suggesting that the components would be delivered to Eva’s Company, Kontoz Ltd by close of business on Wednesday 17th August. A sigh of relief – I was back on track with the tight pilot production schedule.
Wednesday 17th -The ICs were delivered to Eva at 09:45 on Wednesday morning – local Hong Kong time! – and will be out for delivery tomorrow. The wheels are back on the wagon again! With Eva’s assistance, Toby should have the ICs in Shenzhen, in time for a pilot production of 50 boards at the start of next week. Phew!
Working at this accelerated rate is OK for a small pilot production run, but not really sensible for the main run. Buying ICs in low volume from Mouser, paying UK VAT, DHL shipping charges and Hong Kong and Chinese import duty and courier charges is not big and it’s not clever. However – if you choose to make omelettes – you can’t afford to get squeamish about cracking eggs. Getting things done faster invariably incurs additional expenses.
The bottom line however is that 50 myStorm boards will have been produced for an expenditure of about $2000, in just 14 weeks and test our basic manufacturing partners!
Building the Team – and the Community of “Storm Troopers”
With any complex project, it is necessary to assemble a team of movers and shakers, to get things done on time. I won’t say on budget – because we currently have no budget, and we are all going through the development cycle, unpaid – because they believe in what we are building, and see a future for the myStorm project as a whole.
So far, myStorm has been managed by Alan, Toby and myself, but this weekend we enlisted the help of Mark, an embedded firmware engineer friend of mine, who wants to get involved in the open source FPGA platform. Mark and I worked together for 3 years on STM32 ARM based products – He is a real addition to the team and it couldn’t of happened at a better time for us.
In order to build the community around the myStorm platform we are looking for developers with varying disciplines around Linux, Python, low level Arm based C and Verilog. The initial myStorm package will be a Special Early Adopter edition (myStorm SEA) aimed primarily at low level developers and will be somewhat hardcore until we get the software wrappers tied up and organised around it. We are looking for developers keen to get their hands on one of the 25 SEA boards and help with development in the early stages. We have a mailing list just about to go live and this will allow interested parties to get in touch and join the waiting list. If you would like to get involved – please use the mailing list to tell us a bit about what you’d like to do, and we can use the list to coordinate our development work.
Vanilla or Raspberry Ripple?
One of the things that has been on my mind this week is the eventual choice of the STM32 microcontroller – there are just so many variants out there, plus the exceptionally low cost ones from Giga Device. The 64 pin LQFP footprint that we have put on the board is fairly generic – a trick I learned from the STM Nucleo range of dev boards – on board fits all family members in the 64 pin LQFP package.
This gives tremendous scope for customised boards – but in the early stages of the project does make for some difficult choices – of the Sophie’s Choice kind – which do you keep, and which do you eliminate from the mix?
The Cortex M3 STM32F103 is a good all round workhorse – and this is what we have chosen for our basic build. However there are some much newer M4 parts, which are starting to offer much more appeal – and possibly be overall more cost effective. There are some cheap STM32F103 devices apparently available in China – but these might be fakes, and fakes lead to expensive mistakes!
Here are Mouser’s prices for 1000+ parts
STM32F103RET6 512K flash $5.17
GD32F103RCT6 256K flash $1.92 – low cost device from Giga Devices in China
STM32F373RCT6 256K flash $2.87 – has benefit of 3 x 16 bit ADCs, programmable gain amplifier, comparators etc.
STM32L476RGT6 1024K flash $5.11
STM32F401RET6 512K flash 96K RAM $3.80
STM32F411RET6 512K flash 128K RAM $4.11
STM32F412RGT6 1024K flash 256K RAM $4.88
As you can see – there are lot’s of devices to choose from – and clearly the STM32F103RET6 no longer represents the best bang for one’s buck!
In the next post we will reveal the long-awaited mailing list and get the public discussion up and running.