Tag Archives: Raspberry Pi

Building a UPS with Raspberry Pi and Supercapacitors

It is always a dilemma when integrating a Raspberry Pi (RBPi) Single Board Computer into a project that works on the mains voltage and the RBPi has to turn it on or off. The difficulty is in deciding whether to power the RBPi separately or maybe power it from a UPS.

Lutz Lisseck solved the problem in an ingenious way. He was looking for a way to shut down his RBPi gracefully, after it had turned off his ambient-lamp. Since the lamp operated directly from the mains and Lutz wanted to turn it on/off from the mains power switch, he would normally have two choices. He could either use a mains wall adapter to power his RBPi or use a battery pack as a traditional UPS. He decided he did not like either, and instead opted for a third alternative, building a UPS with supercapacitors.

Lutz used two 50F supercapacitors to make his UPS. When the lamp was on, the capacitors stored enough charge to outlast the RBPi. When the SBC cuts the power, a GPIO pin senses the loss and informs the RBPi to begin its shutdown sequence. The RBPi takes about 30 seconds to shut down, and the capacitors happily power it for the time. Supercapacitors are usually rated at 2.7V; therefore, Lutz had to put them in series for the RBPi to get 5V. An alternative would be to place the capacitors in parallel and use a step-up converter to jack up the voltage. An upside to this is the capacitors will supply the RBPi for a longer time.

Since the project was a very simple one, there are some shortcomings in using the RBPi this way. First, the capacity is just about enough to shut down the RBPi in 30 seconds. However, when switched on, the capacitors take time to charge and the RBPi has to wait for about 10 seconds, before it gets adequate voltage to boot. Another drawback is that although the RBPi has only 30 seconds to shutdown, the capacitors discharge very slowly, and the system has to remain unplugged for about 10 minutes after shutdown, before it will boot up again. For this ambient-lamp project, Lutz does not consider that as a handicap.

Using supercapacitors over batteries has some advantages as well. The capacitors have a lifetime that far surpasses that of batteries. For example, you could charge and discharge supercapacitors completely several 100,000 times. Moreover, supercapacitors can be charged and discharged at rates that are not possible with a battery. A completely discharged supercapacitor can be fully charged up in just 2 minutes.

Therefore, with the supercapacitors in place, you do not need to worry about improper shutdown when the mains supply collapses. A GPIO pin on the RBPi senses when the mains voltage has been removed and the RBPi immediately begins a shutdown sequence. Whether using the supercapacitors in series or in parallel, a low value resistor (0.5-2.0 Ohms) must be placed in series with the batteries to limit the inrush current at startup. As the resistor can get hot, preferably a high wattage type should be used.

Battle the Sun with a 21W LED and a Raspberry Pi

Lighting up an LED or an array of LEDs and controlling their brightness is a simple affair with the tiny credit card sized single board computer popularly known as the Raspberry Pi or the RBPi. The RBPi runs a full version of Linux and you can use it to drive an array of bright LEDs with it. If you construct it like Jeremy Blum did – he put up the LEDs on his graduation mortar board and wore the RBPi on his wrist on his graduation day – you can be sure of getting a lot of excited remarks from friends and onlookers.

Jeremy wanted to let others interact with the LED on his cap. Therefore, he developed the idea of “Control my Cap” project. His control system consists or a wrist computer comprising an RBPi together with an LCD/button interface. That allows Jeremy to monitor the status of the cap, adjust the brightness of the LEDs, change the operation mode and toggle the wrist backlight. If there is any trouble in connecting with the LED interface, the reasons will be listed on the LCD.

The RBPi is programmed to connect automatically to a list of pre-allowed WPA-protected Wi-Fi hotspots as soon as it is booted. This allows Jeremy to set the wrist interface and the LEDs to a web-controlled mode, let the LEDs take on a static color or have them follow a rainbow color pattern. The cap has a total of 16 LEDs, rated at 350mA each, with four each of Red, Green, Blue and White in four strings. A constant current driver that has a PWM control drives each string of LEDs. A separate on-board switching controller generates the 5V for the RBPi.

As the whole project is portable, a battery powers it. Jeremy used a laptop backup rechargeable battery for his project. At full brightness, the array of LEDs consumes a total power of 21W and is easily visible is bright sunlight. With an 87 Watt-hr. capacity, the battery is able to power the cap for an entire day and more. Additionally, it has a 5V USB port, which Jeremy uses for charging his phone.

Jeremy put up a mobile website controlmycap.com to allow anyone to submit colors for the color queue of the cap to be used in the web-controlled mode. In this mode, the wrist computer grabs the 10 most recently submitted colors from the mobile site constantly, displaying them on the cap. Additionally, when using a color set for the first time, the RBPi informs the requester by a tweet that their color combination is about to be displayed. The RBPi communicates with the cap via a single USB cable, which doubles as it power supply cable as well.

Jeremy used the FoxFi app on his Samsung Galaxy S4 smartphone to generate a Wi-Fi hotspot and the RBPi was able to connect to the Internet through this. The remote webserver hosting the controlmycap.com website also stores the color requests in an MYSQL database, which the RBPi queries for updating its commands.

Bicycle Speed Projection Using a Raspberry Pi

A bicycle is the in-thing today considering the large amounts of pollution caused by vehicles using fossil fuels. Since one needs to use muscle power to ride a bicycle, cycling has health benefits as well. Many cities now have special lanes reserved exclusively for cyclists, and touring with cycles is one of the favorite sports people of all ages enjoy all over the world.

Cycles have been around for quite some time, and people have invented many gadgets and attachments for improving the travails of the cyclist. Earlier, the gadgets were mostly mechanical, and then electronic, now there are apps on smartphones that help in planning the route, and keeping track of so many things a rider may need. Apart from convenience, safety is another important factor that a cyclist should consider.

People who like to cycle fast usually also want to know their speed. However, glancing at a speedometer on the handlebar of your bike is not a very safe idea if you are going at high speeds. Taking your eyes off the road, even for the brief moment it takes to read the speedometer, is asking for trouble; you might hit a pothole or are doored. Well, someone had a brainwave to project the speed on to the path ahead, so the rider knows how fast he is going, without inviting trouble.

That someone is Matt Richardson, from Brooklyn and he has used a Raspberry Pi (RBPi) for making his bike speed projector as a do-it-yourself project. He has mounted the tiny Single Board Computer on his bicycle, where it reads the speed of the bike and projects it dynamically on to the ground in front of the rider, while still illuminating the way. The headlight also helps to make the rider more visible to other road users. Richard is calling his project the Raspberry Pi Dynamic Headlight.

At present, Richard’s prototype only shows the speed, but almost anything can be shown that a rider would find useful. For example, it could be used to show a turn direction or a map from a GPS program, weather info, estimated time to reach the destination, total distance covered and even proximity warnings if another vehicle approaches to close at the rear.

Although with more information displayed, chances of distraction will also increase. However, with the minimalistic data projected, this headlight is surely a great benefit to cyclists. Richardson has housed the RBPi and other electronics on a triangular piece of wood hung from the center frame of his bicycle. A pico projector clamped on the handlebar handles the projection. A HDMI cable connects the pico projector with the RBPi. A battery pack, meant to power mobiles, powers the entire electronics via a USB cable. The speed sensor is mounted, as it should be, on the wheel.

Richardson is keen to add to the next phase of his project. He wants more animations and visualizations in his Raspberry Pi Dynamic headlight project. Such DIY inventions such as this only goes to show what all is possible with a cheap Single Board Computer, some programming and some ingenuity.

Solar Powered FTP Server with a Raspberry Pi

Why would anyone want an FTP server and that too powered by the sun? Well, with an FTP server, you can access all your digital files from anywhere with an internet connection. The sun-powered bit has two advantages, the sun charges those standby batteries and the expense does not show up in your utility bills.

For the project all the parts used are standard items. The Single Board Computer used is the Raspberry Pi (RBPi), a convenient case with all the right slots for the output ports and a small solar panel. Additionally, you will also need a solar charger and a battery box to house the four AAA sized rechargeable NiMH batteries and a micro-USB cable.

A word about the solar panel; you can buy the solar panel from Cottonpickers. The advantage is you get a solar panel with a built-in battery box and a box for the RBPi together. All you have to do is to slide in the RBPi and plug in the batteries. This model has an on/off switch, so you do not have to pull out the cord to switch off. The batteries keep charging even with the switch in the off position.

A blue LED on charger lights up when the sun is charging the batteries. There is also a USB socket, which you can use for charging other USB devices such as mobile phones. Cottonpickers also supplies a USB cable along with the solar panel, so you have almost everything you need for the project.

The solar panel supplies a little more than 300mA, which means that it is perfect for charging 3000mAH NiMH batteries, since they require a C/10 charging rate. The panel has blocking diodes to prevent the batteries from discharging through the cells.

The RBPi model B, with all its keyboard, mouse, TV and networking plugged in and running consumes about 400mA, which the solar panel can easily meet if the sun is shining in its full glory. When the sun goes down, the battery takes over seamlessly. The solar panel can fully charge four AAA cells of 750mAH capacity within three hours. This allows an operation time of more than one and a half hours on the battery.

Charging four AA cells rated at 3000mAH takes the panel about 10 hours to complete. That means if the panel is left in the sun the whole day, the battery will be fully charged for the night. The options you have are:

Powering your RBPi directly from the sun and use the four NiMH cells as a buffer when the sun hides behind clouds. Let the solar panel charge the battery of cells during the day and you can use your RBPi at night.

Next, you will need a static IP address. This is essential, as the address will let your network firewall know it has to allow incoming FTP requests from there. You will also need a vnc-server and load it up as a service every time the RBPi boots up. For the FTP, use the Very Secure FTP Daemon or VSFTPD. Setup all the software as per the instructions found on CNET and you are ready to go. Don’t forget that your RBPi needs a lot of sunshine!

Let Raspberry Pi Read You an Audio Book

People who have grandmothers (and grandfathers) are fortunate. Although most of these old people are healthy and strong despite their advancing years, not all are so lucky and may be impaired in some way, mostly because of their failing eyesight and trouble with arthritic hands. Since they have a physical handicap, they find it difficult to operate a laptop, a DVD player or a tiny MP3 player. A Raspberry Pi (RBPi) with a large play button is actually helpful if it can read back an audio book.

This can be done in two ways. The RBPi player can have a single large button to pause and play, or have no buttons at all and be operated by NFC tags. The tags are best attached to empty CD or DVD cases, on which the details of the Audio book are printed in large letters for easy reading. Simply passing a case over the player will cause the specific audio book to start playing from its last state.

The player saves its state after every two seconds. Therefore, when the listener is bored or otherwise wants to stop listening, he or she can simply disconnect the player from its mains socket. Reconnecting it allows the player to get back to playing from its last saved state.

The RBPi player with a single large button works as a play/pause button when pressed. Going back to the previous track is easy if the listener holds the button pressed for more than four seconds. Copying files into the player is also a simple affair with a thumb drive. The files are copied into the thumb drive under a special volume label. As soon as it is plugged into the RBPi USSB port, the books are copied into the SD card and starts playing when the drive is unplugged.

For the single button RBPi player, apart from the RBPi and its enclosure, you will need a blue LED, some wires, a pair of speakers and of course, the large button. Among the software that you will need are – Raspbian image (Wheezy), mpd, mps, mpd-python, pyudev and a python script.

When the RBPi player is first powered up, it boots, starts the python script and waits with the audio book in pause. Since at a time only one audio book is stored, pressing the button starts the player. If the button is held pressed by more than four seconds, the player goes back one track. The player always remembers its last playing position.

As soon as a USB thumb drive is plugged in, the player stops playing, mounts the thumb drive, deletes the old audio book, copies the new one from the special name/label on the thumb drive and rebuilds the playlist. A flashing blue LED signals the end of file copy. Once the thumb drive is removed, the new audio book starts in pause mode, proceeding to play when the play/pause button is pressed briefly once.

Use of mpd allows the RBPi player to support wave, Musepack, MOD, MP4/AAC, MP3, MP2, OggFLAC, FLAC and Ogg Vorbis file formats.

Using a Raspberry Pi to Hack an Apple Time Capsule

You may have an old Apple Time Capsule lying around, which you may not be using because it has a failing hard drive. These were expensive at the time Apple first introduced them and for many people, a failed power supply or hard drive might have forced them to stop using the device. If you are not familiar with the Time Capsule, it is a backup arrangement for everything on your Mac. Apple coined the name Time Capsule for the hardware and Time Machine for the software. Windows users will not have seen anything like it, and you can read about Time Capsule on Apple’s official link.

You can bring your dead Time Capsule back to life using the low-cost credit card sized single board computer Raspberry Pi (RBPi). Even if you do not have a Time Capsule to modify, you can simply add a Solid State Drive to your RBPi, house the two in a suitable box and make a Pi Capsule for using on your Mac with the Time Machine software. For information, Linux users may backup to the Pi Capsule using any one of the 21 backup software programs listed here.

Backing up over the wireless may be slow, depending on the Wi-Fi speed. However, you can get much faster speeds using the Pi Capsule over wired Ethernet. Of course, the first time you start a backup, the process will take a long time, so try not to interrupt it. Future backups will be faster because they will be only incremental.

You will need a power supply suitable to power up both your RBPi and the Time Capsule (in case the power supply in the Time Capsule has given up the ghost). Connect the SSD hard drive using a SATA to mini-USB cable via a powered USB hub. It is essential to connect only the wireless mouse and the powered USB hub to the RBPi. Anything else you want to connect to the RBPi, such as the keyboard, SSD, wireless card, etc., goes through the powered USB hub.

For the RBPi, you will need an 8GB SD card with the latest “Wheezy” Linux operating system on it. For instructions on how to load Linux on the SD card, see instructions here. Connect a display through the HDMI. When booted the first time, you will be taken to “Raspi-config” automatically, allowing proper setting for the keyboard connected to the RBPi. Now connect the Hard Drive or the SSD to the RBPi using a SATA to mini-USB cable via the USB hub. For getting the RBPi working with the Time Machine on a Mac, follow the guide here.

Pi Capsule has some extended features over the Apple Time Capsule. For one, it can plug into your TV or any other display. Apart from using it only as backup device, the Pi Capsule is actually a full-fledged computer, which you can simultaneously use for web surfing or emailing. If you are not using an Apple Time Capsule and if you have the ability to make cases, build one to house both the hard drive and the RBPi, taking care to leave openings for the RBPi connectors.

Some of the Best Raspberry Pi Add-Ons

To most people, the Raspberry Pi or the RBPi Single Board Computer is only a cheap desktop. That is because by the time you have added a monitor, a keyboard, a mouse and the SD card, it would have cost as much as a cheap laptop and would still be a lot less powerful.

However, the real innovation of the RBPi lies not in its cost, but in its form factor. You can run the tiny RBPi on a few batteries or solar cells and use its exposed General Purpose Input and Output pins. This trio of combinations does not have any precedents in computing, at least not in the price range of the RBPi.

Being a new type of device, the RBPi is a lot easier to understand with some of the readily available components that connect to it to enable some function or to add some feature.

Most of these add-on components are not from large companies, but developed by hobbyists who saw the need for and filled it. One of these add-on components is the multi-purpose LED display Pi Lite. This is a simple board full of LEDs allowing people to use the RBPi to turn them on or off individually. This has made the RBPi SBC different from the regular PC and forced people to think differently for using it in its particular niche.

Pi Lite has 126 red LEDs, with a white LED version on its way. You plug the board into the GPIO pins on the RBPi. Pi Lite nearly covers the main RBPi board and has about the same form factor. Of course, you need a little configuration to enable the board to use the RBPi serial port, but that is well documented.

You send commands to the Pi Lite via a minicom terminal. Once connected over the serial port, anything sent over will scroll across in beautiful red light. Not only can you send text, you can also send commands preceded by three-dollar signs. You can turn all pixels on or off, display horizontal and vertical graphs and manipulate individual pixels.

You can improve the connectivity of your RBPi by expanding its ports. As the GPIO pins are exposed, any circuitry can be added to the RBPi. That may cause accidents and fry your RBPi very easily. Although there are several add-on boards that provide access and protection to the RBPI GPIOs, Quick2Wire has a board that uses the I2C and SPI features of the RBPi.

These are the Inter-Integrated Circuit and Serial Peripheral Interface and the board comes in two parts. The main board provides the I2C and SPI ports, adds protection for the RBPi and voltage selectors. Additional boards provide more GPIO ports including analog inputs and outputs that RBPi lacks. You can daisy-chain the boards to allow even more ports to be added to the RBPi.

To control the ports, you need to program the board with the Python programming language. For this, you may have to install the python3-setuptools package. You can find additional details of the above two add-on boards in openmicros.org and Quick2Wire.com.

The Raspberry Pi Command Line Interface

Being Linux based, the tiny Single Board Computer Raspberry Pi or RBPi has a graphical user interface familiar to regular computer users. Again, as most users of Linux will be familiar with, RBPi also has a command line interface where you have to type in the commands you want the SBC to execute. Well, a graphical user interface does have its merits and although the command line interface is a little more intimidating to the uninitiated, it is not a very difficult beast to tame.

One of the major advantages of the command line interface is its scope and speed – it easily accomplishes and most often surpasses what can be achieved with the graphical user interface, and does it faster as well. For most day-to-day tasks, however, the graphical interface is enough and has many useful applications including a web browser, test editor and file manager.

For those who want to delve deeper and learn more about how the SBC actually works, the command line interface is the way to go. Most of the work is done by opening up a Terminal or Shell and typing within it.

As the name suggests, the command line interface is an entirely text-based interface. You type in the commands that you want the SBC to execute, and it gives you a response. Although in the beginning, it will seem a little confusing, it is more like interacting in a natural way, just as we converse with another person. Once mastered, interacting with a computer via the command line interface will let you learn much more about it in the future.

You begin by opening up a Virtual Terminal/Console. Why is the name Terminal used? This is a legacy from the past when computers were gargantuan beasts, centrally located, with remote terminals distributed to the users. When you click on the LXTerminal on the Raspbian desktop, a small bordered box opens up, with ‘pi@raspberrypi $’ written inside it. The box is the terminal and inside it is the command prompt. The command prompt shows the name of the user – ‘pi’, the name of the computer – ‘raspberry’, also called the domain name, and the ‘$’ signifies that pi is a regular user and not the root or superuser (for root, the prompt would change to ‘#’).

The command prompt shows that your RBPi is now ready and waiting for you to type in your command. For example, you can see where you are by asking the computer to Print the Working Directory, by entering ‘pwd’ and hitting Enter. The SBC will most likely return – ‘/home/pi’, unless you have changed your username.

You can change the directory with ‘cd ..’, the computer knows that it has to return to the parent directory – ‘/home’. You may verify this with another ‘pwd’. With the command List Files or ‘ls’, you will be able to see all the files residing in the directory. Use a flag ‘-a’, to list the hidden files or all the files in the directory. Now the command becomes ‘ls -a’. Use ‘ls -l’ to see more information about the files.

For more information and for learning the command line, visit the website linuxcommand.org

Give Your Raspberry Pi an Intelligent Power Switch

Whether you use a desktop or a laptop computer, one of its features is the intelligent power supply that shuts down the system once it detects that the software has sent the shutdown command. To switch the system on, you need only press a small button. The Raspberry Pi, or the RBPi, being a low-cost single board computer, does not have this feature. After shutting down the OS, you have to unplug the power cable physically from the RBPi.

With large numbers of community projects springing up around the credit-card sized SBC, the RBPi can also enjoy the features of an intelligent power supply. This is the Pi Supply project, which sits between the actual power supply and the RBPi, adding its own intelligence as necessary. Pi Supply takes its power from the micro-USB charger and powers the RBPi.

When the RBPi issues a ‘sudo halt’ command, Pi Supply detects the shutdown command and switches off the power to the SBC at a safe moment. To switch the power back on, simply press a button on the Pi Supply, and your RBPi springs back to life. You do not need to plug/unplug the micro-USB connector anymore. With power supply issues being one of the biggest headaches for SD card corruption, the Pi Supply is a very handy project.

The Pi Supply provides a single window solution to all the power management problems your RBPi currently faces. This intelligent ATX style power supply switch is a revolutionary solution for the RBPi, since you do not need to disconnect any power supply wire from the wall-wart to the RBPi. Turning power on/off to the RBPi is now possible simply by touching one of the two buttons on the Pi Supply.

Once your work with the RBPi is over, you simply issue the command ‘sudo halt’. Once the OS has safely and fully shutdown, the Pi Supply will cut the power to the RBPi. If you would like to resume working, touch the on button, and the Pi Supply will restore power to the RBPi.

The second button on the Pi Supply is meant for a hard power off. In case of emergency, pressing this button will immediately cut the power to your RBPi. However, this button must only be used when absolutely necessary, as when your SBC has crashed or is in the frozen state and is refusing any attempts of revival. Note that use of this button increases the risk of file corruption on your SD card, if operated at the wrong moment.

One of the most amazing features of the Pi Supply is that it is able to distinguish between ‘sudo halt’ and ‘sudo reboot’. That means not only can Pi Supply shut down the power supplied to your single board computer when you give the halt command, but it can also reboot your SBC when you want, without you touching a single button or removing a single connector. That makes it almost as intelligent as the ATX power supply of your desktop.

MIPS Creator CI20: Challenge for the Raspberry Pi?

Although the Raspberry Pi or the RBPi did bring a revolution in the world of tiny computers that can teach children the intricacies of computer programming with inexpensive ease, not all are happy about its capabilities. There are two main points of contention with the credit-card sized single board computer – the low amount of RAM and the lack of onboard storage.

A quick recap of the RBPi’s specifications shows that it uses a system on a chip (Broadcom BCM2835). This includes the 700MHz processor (ARM1176JZF-S) and a GPU (Videocore IV). Initially, the board shipped with 256MB of RAM, but later up-gradations had 512MB in the Models B and B+. There is no built-in storage device and RBPi uses the SD card for booting and persistent storage. The latest model B+ has four USB2.0 ports, one Ethernet port, one 15-pin MIPI camera interface, one composite video output, one HDMI output and one audio output on 3.5mm jack. The 40-pin expansion header has 27 GPIO pins.

Now, there is a more powerful computer in the market to challenge the RBPi. Moreover, it is available free. The MIPS Creator CI20 is a development board from Imagination Technologies and it can run Linux distributions such as Gentoo, Arch and Debian 7.

The CI20 runs on a dual core processor based on the MIPS architecture and operating at 1.2GHz. The GPU, a PowerVRSGX540, is capable of running OpenGL ES 2.0.The onboard RAM size is 1GB, with 8GB onboard flash storage. The board features an SD expansion slot, one pair of USB 2.0 ports, Bluetooth 4.0, Wi-Fi and Ethernet. The expansion header features 25 GPIO pins and 2 SPI buses. You can boot the board from either the SD slot or the flash memory.

Compared with the RBPi model B+, the advantages that CI20 has are – double the RAM, a faster processor, onboard storage and built-in Wi-Fi and Bluetooth. In addition, CI20 has its power supply onboard, which the B+ does not. The disadvantages are – CI20 has only two USB ports compared to the four on the B+. In addition, the form factor of the CI20 is larger than what the B+ has.

Since the CI20 has higher capabilities such as more computing power, onboard storage and wireless connectivity, it is assumed that it will cost more than the current price of the RBPi B+ ($35). However, Imagination Technologies have not yet revealed the price of their new board. Imagination, instead of selling the initial batch of CI20s, is giving them away free to tinkerers.

Therefore, if you want to lay your hands on a CI20, you must have a grand project idea for the board. That means this giveaway is not actually meant for the hobbyists, but rather aimed at developers. However, do not be discouraged even if you are planning to create a video arcade console/home entertainment center/TOR proxy at home. It may turn out that your CI20 based home automation hub is interesting enough for Imagination and they are willing to send one of their free development boards your way.