One of the most interesting aspects of the Rasberry Pi is the general purpose input/output port (GPIO) that makes interfacing easy. Generally speaking, there are 17 pins that are available for use on the pin header. These pins can be input or outputs and are very easy to control and read from both the command line or program. But, what if you need some quick and dirty to test the new hardware you are developing. You don’t want write a script or program just to check on your new hardware’s IO. Well, that is where BerryIO can help. BerryIO is a program that lets you remotely control and monitor the GPIO ports via a web page. You can select the input/output state of each pin and the output level. For the inputs, you can monitor the level of each pin – all through a web browser. BerryIO also gives you control over an LCD if you have one connected, there are some simple system tools, SPI system and camera controls.
A video demo can be found here.
BerryIO can be downloaded from GitHub
The CPU of the Raspberry Pi is a slow moving, general purpose device. Don’t get me wrong, it is an amazing combination of price, low energy use and flexibility. But, The Graphical Processing Unit (GPU) in the Pi is downright amazing. It can convert a compressed video and pump it out to the screen at the same resolution of a Blu-Ray player. But the GPU is limited to specific number crunching activities and it isn’t very flexible.
Up until this point the GPU has been a black box. The features were restricted to graphics processing for items on screen. But no longer. Andrew Holme has created a Fast Fourier Transform (FFT) library using the GPU. Most engineers know what a FFT is and they know, computing a FFT is mathematically complex. If you’re not an engineer, the FFT takes a signal (sound for example) and splits it up into the frequency parts. It is similar to the spectrum analyzers found on stereos. The sound is split into the different frequencies and the level or volume of each frequency is shown. The left is usually the low end and it is easy to see the beat of the bass drum as the left bars shoot up. Using the GPU for FFTs on the Pi gives between a 5x-12x speed improvement.
Unless you are planning on building a software based radio or adding a spectrum analyzer to you streaming media server, this may not sound like big news but the FFT library is only the start. Unlocking the GPU means that more libraries are coming. To start, I expect that the Pi will get some audio altering filters so your playback can get effects like “concert hall” fond on high end receivers. Also, I expect that someone will build a GPU based transcoder allowing the PI to recode audio ad video without having to move that task to a higher powered device. Lastly, everyone knows the best bitcoin miners use GPUs. Look for new bitcoin libraries soon.
Instructions to install the FFT routines can be found here.
With the QEMU software you can run a a Raspberry Pi emulator in Windows for free. QEMU is an open source application for creating virtual hardware. It is similar to VMWare and Virtual Box. Where it differs is that it can CPUs and they have created a virtualization for the Raspberry Pi CPU (the ARM1176JZFS). Also, all the required tools and kernel tweaks have been made and collected into a single downloadable package. The whole package is available here: http://sourceforge.net/projects/rpiqemuwindows/