The theoretical education imparted at engineering colleges does very little to help an engineer learn how to develop products. So, how do you get started? Eben Upton, founder of the Raspberry Pi Foundation and SoC architect with Broadcom, speaks with Dilin Anand of EFY on the eve of Raspberry Pi 2 launch.
Q. Tell us about some exciting projects that you have seen built with Raspberry Pi, or Raspi?
A. There are two hobbyist projects that I have found interesting. One is a homemade GPS receiver built by Andrew Holme, who has used commercial off-the-shelf parts and field programmable gate arrays (FPGAs) to implement digital-logic sections. The result is a portable, battery-powered, 12-channel GPS receiver that acquires and tracks satellites, and continuously recalculates its position, without any intervention from the user.
Then there is Slice media player that is built on Raspberry Pi Compute model. It is an innovative new media player that connects to your TV via HDMI and is capable of storing, and can playback, full HD media. It comes with 2TB HDD, Wi-Fi and an LED light ring, while the whole set-up runs on open technologies.
Q. What are the benefits of using open source developer boards for prototyping and in R&D centres for professional engineering?
A. These boards are well-documented and, as a result, offer much better support as compared to proprietary boards. Moreover, boards like Raspi are cheaper since their production numbers are quite high. This allows the company to minimise manufacturing costs due to economies of scale and pass on the savings to end customers. It is also much easier to integrate an open source board rather than developing your own PCB from scratch.
Q. Do you think that extensive use of developer boards might affect an engineer’s fundamental engineering ability?
A. It is understood that it is much simpler to use a development board, and you might learn more if you developed your board from scratch. However, these pose a threat to the talent level of the engineering community. It does not make sense to deliberately make things difficult.
Q. So, is it a constant learning process?
A. Yes! Engineers always want to figure out new and better ways to get things done, as quickly as possible. Additionally, even with the help of a board, there is still plenty of work left in the form of integration. If you look at the market, there are very few products that come out in the form of just Raspi and a box; these are always integrated to something else, like FPGAs or other systems.
Q. What challenges did you face while designing Raspi?
A. There are two main things: cost and manufacturing. We had to pay a great deal of attention to the cost of individual components to stick to the budget of US$ 20 to US$ 35. It was also hard to find a manufacturer who could reliably handle package-on-package (PoP) memory assembly that BCM2835 requires.
Q. How were these challenges eventually solved?
A. Solving the cost challenge required us to come up with a low-cost linear-regulator based power supply chain. Once we grew, we were able to replace this (on Model B+) with switching regulators.
For securing high-quality components, we ended up multi-sourcing almost all components in order to get some degree of insulation from supply chain issues.
Q. What is your other favourite developer board?
A. I am a big fan of Arduino, which is kind of the original developer board. It is very powerful as it has a huge community and good tools flow. It also helps with figuring out how to get Atmel chips integrated into your product. Arduino can help you get past these kinds of problems.
Q. What big change could Pi 2’s features drive?
A. This is really a PC now and comes with PC-like performance. It is a cheap embedded system with enough performance to displace the PC from industrial and embedded applications. There are a broad range of image-processing applications, where you capture things with a camera, and the better CPU in Raspi 2 will help there.
Q. Which is your favourite open source software tool?
A. I find OPENCV very interesting. I find open image-processing tools exciting. How one can take common image-processing algorithms and have these implemented efficiently interests me very much.