Category Archives: Customer Projects

Pi Lite: Bright White LED Display with the Raspberry Pi

If you did not know, you can run many LEDs with the tiny, credit card sized single board computer popular as the RBPi or Raspberry Pi. Among the many accessories made for the RBPi using LEDs, Ciseco makes one that is very interesting and useful. This is a display panel using bright white LEDs and aptly named the Pi Lite. You can use the series of white LEDs on the Pi Lite as a scrolling marquee for a Twitter feed, for displaying real-time weather information or stock quotes. You can use it to display static information such as time or functional information such as bar graphs, or other dashboard type applications such as VU meters. On the other hand, you could even play such games as Pong. Pi Lite is strong enough to view in direct sunlight.

Pi Lite is completely self-contained and does not require any soldering. You can get Pi Lite in two colors – white and red. For operation, simply connect Pi Lite to the GPIO pins of the RBPi, and you are set. GitHub has several open-source projects that you can download or you could do your own programming using Python code.

If you are just starting out with the RBPi, Pi Lite is an exciting way to let RBPi do some physical work and generate some fun. The large LED matrix display is easy to plug in and add-on. Since no soldering or any other special skills are needed, anyone can simply start using the Pi Lite for their project.

All the 126 LEDs on the Pi Lite are in the form of a 14×9 matrix, with an ATMega328p processor controlling them. This mixes the highly popular LOL or Lots of LEDs shield of Arduino with the world of RBPi. The Pi Lite communicates with the RBPi via the standard serial communication protocol at 9600bps. That makes it a simple affair to send graphics and text to the LED matrix. With the ATMega processor driving the 126 LEDs, the RBPi processor and its GPIOs remain free for other functions.

The Pi Lite offers several advantages. You can read your emails or tweets from a distance in real time. The firmware being open-source, you can add extra functions as you like. You can achieve multiple functions by sending simple text strings – scroll the text, VU meter, bar graph and or graphics. You can use the well tried, tested and supported LOL shield by Jimmy Rogers. The serial interface makes Pi Lite useful for connecting to any TTL micro radio or PC interface – you can use the popular FTDI cable.

The Pi Lite uses a high quality gold plated PCB. No extra power supply is required, as Pi Lite draws only 49mA maximum at 5VDC, so the RBPi supply can power it. With preloaded software, you can use it out of the box and display variable speed scrolling text, 14 vertical bars as a bar graph, two horizontal bars as VU meter, frame buffer for animation and graphics, or turn on or off individual pixels.

To make a bigger display, you can link up additional Pi Lites with the I2C bus. Each Pi Lite measures 85x55x13.7mm.

Graspinghand’s SweetBox, ScorPi and Heatsinks for the Raspberry Pi

Those who need a casing for their Raspberry Pi or RBPi are rather spoiled for choice. There are so many types of casings available, and that makes it so difficult to settle on one. Sometimes, you need a casing that does not take up too much space, but is able to protect your RBPi from sundry damage. If you want the smallest case on the market, try the SweetBox from Graspinghand.

Besides being the smallest on the market, SweetBox is injection molded with high-performance nylon, and is compatible with RBPi models B, Rev 1 & 2. It has several features such as it allows the insertion of a Micro-SD card into its adapter and the mounting of the RBPi camera. A rubber cap protects the GPIO pins when not in use, and is easily removable to allow connections.

Slots on the casing allow easy access to the DSI or Digital Serial Interface for attaching an LCD panel to the RBPi and the CSI or Camera Serial Interface for attaching a camera. Other mounting holes are available on the base, while the entire casing allows simple opening and closing without any screws or tools.

SweetBox is made from high-performance nylon, the EMS Grilamid type typically used for glass frames, electrical equipment and tools. This material makes the casing nearly unbreakable. The material is also lightweight, and the casing is only 35gms with dimensions of 95x65x25mm.

However, one of the most remarkable features of the SweetBox is it allows heatsinks to be mounted, so that your RBPi can operate within the casing, but without getting all heated up. Graspinghand offers three CNC machined heatsinks that you could use with or without SweetBox. The three heatsinks come with ready-to-mount thermal pads. With the heatsinks fitted, your RBPi will run at least 4°C cooler at full power.

Placing the heatsinks requires some dexterity. First, you must peel off the protective film off one side of a thermal pad. Then fix the heat sink very carefully in the center of the uncovered surface – this will stick the thermal pad to the heatsink. If there is excess thermal pad protruding out around the heatsink, use scissors to cut it off. Now peel off the remaining protecting film from the other side of the pad and place the heat sink and pad combination very carefully on top of the IC to be cooled. Use the same procedure for mounting all the three heatsinks, taking care to keep the same orientation of the fins for all the three.

Graspinghand also offers ScorPi, a flexible gooseneck arrangement for holding things such as the camera board on the RBPi. A brass fixture allows the ScorPi to be attached to SweetBox, while the brass fixture on the other end of ScorPi attaches to the camera board. You can flex the ScorPi to position the camera at any angle required, and it will remain in position to allow capturing images without any blurring due to shaking.

Cleaning the ScorPi is also very easy, as you can loosen all parts and clean them with a soft wipe using a mixture of white vinegar and salt.

Christmas tree Lights with the Raspberry Pi

Although Christmas is still a good four months away, you can always prepare for it in advance. The project uses a tiny single board computer known as the RBPi or Raspberry Pi, but you will need some time to collect other material for the project. You will also need time to iron out software bugs, especially if you are a newcomer to the RBPi and Python programming. Additionally, although the project is meant for Christmas, you can as well use it for decorating any other occasion.

The RBPi in the project drives eight AC outlets connected to sets of light. An RGB LED star adds a dynamic range to the light show with its 25-step programming mode. Another advantage the RBPi offers is its audio out can drive the lights in time with music. With a Wi-Fi connection, you can work on the software from a remote location.

The basic ingredients you require for this project are: an RBPi, any model; an SD card containing the Occidentalis operating system; a USB Wi-Fi adapter; and an eight-channel 5V SSR Module Board. You may also use electro-mechanical relays in place of SSRs, but they will produce noticeably audible clicking sounds when switching, while SSRs are noiseless. If you use the SainSmart SSR module board, each of the eight SSRs is rated up to 2A, which will adequately power a string of lights.

Apart from the basic ingredients, you will also require a bunch of extra items: some jumper wires, JST SM Plug and receptacles; four 8ft pieces of wire; eight extension cords, two power distribution blocks; a power strip; suitable enclosure; and speakers. You will also need a few power supplies: for driving the RBPi and the LEDs – 5V, 3A or greater; and for driving the SSR module – 5V, 1A or greater.

For the star, you can use 12mm or suitable RGB LED strands. With the Adafruit WS2801 chip, the RBPi only has to pulse the LED strand once rather than pulse it continuously to keep the LEDs lit up.

It is advisable to test the RBPi and associated components before connecting the wiring. Do this before setting up everything within the enclosure and you have the advantage of easy troubleshooting. Connect the RBPi to a monitor and keyboard, so you can set the system configuration to start software development.

As the default RBPi installation does not have the necessary libraries for driving the WS2801 LEDs, it is necessary to use the Occidentalis operating system from Adafruit. Follow the steps outlined here for configuring the RBPi to get it working as required. Use GPIO 0-7 on the RBPi for driving the SSR module.

As the RBPi drives the GPIO output high, the SSR connected to that pin switches on. This allows the LED associated with the SSR to light up. Write a simple test program to cycle through all the GPIO pins, setting them high for two seconds each.
After testing for proper functioning, connect the lights to respective SSRs through extension cords, using power distribution blocks to keep the wiring neat. Use cheap night-lights to test the animation program first, since this will reduce your eyestrain.

Make the OpenJFX DukePad with a Raspberry Pi

If you are looking for a fun project aimed at making your own tablet computer at home based on the Raspberry Pi (RBPi) Single Board Computer, the DukePad is for you. As software, you will use the Raspbian Linux operating system and your environment will be OSGi-based JavaFX.

You can think of DukePad not as a product but an open-source set of plans and software freely available for assembling your own tablet for which, you will be using off-the-shelf components. At present, the DukePad software environment is only demo-quality, as more importance has been given to making the software for demonstration purpose rather than for real functionality.

Although, for the purpose of this guide, you need to name your RBPi with the host name of “dukepad”, you could have any other name of your choice. In addition, instead of letting the RBPi run X11, which it is fully capable of running, JavaFX will be used and it will take over the entire screen. However, while downloading the software into your RBPi, you may choose either to start up with X, or you could elect to download to your desktop PC and then scp/sftp the files into your RBPi.

To get started, you must set up your RBPi as usual; follow these steps if you do not know how. Setup you RBPi such that you have allotted a generous amount of memory to VRAM, also called graphic memory or Video Core. An even split of 256MB each for VRAM and for system memory is also acceptable. If you only have 256MB in total, you may also get by with a 128MB/128MB split, but you may have to tweak the amount of VRAM that FX will eventually use.

If you have not already downloaded and installed the latest JavaSE Embedded release, you may do so now. You can use either the weekly builds or the official builds, whichever is available. For the RBPi, you will have to look for Linux ARMv6/7 VFP, HardFP ABI. Other versions are not likely to work with RBPi.

For installation, you must uncompress the file you have downloaded and put it in a directory of your choice. A good choice would be to install it in the directory /opt; this will require you to assume the superuser status (root). Once you install JavaSE Embedded, it will include JavaFX as well. To play media, RBPi will need some additional packages. You will also need additional packages for configuring the auto-booting and the splash screen. In case you are not interested in creating a table device and you are simply planning to play with the DukePad software, you may safely skip the splash screen and auto boot instructions.

For the boot-loading screen, you need the “fbi” package and for being able to play media files, you have to download and install the “mpg321” package.

For building the body of DukePad, the CAD files are provided here. They contain the template for laser cutting the acrylics for the body, which is made from material of two thicknesses – 4.5mm and 3mm.

Prototyping Plate Kit for the Raspberry Pi

For new owners of the versatile inexpensive Raspberry Pi or RBPi, there is always a period of perplexity as to how they can try out an embedded computer project with the SBC. Although a breadboard helps to some extent, connecting the circuit on a breadboard to the RBPi involves many loose wires, making the experiment very cumbersome. An add-on kit, the Pi Plate from Adafruit, makes it very easy to prototype circuits for the RBPi.

The Pi Plate snaps on to the RBPi and the user can easily unplug it for making any changes to the circuitry. This is a double layer board and has a connector on the underside for fitting on to the GPIO pins of the RBPi. The specialty of the Pi Plate is the huge prototyping area, half of which is in the form of a breadboard style, and the rest in the form of a perfboard style. Therefore, users can wire up DIP chips, sensors and switches.

All the GPIO, I2C, SPI and Power pins from the RBPi are broken out to 0.1” strips along the edge of the proto area. The connections are all labeled, so the user has little difficulty in connecting them to his/her prototype circuit. In addition, all the breakout pins are also connected to 3.5mm screw-terminal blocks, all with labels. That makes it very easy to connect sensors, actuators, LEDs, etc. semi-permanently with wires. For general-purpose non-GPIO connections, there is also a 4-block terminal block broken out to 0.1” pads. For those with surface mount chips to be connected, the remaining space has a SOIC breakout area, therefore, if you can conveniently use an IC that does not come in a DIP format.

When you buy the kit, all parts come separated. Following a tutorial on how to assemble the kit, any first-time user can learn to put it together. One advantage with this process is the user learns to solder and thereby acquiring a new skill. This is in line with the philosophy of learning with the RBPi.

Those who regularly use add-ons to the RBPi will appreciate that the header breakouts on the Pi plate are taller than the typical custom header breakouts. Therefore, the prototype plate sits above the metal connectors on the RBPi, allowing for a large workspace. However, this does not prevent it from fitting within the RBPi enclosure. Therefore, the RBPi remains safe within the enclosure, with complete access to the terminal blocks, making prototyping simple. Adafruit plans to have stackable header kits, which will help in putting multiple plates on top of the RBPi.

It is very easy to use the Prototyping Pi Plate. Adafruit has designed it to be as simple as possible so that it is a good fit for any type of RBPi project – whether simple or complex. According to Adafruit, there is no extra power regulator on board and none of the pins is buffered, because that keeps the design simple and inexpensive. In addition, it also offers the maximum space for adding any circuitry for prototyping.

The Astro Pi in Space

For experiments to run in space, an Astro Pi board fitted with sensors and gadgets is a great way to begin. For this, school pupils in UK are being challenged to write apps for the tiny, inexpensive, single board computer, the Raspberry Pi or the RBPi. As Tim Peake readies for his rendezvous with the International Space Station in November 2015, the British Astronaut will carry with him two RBPis, fortified with Astro Pis. He will have six months to complete the experiments in space.

Analyzing the Astro Pi reveals it to be a HAT or Hardware Attached on Top for the RBPi. It is well packed with several goodies such as – sensors for magnetometer, accelerometer, gyroscope, temperature, barometric pressure, humidity, a real time clock with battery backup, several push-buttons and a versatile 8×8 RGB LED display. In addition, there is also a camera module and an infra-red camera on board the Astro Pi.

With all this gear, Astro Pi is most suitably equipped to carry out real-time science and innovative experiments in space. School children resident in the UK are being encouraged to join in the competition for setting up experiments that astronauts will conduct in space later this year.

The Raspberry Pi Foundation, along with the UK Space and the European Space Agency are organizing the contest. For this, they have devised five themes for stimulating the kids’ creativity and scientific thinking. These include Satellite Imaging, Data Fusion, Space Measurements, Space Radiation and Spacecraft Sensors.

Kids of ages under 11 in the primary school will devise and describe original ideas for application or experimenting on the Astro Pi. Teams presenting the two best submissions will be able to work with the Astro Pi team for interpreting their ideas. The team at the Raspberry Pi Foundation will code these two ideas and get them ready for flight on the ISS.

The competition in the secondary schools will run across three age categories of 11-13, 14-16 and 16+. A selection of the best 50 submissions will be made for each age category and they will win an RBPi and an Astro Pi on which they can code their original concept. From each age category, two winning teams will be selected.

During his six-month space stint, Tim Peake will be deploying the Astro Pis, uploading the winning experiment code, set them running, collect the generated data and download it to be distributed to the winning teams.

Astro Pi is also great for fun sciences. This is possible because of its Sense HAT, incorporating all the sensors on the single board. For example, with the on-board sensors, one can make a self-balancing attack robot that can also sense humans. In reality, most equipment for experimentation in schools is too expensive – the Astro Pi and RBPi combination changes that dimension.

Apart from the huge scope for fun sciences, useful data is expected to be gathered from using the Astro Pi sensors while on the International Space Station. Young people will have a unique chance to learn core computing skills and this will be extremely useful to them in the future.

Start Learning to Program the Arduino

Often, project builders are not sure of what they would like to build with their development boards. This happens mostly for two reasons – one, the user has just been introduced to the board and two, the user is unaware of the methods of interfacing and programming sensors, switches and other components. The second category of users is mostly those new to the world of development and in need of some hand-holding.

A Starter Shield
For these newcomers, Matt Wirth has proposed a Starter Shield for Arduino boards. With the Starter Shield, novices can learn how to interface components such as sensors for building their own interesting projects. Learning involves programming the IO headers of the micro-controller on-board the Arduino. Interestingly, users can do this without any assembly of intricate parts, soldering or wiring.

However, since many users may want to solder their own, Matt Wirth plans to release an optional kit, which will come with an assortment of components that the user will have to solder before starting. These will include potentiometers, multiple LEDs, digital and analog push buttons, temperature sensors and light sensors. To make it easy for beginners, Matt will provide lessons for programming these components, so that users can proceed with their unique creations – light meters, temperature sensor alarms, police lights and siren and many more.

An IoT Relay
For those who already have some experience in building projects with the Arduino, may find Wi-Fi and other home automation projects interesting. Of course, there are several kits available for automating homes, but most are expensive and limited in their functionality. This is where project builders can effectively use Team IoT’s IoT Relay for the Arduino board.
For those interested in home automation, IoT is a favorite subject. However, the relay solution provided by Team IoT is not limited to home automation alone. With the IoT Relay, apart from the Arduino board, users can work with any development board and create interesting project such as making automated feeders for their fish tanks.

On the IoT Relay, four outlets allow connecting to any number of devices. There is also a universal voltage control to handle inputs of 12-120VAC or 3.3-60VDC, protected with a thermal circuit breaker. That allows users to control power safely and not damage their devices. However, the IoT Relay, although inexpensive, does not come with an Arduino board and the users are expected to supply their own.

Makeblock’s mBot
For those beginning to learn to program, code and work with robots, there is nothing better than an educational robot such as Makeblock’s mBot. With STEM or the academic disciplines of Science, Technology, Engineering and Mathematics being implemented widely in schools all over the world, Makeblock’s mBot is a learning robot that helps kids with their STEM curriculum.
Featuring the mCore platform of the company, Makeblock’s mBot is based on the open-source Arduino Uno featuring a simpler wiring system. There are no GPIO pins to solder. Instead, the mCore uses RJ25 connectors, color-coded to make it easier to connect other components. Additionally, the board is compatible with Mindstorms’ Lego, other Arduino boards and shields and the Raspberry Pi.

Raspberry Pi Can Open Your Garage Door from Anywhere

Using a Raspberry Pi, you can have a garage door that opens with a command from your smartphone. Additionally, if you are away from home, no matter how far, you can always keep a tab on whether your garage door is shut. The tiny, credit card sized single board computer, the Raspberry Pi or RBPi is used here as a small web server. The page served by this web server will give you a big red button when you access it via your favorite browser.

Pressing the red button will trigger the garage door via a relay. That needs a very simple circuit to be connected to the GPIO pins of the RBPi. The uploaded website will trigger this circuit, which in turn will trigger the relay. The relay contacts will close the circuit to turn the garage motor on and the motor will open the garage door. Another press on the red button will again trigger the connected circuits so that the garage door now closes.

You can use whatever RBPi model available. Additionally, you will need a Wi-Fi adapter, a power supply unit, a 5V relay, a 2GB SD card and some wires. On the SD card, install and optimize the OS Raspbian. This can be the shrunk version of Debian Wheezy – get the image here and follow the installation instructions. Just a tip – use gparted on any Linux computer such as Ubuntu, for format the SD Card to fat32, then dd to write the image on it.

Once the image is installed, plug the SD card in, connect the USB keyboard and hook up the RBPi to a suitable monitor. The first-boot of Wheezy will take you automatically to rasp-config. This tool allows you to stretch the partition and enable ssh. In case you do not want the GUI, use the apt-get command to purge x11-common and autoremove the rest – this will free up some space on the SD card.

Next, use the command line to set up the Wi-Fi so that you will be able to control the RBPi remotely via ssh – use this guide for Wheezy. If you are using the Mode A of RBPi, it has only one USB port. Therefore, for setting up the configuration, you will need your keyboard plugged in. Once the configuration is done, shutdown the RBPi, unplug the keyboard, then plug in the Wi-Fi dongle and reboot the RBPi.

If everything has been done perfectly, the Wi-Fi will be set up and the router will assign your RBPi with an IP address. This will be evident in the boot log of your RBPi if you have a monitor connected to it. Alternately, login to your router and look up the DHCP table. Login to your RBPi through ssh on your Linux PC – type ssh pi@[IP address of your RBPi], with default password as raspberry.

You will need to login, download, compile and install WiringPi – use this guide. This allows complete control of the GPIO pins on the RBPi. Follow the instructions here to control the relay using the RBPi.

An Oscilloscope with the Raspberry Pi

An Oscilloscope with the Raspberry Pi
Making a full-fledged oscilloscope with a Raspberry Pi or RBPi, the unique low cost SBC, may be beyond the scope of many enthusiasts, but here is a proof-of-concept that RBPi can handle such a project. Although not a very practical oscilloscope, it does provide several oscilloscope-like capabilities. Additionally, all this comes at a very low cost and not much of soldering is involved – impressive incentives for any DIY enthusiast to start on the project.

The oscilloscope project has additional incentives for those seeking to advance their learning curve. Information available in the project and experience gathered during the execution may be reusable for applications involving analog sensing and plotting data onto a screen. It is perfectly possible to project the output onto a larger screen as the output of the oscilloscope is available to view in a web browser. Therefore, this project could also be used to display low-frequency waveforms in an environment that does not have a real oscilloscope. The RBPi oscilloscope is quite responsive and refreshes the display several times a second.

To make the oscilloscope all you need is an RBPi, an XMOS startKIT board and a few wires. The XMOS startKIT is another credit card sized board containing the XMOS multi-cored processor. When compared to other similar processors in the market, the XMOS processor comes with a host of advantages for projects that require real-time operations. This is especially true for data-logging purposes, as the chip also contains a 12-bit ADC or Analog to Digital Converter built into it. Having all this on a single low-cost board makes the whole arrangement very attractive for connecting to the RBPi.

Although a multimeter is a very useful instrument, it cannot show electrical signals varying over time beyond a certain rate. With the RBPi oscilloscope, you can do that see more than what the multimeter tells you. Of course, it is not the intention here to make an oscilloscope with all the features that a professional scope has. However, the project does offer some oscilloscope-like features such as sweep modes, trigger capability and on-screen cursors for trace measurements.

Unlike a regular oscilloscope, the RBPi scope lacks the entire front-end. Therefore, it does not possess a good sample rate, has no front-end filters, is without any AC/DC input capabilities and there are no gain adjustments. In fact, the XMOS Analog Examiner is good enough only to examine simple circuits at low speeds. The XMOS board actually collects analog data and transfers it to the RBPi over the Serial Peripheral Interface or SPI. The RBPi runs a web server and the XAE application using JavaScript and Node.js. Anyone connecting to the XAE application via a web browser can see the data plotted as a graphical curve.

The XMOS processor can run multiple tasks in parallel, thanks to its multiple cores that can execute different codes. The XMOS cores communicate with each other using the concept of channels. Additionally, the XMOS chip also has a 4-channel ADC built in. This ADC can resolve at 12-bits or 4096 points at 1 MSps or a million samples per second. For further details on this oscilloscope, refer to this site.

Raspberry Pi Gesture Control

Many smartphones are capable of gesture control, where the phone can sense movement of the owner’s hands near it and respond accordingly. Now you can add the same features to the versatile credit card sized single board computer, the Raspberry Pi or RBPi. The features are provided by the Microchip 3D Gesture Controller, the MGC3130 GestIC and a 3D Touchpad.

The hardware you will need for implementing the gesture control is the MGC3130 Hillstar Development Kit, a 5V, 1.2A power supply with a microUSB connector and an RBPi Model B, preferably V2. Initially, you will need access to a PC for parameterization and for flashing the firmware on the MGC3130. After the flashing is over, the MGC3130 can communicate directly with the RBPi via the GesturePort available of the tiny MGC3130 board on the Hillstar dev kit. The Hillstar board needs signals EIO1, EIO2, EIO3, EIO6 and EIO7, which the RBPi supplies via its GPIO connector.

3D gesture sensing and control applications require capacitive sensing, which the MGC3130 handles aptly. You can either power the Hillstar board from the USB charger, or let the RBPi power it up directly. Once connected, the MGC3130 senses the North-South and East-West hand flicks. The EIOx pins flag the gestures sensed to the RBPi, which then acts on them according to actions already assigned.

The GestIC controller has Aurea, a free graphic shell working around it. Aurea allows parameterization of several planes of different sizes and configuration. These planes make up the capacitive sensing pad and you can calibrate and configure them with good precision. For programming, you will require the Raspbian OS Debian Wheezy – version January 2014, Python – version 2.7.3, RPI.GPIO – version 0.5.4, Tkinter and Leafpad. All the above software are already included in the Raspbian OS. To demonstrate the functioning of the gesture controller, you can use the python code for the game “2048” – 2048_with_Gesture_Port_Demo.py.

The software package for the MGC3130 contains all the relevant system software and its documentation. The package, provided by Microchip, contains the PC software Aurea, the GestIC Library binary file, the GestIC Parameterization files, CDC driver for Windows and the relevant documentation. You can use the Software Development Kit, also from Microchip, for integrating the MGC3130 into a software environment, as it includes a C-reference code for the GestIC API, a precompiled library for the Windows operating system. It also includes a demo application (the game “2048”) that uses the GestIC API interface on the Hillside Development Kit.

The Hillstar Development Kit provides a reference electrode of 95×60 cm for the touchpad. This consists of one Transmit and a set of five Receive electrodes – one each for north, east, south, west and center positions. These electrodes are placed in two different layers. To shield the Transmit electrode from external influences, it has a ground layer just underneath.

The five Receive electrodes include the four frame electrodes and one center electrode. The frame electrode names follow from their cardinal directions, that is, north, east, south and west. The maximum sensing area is defined by the dimensions of the four Receive frame electrodes. The center electrode is positioned to get a similar input signal level as received by the four frame electrodes.