'We thought we'd sell 1,000': The inside story of the Raspberry Pi
zdnet.com
zdnet.com
I just got my first pi a few days ago -- I have had so much fun with it already. I'm working on a list of a variety of things I can do with it, as it has really sparked my creativity. I'll probably end up ordering several more for various tinkering.
The possibilities are endless as to what these cheap but powerful devices will allow the creative minds to come up with; very exciting!
Thankfully adapters aren't that expensive.
I know when I was growing up I would not have been able to tinker using the TV for very long before someone else in the family would want to use the TV.
Eventually I just brought it in to work and plugged it into one of the TVs we use for information display for our customers.
--
Since then, though, I've started work on this: http://raspihacker.com
The aim of this is to address some of the problems that I encountered with my raspi.
Another solution would be software that finds the pi on your network. You could just use an ip scanner, but a specialized one could filter out any other devices that happen to be running an ssh server or listening on an ssh port.
Converting to VGA is pricier because of the D->A conversion required.
When they announced it I, and every single 'senior' engineer I talked to said exactly the same thing, "If they can pull this off they will sell millions of these." Granted the engineers designing the Pi were in diapers when the Apple II came out but a bit of history will show you that if you get a 10x jump in price/performance on anything the impact is large and profound. You can use it as an iron clad variation of the mouse trap quote "If you can build a mouse trap that is either 10x more effective, or 10x cheaper than the current solution, you will capture a significant portion of the mousetrap market."
1,000 ? Really? Did they even think about the Commodor VIC20 which was a crap machine but met the mousetrap rule and sold several million units?
I'm glad they've pulled it off, I've got 15 Raspberry Pi boards (5 of the 256M ones and 10 of the 512M ones) I have every reason to believe I can build any of a number of products out of them that would sell in the range of 10,000 a month. So they were just clueless. Now they know.
The next step will be more interesting. Looking for another ARM manufacturer to take the bet, whether its Samsung or TI or maybe Applied Micro. Will be interesting to see.
If you've noticed, we're making fewer and fewer general purpose computers (the trendy call it the 'post pc era') and once again the learning curve is steep and intimidating. Look how many Arduinos sold for $35, now you offer the same thing but it runs Linux at the same price point?
So at the very least they should have guesstimated that they could sell as many there were Arduino's sold. That would have gotten them to > 1M.
I stated "The success of the Pi is really a textbook example of why you want good marketing, product management and strategic pricing plus a bit of timing/luck." as a round about way that corporations should sometimes make bold decisions which may not result in a direct profit.
Roughly knowing the cost of TI's SoC I would assert that TI would have been better off aiming their SoC/board combo at the right price point and perhaps with a detached org to support it.
Not totally. There was beagleboard and other such systems that were also popular with DIY/Makers, that could also run linux that could run fancy graphics, and were $50-$100 but they never took off like Rasp Pi has. Perhaps it was just the right time.
I also seem to remember that there were better PR. Words like 'credit-card sized' and 'desktop replacement' seemed to appear along with RaspPi more often whereas BeagleBoard had "embedded system" and "OMAP" and other technical jargon. Less consumer oriented so journalists couldn't relate to it and hence it didn't get as much exposure.
The price was important. It is below the 'impulse' buy price for gainfully employed engineers. Most embedded systems are $200+ have complex setups, usually a costly IDE setup. They presented a pretty step learning curve, and even though valuable the challenge is the cost risk.
If you see a mousetrap that costs 1/10th your current mousetrap many folks are inclined to at least try it :-)
Incidentally that 1/10th cost is one of the reasons I want to get into designing hardware so if you have pointers on that, it'd be helpful. :)
There's a certain price at which something becomes "consumable" and you can buy one for each project instead of buying "the one" that gets moved from project to project. That bright line makes all the difference.
They are damn lucky they started with the $35 one and not the $25 one like they planned. It would have been (will be) much harder to keep up with demand when they become the same price as Arduino.
TI have had the Beagleboard since 2008 with a Cortex-A8, ARMv7 vs the PI's ARMv6 ARM11.
Nominally the Beagleboard was and is still is pretty successful, but the price tag was double the Raspberry Pi (or more in the past).
However, obviously the Raspberry Pi is wildly more successful at least in terms of popularity even though it is well behind the curve technically in the ARM SoC world.
The problem with the Beagleboard is that it was trying to undercut the EVM/development-board market. This is the world where ARM SoC vendors would sell boards with their SoC on it, sometimes as a reference design in order to ultimately get volume business in the mobile/embedded space. These boards typically cost in the range of 1k to 4k, the rationale behind the market price was that these boards were niche products in low volume and the customers didn't mind buying a few of these before developing their own proto-board with the chosen SoC vendor.
The Pi is pretty low spec, but clearly by hitting a great price point with slightly behind the curve but still capable tech they've won the low end market and a lot of mindshare. Of course whether that turns in to profit for Broadcom is a different matter... but who knows.
Don't know if they have those, the Pi foundation is not a business! (Last I checked)
Not to mention, based on blog posts around the time they were in development, the org was only a couple people.
In fact there is already a number of computers in my household that I could hack instead of the Pi. The router, the Wii, the TV, tablets, smartphones, older phones... - they all have small Linux computers embedded and often there are homebrew projects going on to make them hackable.
Right now there is also a plethora of new devices coming out that are also very cheap. For example, I have bookmarked the TP-Link TL-MR3020 Portable 3G/3.75G Wireless-LAN Router (http://tinyurl.com/akpbwb6 ) which somebody blogged about - not sure what kind of CPU it has, but it is 30€ (about the same as the Pi), comes with a box, power cable, WiFi and 3G. Presumably very cheap tablets (include a screen) are coming out of China, too.
Don't get me wrong, I think the Pi is super cute and it inspires me and makes me want to do something with it. What I mean to say is that I suspect it has become a hit just like other hits: by luck and random chance.
A more realistic goal would be to get $2 million in a Kickstarter and pay a bunch of engineers to reverse engineer the drivers needed to drive an existing high quality SoC GPU. That way we can use existing silicon but have open source drivers. Open source graphics drivers are something that's very hard to find in the ARM SoC world today.
I'd love to start making systems like Raspberry Pi.
How does one start designing entire system boards like this? I know digital circuits and simple DC circuits.
What else do I need to know? I've heard of Eagle before but I don't know to do board layout.
Is there a resource for a kernel engineer to go off and get started designing hardware?
My first suggestion is to get a microcontroller like a PIC and design a circuit board for something simple. Something like the SpiffChorder (http://chorder.cs.vassar.edu/spiffchorder/hardware), which acts as a USB chording keyboard with about a dozen components, might be a good start. Eagle is free for small boards.
The biggest hurdle here is probably getting your boards made--it'll be expensive and slow compared to everything else you're doing.
Now, for most hobbyist designs the rule of thumb is use a simple LDO and the recommended input/output caps (1-10uF) for it and use wide traces to route the power in a star like fashion. Also put a 100nF capacitor next to each power pin for noise and to serve as a power reserve.
More complicated circuits / circuits that will need to go through FCC will require more complicated power distributions. Most professional boards (with high frequency signals on it) that will meet FCC will be 4+ layers, with a dedicated ground and power planes. A PCB I just designed with an FPGA on it had something like 50 capacitors for just the 1 chip, with physical size requirements for each type (the smallest capacitors were 1mm x 0.5mm to block the highest frequency noise, anything bigger won't be as effective).
Don't let this deter you however, looking back on my first schematic/PCB designs I'm amazed at how much better I've gotten. Microcontroller designs with a few chips are very, very lenient. If you mess something up it will likely still work, but your performance won't be as good (i.e. if you use a built in ADC it may not be as accurate, or you might not be able to reliable run it at it's max clock speed)
I've worked with embedded systems before, so it's not totally foreign to me.
But now, instead of programming a SoC or a board -- I want to MAKE the board! :D
I have a concept of how power would fit into an engineering system, but I mean
* How do I do board layout?
* How do I know which components to put on a board?
* How do I know what components go where?
* How do I test the system I want to build.
You learn an EDA tool such as Eagle, pick a board vendor, and produce a design that meets the board vendor's specifications. You submit an order, and get boards in the mail. It's like designing and getting custom t-shirts made, expect much more involved.
* How do I know which components to put on a board?
Mostly datasheets. Once you identify your subsystems (I want this micro, that USB interface, this video chip) you get the datasheets and read them to learn how to design the schematic for that part. How do you pick what micro or USB chip? I start by browsing hobbyist websites to see what is popular and digikey to see what meets my specs and is cheap.
* How do I know what components go where?
On a hobbyist board running in the kHz range? They mostly go where they fit. There are no rules, just guidelines- group things by how they connect, so you have less wire everywhere. Rats-nests are hard to design and debug, and component placement is the #1 way to fight rats-nest. Put central components (like the microcontroller) in the center. Put ports on the edge of the board. Put the USB chip next to the USB port.
* How do I test the system I want to build.
You build it. There's no simulation. You build it, and if things are wrong you figure out why with a multimeter and maybe an oscilloscope.
I guess it's a relative thing but compared to what it used to be I don't think getting PCBs made these days is expensive or particularly slow. (Well, slow is a couple of weeks compared to seconds for a compile cycle I guess...)
A few months ago I got two simple board designs fabricated at a couple of online PCB manufacturers and it cost under $20 per order with around two weeks for delivery from each vendor--for between three and ten copies of each design.
These are my notes on the experience:
http://www.labradoc.com/i/follower/p/notes-seeedstudio-fusio...
http://www.labradoc.com/i/follower/p/notes-osh-park-pcb-kica...
You'll find that most of these newer boards are a single massive chip that contains the CPU/GPU and all related I/O. There isn't much hardware to design anymore.
The rest of the board is either I/O connectors and their related parts (filter caps, pullups, etc), or support chips (eMMC, DRAM, Ethernet transceivers, etc).
Note that these SoC parts are usually highly dense ball-grid array (BGA) devices. This is pretty exotic stuff if you're just getting started with board layout, and we won't even get into RAM timing and trace impedance matching yet.
Pandaboard references (TI OMAP): http://pandaboard.org/content/resources/references
SABRE Lite (Freescale i.MX): http://boundarydevices.com/products/sabre-lite-imx6-sbc/
RPi Schematics (Broadcom SoC): http://www.raspberrypi.org/wp-content/uploads/2012/10/Raspbe...
How does one get started making schematics? Is there a simulator tool?
https://www.edx.org/courses/MITx/6.002x/2013_Spring/about
(I did the prototype version last Spring: https://6002x.mitx.mit.edu/)
I'd recommend choosing a microcontroller, probably a PIC or AVR, in a DIP package and putting it on a breadboard (or are there even ARMs in DIPs these days?). Figure out how to program the chip directly, and get it running by hooking up its supporting components (power, crystal, etc). You can rely on schematics of others' designs for the same chip. At this point you should have similar functionality (blinking LEDs, etc) as if you were using an Arduino (AFAIK Arduino, that is). It won't seem like you've accomplished much, but the whole point is to get comfortable working with raw components instead of anything "magic" (although an MCU is quite magic).
You then want to get comfortable building other kinds of independent circuits on the breadboard, probably hooking them up to the MCU so you're able to use your programming abilities as leverage. I'd recommend starting to play with opamps next (and ADCs on the MCU), but if you've got some ultimate goal in mind (and you probably will), figure out what type of chips are meant to comprise that functionality, get some in DIP packages, and start making them work using manufacturer's application notes as a starting guide.
1. Analysis, both before and after, are much more important than for software. Imagine you're working on a program that modifies its own source code, with no ability to backup.
2. There are no magic black boxes. Every component and pre-baked solution is made up of sub devices that you can be familiar with. Abstractions are there to simplify your overall thinking, but when trying to debug, you are going to be thinking about eg what the specific circuit behind the pin of a chip looks like.
3. Eventually you'll be confident enough to know what parts of the circuit you should build out before even laying out a board, and which should be relatively straight forward to blindly fab. But this only comes with knowing your experience and strengths.
4. This stuff takes a long time to get right. Good luck!
Perfect little "server" for £25, can't beat it really.
I've been eyeing a Raspberry Pi board for some time, but I can't think of what I'd like to do with it. I have NO background in EE - I'm really just a programmer. But I think it would be cool to, say, somehow make a raspberry pi turn my house lights on and off remotely (or via some timer). Now I know that there's the GPIO port on the Pi, but... how do I use it? How do I wire it up?
I think that's my biggest challenge. I have lots of old electronics, and potential uses for the Raspberry Pi, but I haven't the faintest clue about how to wire it all together. Perhaps I'm way out of my element, but I don't even know where to get started. I'd love to see very, very simple Rapsberry Pi hacks using the GPIO ports to interface with existing electronics, so I can get some ideas and so I can learn.
I guess what I'm saying is: I think the Raspberry Pi is really cool for hardware hacks, but I've not got the faintest clue about where to start - only that I want to start somewhere! Does anyone have any ideas?
[edit] In simpler words: if googling doesn't help me, that's the second place I try to search (and sometimes even the first, especially if I already know the thing I need is there).
I wouldn't say it's necessarily a good idea to jump right into a language like this though - even LEGO's normal graphical mindstorms environment will still serve to teach basic programming skills, and it's probably more approachable for a novice.
[1] - http://bricxcc.sourceforge.net/nqc/ [2] - http://bricxcc.sourceforge.net/nbc/
Gauging by how badly I wanted one before they came out I could have told you they'd sell significantly more than 10,000
I mean, I suppose that could technically be considered a thing, but I don't think it is really in the spirit of most startups considered in HN. It's not like they are a profit driven enterprise.
They've benefitted from some extremely skilled people donating a lot of their time and Broadcom selling their SoC to the project at cost for some free publicity/goodwill. There's nothing mysterious about it.
from booking factory time to purchasing the chips — fell to the relatively modest resources of the Raspberry Pi Foundation, a charitable body initially funded by loans from Upton and five other trustees.
"That would have been fine at 10,000 boards [...]"
So right in the article he admits that they were funded for 10,000 boards yet they are surprised they sold 1,000? Considering how Raspberry Pi has been plastered all over HN from day one, it's not a surprise at all.
"The first inkling of the fervour the credit card-sized board would create came in May 2011, when the first public outing of the Pi in a BBC video generated some 600,000 views on YouTube.
Upton and his colleagues revised their initial run of boards up to 10,000, thinking that would be more than enough to meet demand."
There initial plans were to produce far less than 10k. They were surprised when they had to adjust their plans up to 10k, and surprised again to learn that their estimations were grossly inaccurate.
Also, the earliest story here about the Raspberry Pi was from 2 years ago. "Day one" for them was 5+ years ago.
I really have no idea what in the world you think you are getting at.
edit: Ah, nice comment history. Not all there in the head I take it.
I already stated my point. That his article is an advertisement and offers no new information and doesn't belong on HN, and that Raspberry Pi is being falsely modest about their success because they have a lot of resources.
Your comment history looks like the comment history of a troll. I'm probably wasting my time here.
Nice strawman. You are obviously the troll here.