We are FiveNinjas: James Adams and Gordon Hollingworth from Raspberry Pi, Jonathan Williamson and Paul Beech of Pimoroni, and Mo Volans, entrepreneur and music producer. We’re here to tell you how we created a consumer product with the Raspberry Pi Compute Module in our spare time, and launched it using Kickstarter. It has been a long journey, but we’ve learned a lot and now have a growing and enthusiastic community over on our forums, a video channel, and even a user-created HOWTO Wiki. Finally, all Slice’s software (which is a modified version of the fantastic OpenELEC and Kodi) is available on GitHub. We hope this post will be interesting or inspiring to those who want to follow in our footsteps: grab a mug of tea and read on…
Gordon gives the background:
FiveNinjas began with the Mo Volans’s idea of a media centre built around the Raspberry Pi, including everything you needed to get going without requiring lots of knowledge about how media centres work. He first got in touch with Paul and Jon from Pimoroni to discuss the idea, thinking that he could create the simple software build required and Paul and Jon would be able to create a laser-cut case to contain the Raspberry Pi, a hard drive, and WiFi. They also came up with the idea of adding the LED ring to provide visual feedback. Between them, they created the first Slice video, which they showed to us at Pi Towers.
I was amazed by the idea, and believed that Slice was going to be a great product, but I also thought it could be better. Around that time, we were developing the Raspberry Pi Compute Module which would allow smaller and more custom hardware in a very small package. It was perfect for the Slice, as it would also allow us to use a standard SODIMM connector, while remaining backward-compatible with future Compute Modules, and enabling users to upgrade their boxes.
I came on board, bringing James Adams with me. James went to work on the hardware schematics and I went to work on the software. At this stage, we were still trying to start up the Kickstarter but knew we had to wait until we had the first version of the hardware because Kickstarter require you to have implemented a first prototype.
The first thing we had to do is to set a timescale for the Kickstarter, which can be tricky. The longer time you set, the more opportunity you’ll have to get people interested in the product. However, you’ll also have a longer delay before you can start ordering supplies for your project. In the end, we had to wait about six weeks to be able to order the PCBs, even though we had already finished the design. Interestingly, the optimum time for a Kickstarter is probably significantly less than you’d expect: we took five days to hit our funding target but then couldn’t start ordering parts until around four weeks later! Finally, we ordered the first set of PCBs, and I began the task of developing the test code.
One of the most important parts of the PCB manufacturing process is developing the manufacturing test system, which is the test that tells you whether the manufacturer has actually built the hardware correctly. If you find a problem at the manufacturing stage in China it is relatively quick and cheap to fix it right there. Whereas if we find the bug later when the PCBs have been transported to the UK, we’d have to either throw them away, fix them by hand, or send them back to China! The test system for Slice was built around a simple Buildroot Linux kernel, which is actually the same way the Compute Module is tested. The Buildroot kernel can be pushed into the Compute Module over USB; the software can then run through the test process.
This is a video of the FiveNinjas Slice product being tested. It is actually very simple to execute a linux buildroot on a compute module without having to program the Flash at all
The test schedule included the audio output, the LEDs, HDMI output, the USB connections, the internal SATA hard disk, and the infrared sensor; each test required the operator to complete various checks, whereupon it would output test results and the serial numbers for the Compute Modules.
I also wrote a similar but slightly different programming Buildroot kernel. This was used to program the Slice eMMC, copy data from a server onto the hard drive, install the licenses, install the recovery system and then boot into the Slice operating system to check everything was working. This takes about one minute, but, because the whole process is done automatically, it could be done in parallel.
The testing was a success: Slices are now programmed with the latest version of our software as they leave the warehouse (as you can see in the picture). The Slice software (which is fully open and available on www.github.com/FiveNinjas) has also been maturing thanks to lots of feedback from users, and we are continuing to improve it.
Jon says: Friends don’t let friends do cases (unless they’re made from laser cut perspex!).
Early on we decided that we wanted to make Slice something premium and special. We quickly decided that milled aluminium (aircraft grade, what else?) was the order of the day.
We had loads of experience making acrylic cases but had never embarked on something that required full 3D modelling. With a vision of simplicity that would accentuate the lighting ring, we knew exactly what we wanted. The only problem was we didn’t know where to start. Luckily an old friend works for Autodesk, and could provide some tips on how to get started which were amazingly useful. Armed with a killer CAD package, I spent a weekend producing the first design files. We had a viable model for machining! Fortunately, in those days Pimoroni was next door to a tooling company, who prepared a few prototypes for us to test with.
Machining in the UK was impossible due to costs, but fortunately we had friends in Taiwan who visited a few machining companies and came back with quotes that would work. The only downside to production in Taiwan was that we couldn’t risk placing a single order for all the units at once. We had to quality control batches as they arrived otherwise there was a risk that we could receive a heap of junk and the whole project would have been in trouble. We settled on batches of 200-400 units at a time, which balanced risk with speed. Generally this worked pretty well but it was slower than we would have liked.
The case production process was fraught with delays due to the fact that there are three steps: machining, bead blasting, and anodising, all of which are done at different places. The end result is, however, undeniably lovely and makes Slice something quite special.
Paul says: It’s hard to be Jony Ive on a budget of less than £1m.
The Slice Kickstarter was a success. This is a lot harder to achieve than it looks, but we had a stellar team with a good overlap of talents and a great, supportive community. For me, the joy was getting back to the days of hard disk players, but smaller and sleeker. Nowadays, everything and its dog has Netflix, so I was keen to see something with usable software and a simple setup for the old skool crowd.
Unfortunately, 500-1500 backers is pretty much the valley of death for hardware. If you want to make 100 of something, you can do it locally, at high cost, but probably beautifully. If you want to make 10000 of something, you can do it in the Far East, quite economically and with good quality. In between, you’re in a sticky middle ground. Things like electronic components come in reels of 2000-3000, factories don’t get out of bed for less than 10,000 pieces, and you don’t have time to play with R&D of 100 units to get things right and smooth. You have the higher costs of smaller-run production but without the benefits of doing things big.
Fortunately we had a lot of advantages, or we might have struggled. There have been mid-sized crowdfunding projects that have gone horribly wrong. We haven’t been one of those, and the results have always been satisfying, even when late.
I got a real kick out of seeing the case come to life. It’s simple, beautifully finished, and without fussy details. I didn’t expect us to be able to nail the finish this well, but the results are pro-style and built to last, which is handy as we’ve made the Slice upgradeable.
James says: Circuits are fun, but there’s more to it than that…
Designing the circuitry and circuit board (PCB) for Slice turned out to be more of a challenge than expected despite having lots of experience.
The hard part of any design is the balance of features and trying to come up with low cost yet functional and well engineered circuitry. Using the Compute Module made the entire project possible, as we knew we were building on a stable platform and could concentrate on all the other parts.
We spent many hours working out how to mount the hard disk, the LEDs, and Slice’s LED diffuser. Eventually we settled on the solution we have today, which works remarkably well despite being very simple!
We created three sets of prototypes at our own expense, and did all the testing as well as compliance testing. Thankfully this all went relatively smoothly, but even for the professionals it takes a lot of work and usually several prototypes to get things right. Let’s not go into how much time was spent arguing about and testing the layout of the ports on the back of Slice and spacings between them….
Mo says: I had an idea in my kitchen, gained a team in Sheffield and lost my voice in New York.
My journey with Slice has been a little different: from the initial idea to putting together the Kickstarter campaign, everything has been about concept and image for me. I’m always a little obsessed with how things appear and whether or not people will perceive something as a quality product. This moulded my interactions with Slice.
It all started in my kitchen. A Raspberry Pi, a hard drive, a few sensors and a huge bunch of wires were stuck to a TV. I was convinced the whole contraption could fit into a box and become something that people would want to use, so I got to work with my Dremel and took my first prototype on the road.
I approached a few companies at this point but the best fit by far were the guys at Pimoroni in Sheffield. After a few boozy meetings, the first solid Slice unit was born.
After my wife Emma coined the name Slice, Jon added some LEDs, and Paul came up with a killer logo, it was time to get to work. Kickstarter was our chosen route but we needed a working prototype and some great footage. We made some progress but something was missing, Slice was just too big, and our efforts were a little unstructured.
It was at this point that Jon and Paul introduced me to Gordon and James at Raspberry Pi. They loved the idea of Slice and FiveNinjas was created (Emma gets credit for a second name here). We suddenly had expertise in marketing, hardware, software, logistics and design, as well as the new Compute Module.
In no time the new compact Slice, complete with custom PCB and milled aluminium case, was born. It was a great moment to see my humble concept transformed into a solid working unit.
It was time to go back to Kickstarter, where the real work began for me. The guys had done such a good job I knew I had to go all out to make the slickest proposal I could, and nothing was left to chance. The campaign itself was no less intense, with thousands of questions, some awesome press coverage and trip to New York Maker Faire (where I lost my voice talking to thousands of people and Slice won two editors’ awards). In the end we smashed our target and we’re now distributing thousands of Slices.
Mo Volans from FiveNinjas shares Slice at World Maker Faire New York 2014. It’s a set-top media player that’s based on the brand new Raspberry Pi Compute Module. They’re in the process of crowdfunding the project, and have met their funding goal. Since it’s based on the Raspberry Pi hardware and XBMC software, the platform is totally hackable.
The journey post-Kickstarter has been bumpy: we’ve hit some serious obstacles but we’ve tackled them and come out with a bunch of happy users. Slices are now flowing freely and we are good to go. Hopefully this just the beginning for Slice.
The post Creating and Kickstarting Slice, the Compute Module-Based Media Player appeared first on Raspberry Pi.