We are following with huge excitement the progress of Raspberry Pi, An ARM GNU/Linux box for $25.
The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It's a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games.
They offer 2 versions: Model A ($25) that has 128Mb of RAM, one USB port and no Ethernet (network connection) and Model B ($35) has 256Mb RAM, 2 USB port and an Ethernet port.
In CISIUM we will purchase one unit as soon it is available, it is expected the first batch at the end of February 2012. And what is planning CISIUM with Raspberry Pi?
- To use is as core of embedded applications. We will attach any peripheral like audio, video, communications, etc. to provide final solutions.
- To develop software applications for the Raspberry Pi Linux distribution to implement the behaviors of the system and the user interface as well.
- We will study the feasibility to use Raspberry Pi in many applications, like Post Of Sales (POS), communicating gateways, Set Top Boxes, etc.
Hardware / PCBA
The Raspberry Pi is based on the BRADCOM BCM2835 a High Definition 1080p Embedded Multimedia Applications Processor.
The BCM2835 is a cost-optimized, full HD, multimedia applications processor for advanced mobile and embedded applications that require the highest levels of multimedia performance. Designed and optimized for power efficiency, BCM2835 uses Broadcom's VideoCore® IV technology to enable applications in media playback, imaging, camcorder, streaming media, graphics and 3D gaming.
- Low Power ARM1176JZ-F Applications Processor with floating point, running at 700Mhz
- Dual Core VideoCore IV® Multimedia Co-Processor
- 1080p30 Full HD HP H.264 Video Encode/Decode
- Advanced Image Sensor Pipeline (ISP) for up to 20-megapixel cameras operating at up to 220 megapixels per second
- Low power, high performance OpenGL-ES® 1.1/2.0 VideoCore GPU. 1 Gigapixel per second fill rate.
- High performance display outputs. Simultaneous high resolution LCD and HDMI with HDCP at 1080p60
The Raspberry Pi also has the LAN controller SMSC LAN9512.
SMSC's LAN951x is the industry's first family of fully-integrated, Hi-Speed USB 2.0 hub and high-performance 10/100 Ethernet controllers. The LAN951x is specifically designed to provide system architects with a low-cost, power-efficient, small-footprint USB to Ethernet and multi-port USB connectivity solution in a single package.
The LAN951x contains a Hi-Speed USB 2.0 hub with two (LAN9512) fully-integrated downstream USB 2.0 PHYs, an integrated upstream USB 2.0 PHY, a 10/100 Ethernet MAC/PHY controller, and an EEPROM controller. It offers SMSC's highest level of USB 2.0 and 10/100 Ethernet compliance and interoperability. Additionally, the LAN951x devices simplify system design by leveraging the existing USB stack and reducing the PCB footprint by up to 65% compared to discrete competitive solutions. USB-based networking technology offers a cost-effective and smart design alternative to traditional PCI/PCI-Express networking solutions due to the flexibility of routing and placement of Ethernet and USB connectivity ports.
Software / Operation System
The software is based on a fully feature Linux distribution. It is suggested Fedora distribution, but Debian and ArchLinux will be supported from the start. By default, it'll be supporting Python as the educational language.
Any distribution will need to supply a set of closed source libraries that give access to the GPU acceleration features. The libraries that will be available are:
- OpenGL ES 2.0O
OpenGL is a 3D library, very commonly used on desktops and embedded systems. It is defined by the Khronos Group.
OpenVG is a 2D vector drawing library, also commonly used on desktops and embedded systems. Again, defined by the Khronos Group.
EGL is an interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system.
- OpenMAX IL
OpenMAX supplies a set of API's that provides abstractions for routines used during audio, video, and still images processing. OpenMAX defines three layers, this is the IL layer, which provides an interface between media framework such as Gstreamer and a set of multimedia components (such as codecs).
The first three adhere to the standard Linux library API's, so should be a straight forward swap in for applications that use them. OpenMAX IL does not have a standard API at this stage, so is a custom implementation. All these libraries are as supplied by Broadcom, the SoC (System On Chip) provider.
There is loads of information on Wikipedia and the Khronos website on these API's.
Two licensed codecs will be provided at launch, MPEG4 and h.264. Codec licences have quite an impact of the cost of the device which is why there are only two at this stage. There are non-licensed Codecs such at MPEG2, VC1 etc, but for the moment they will not be accelerated by the GPU.