Tag Archives: Raspberry Pi

Raspberry Pi Drives the Oton Glass

Imagine standing in front of several road signs but unable to locate the one you want, because they are all written in a foreign language. This is the job for the OTON GLASS, a device to capture the image, translate it to a language of your choice, and read it to you in your ear. Not only will this help travelers abroad, but also help people with poor vision and those suffering from dyslexia.

Oton Glass is the effort of Keisuke Shimakage, who says he was inspired to develop the device by his father’s dyslexia. Keisuke got together a team of engineers and designers from the Media Creation Research Department at the Institute of Advanced Media Arts and Sciences, Japan, and started on the project.

At the heart of the Oton Glass is a Raspberry Pi 3 (RBPi3), along with two tiny cameras, and an earphone. One camera resides on the inside of a spectacle frame, tracking the user’s eyes. As soon as it detects the user blinking with no eyeball movement, another camera on the outside of the frame captures the image of whatever the user is looking at. The RBPi3 then processes the image, running it through an optical character recognition program. If there are any written words in the image, the RBPi3 coverts them to speech, and plays it through the earphone into the user’s ear.

Although the initial prototype of the Oton Glass was slow in capturing and replaying the text into audio, the team was able to cut down the time from 15 seconds to a mere 3 seconds in their second prototype.

The team designed the case in CAD software and 3-D printed it to be able to test it in real life situations. With feedback from dyslexic users, they were able to upgrade the device further.

At present, the Oton Glass is doing the rounds at several trade and tech shows throughout Japan, and is ready for public distribution. Trial is underway with models of the device at the Nippon Keihan Library, Kobe Eye Centre, and the Japan Blind Party Association. The Oton Glass has won the runner-up prize for the James Dyson Award of 2016. It has also generated huge attention at several other award shows and in the media.

In front of the inside camera of the Oton Glass is a lens with a half mirror that reflects the eye of the user, which the camera tracks for movements. The outer camera waits for a trigger from the blink of a still eye resulting from the wearer reading something, and captures the image and passes it to the RBPi3.

The RBPi3 uses an optical character recognition software to filter out any characters in the image. It then uses artificial voice technology to change the words into sounds, whose meaning the user can understand. If the Oton Glass is unable to recognize some characters, it sends them to a remote server to decipher. This allows the Oton Glass to translate anything that the user sees. The device combines camera-to-glasses and looks very much like normal glasses.

ASUS Tinker Board Competes with the Raspberry Pi

With the advent of the Raspberry Pi (RBPi), the popularity of single board computers (SBCs) has risen rapidly over the last five years. The RBPi has easy software and a low price that has won it a vibrant community consisting of not only coding hobbyists, but also teachers and children, whose minds and hearts it has captured. This success of the RBPi has led to scores of other vendors pitching in with their SBCs. Among them, ASUS is the latest with its Tinker Board SBC, challenging the RBPi.

The Tinker Board from ASUS offers an SBC with somewhat higher premium hardware compared to that offered by the RBPi. According to ASUS, its Tinker Board tries to meet the demands of enthusiasts who are looking for better performance. Although their efforts are commendable and they have created a great piece of hardware, the real hurdle they have yet to overcome are the software and support.

If you are not careful with the Tinker board, at first glance you might mistake it for a more colorful RBPi. However, the tweaks exhibited by the Tinker Board design makes it feel more like a premium product. For instance, icons covering the board depict its various functions, such as they clearly differentiate between the display and the camera connectors.

Color-coding on the Tinker Board helps identify most of the pins on the general-purpose input/output (GPIO) header. For instance, the +5 V pins are all colored red, while the ground pins are black. Moreover, ASUS has maintained the same pin configuration for the GPIO as that followed by RBPi. Therefore, transferring your projects over to the Tinker Board is very easy. The Tinker Board comes with a stick-on heatsink. This is really helpful as, under load, its SOC runs far hotter than that of the RBPi does.

The Tinker Board sports a faster system-on-chip, the Rockchip RK3288, a quad-core running at a maximum frequency of 1.8 GHz. Not only is this faster than that of the RBPi3, the Tinker Board also has double the RAM. On the ASUS site, they have benchmarks to show the speed of the Tinker Board as far above its competitor, the RBPi. Comparatively, the site claims double the CPU power and GPU performance over that of the RBPi.

Apart from the faster chip and the extra RAM, ASUS has also added the Gigabit Ethernet connector in place of the 10/100 Ethernet of the RBPi. The Tinker Board also has an uprated sound chip and an upgradable Wi-Fi antenna. According to ASUS, the performance of the USB storage is superior and the operation of the SD card is faster. ASUS attributes this to the dedicated controller of the Gigabit Ethernet, which does not allow any reduction in LAN speed during USB data transfers. Comparatively, the RBPi has a USB-to-Ethernet bridge, which makes the two functions interdependent.

However, unlike the Tinker Board, the RBPi has a website full of useful information. The RBPi also has the NOOBS installer, which simplifies installation of a number of operating systems. Comparatively, the website of the Tinker Board has two images, one for the Debian-based Tinker OS, and another based on Android.

Using Raspberry Pi to Monitor the Environment

Many cities in the world are plagued with poor quality of air caused mostly by pollution form old diesel cars. This is true of Peru also, and James Puderer is using Raspberry Pis (RBPis) fitted in several taxis to monitor the air quality. James fitted the RBPis in the hollow vinyl roof sign almost all taxicabs use in Peru.

James uses the RBPi along with various Adafruit technologies, such as the BME280 sensor for temperature, humidity, and pressure. He has created a retrofit setup powered by a battery and GPS antenna that fits snugly into the hollow of the vinyl sign.

The completed air-quality monitor collects data on latitude, longitude, pressure, temperature, humidity, and airborne particle count. The data enters a data logger, which then pushes it on to the Google IoT Core, from where any computer may access it remotely.

At the Google IoT Core, Google Dataflow processes the data and turns it into a BigQuery table. Any user can then visualize the measurements the monitor collects, using several online tools available to study them and organize to figures depending on the results he or she expects to achieve. For instance, James uses Google Maps to analyze the data and produce a heat map of the local area that includes air quality.

On his project page, James provides the complete build process for the air quality monitor using the RBPi. This includes the technical ingredients and the code he developed. He also urges others to make their own air quality monitors for their local environment. His plans include designing an additional 12 V power hookup, which will enable connecting the air quality monitor to the battery of the vehicle. He also plans to include functioning lights when the air quality monitor is inside the sign, and companion apps for the drivers to use.

Others have also used the RBPi with sensors to track the world around it. This includes the Human Sensor costume series by Kasia Kolga. The dresses react to the air pollution by lighting up. Kasia created the Human Sensor in collaboration with Professor Frank Kelly and other environmental scientists at the King’s College, London.

Linked to an RBPi and a GPS watch, a small aerosol monitor is hidden within each suit of the Human Sensor costumes. These components work together and gather the pollution data at their location. Although the suits store their collected information to submit it later, in future the suits will be relaying the data in real time to a website for the public to access.

The RBPi works to control the LEDs attached to the suit. In reaction to the air conditions detected by the monitor, the RBPi flashes the LEDs, makes them pulse, or produce patterns and colors that morph accordingly.

Depending on the negative or positive effect of the air around the monitor, the suit’s LED system responds to the absence or presence of pollutant particles. For instance, when the wearer walks past a grassy clearing in a local park, the suit will glow in green colors to match it. As soon as the wearer goes behind the exhaust fumes of a car, the suit will pulsate with red light.

Beemo Works With Raspberry Pi

Even adults watching Adventure Time wish to own a personal BMO, the quirky living game system from the Be More episode of the show. Although based on the GameBoy, BMO is a digital friend calling out through the nostalgia lens of our childhood times. Now Bob Herzberg has created Beemo, a BMO for his daughter and her friends.

In building the living little boy, Beemo, Herzberg used the popular single board computer Raspberry Pi (RBPi), which be runs on battery power, a USB battery pack. Although his body is made from laser-cut MDF wood, Beemo uses am 8-inch HDMI monitor. Herzberg had to 3-D print the arms and legs, attached them to the body, which he sanded, sealed, and painted. Adding some vinyl lettering completed the look. Adding a small wireless keyboard meant Beemo could be remotely controlled.

To interface the gaming button on the panel, Herzberg had to create a custom PCB, and he laser-cut the special acrylic buttons to mount them. These he connected to the IO header on the RBPi to make them work. Another PCB functions as a holder for the USB sockets. This allows Beemo to have USB ports on the front panel. Beemo works comfortably for a continuous 8-hour period on his battery.

Herzberg’s daughter created the custom animations that he then transformed into MP4 video files—giving Beemo most of his personality. The remote keyboard operations turn the animations on. Some BMOs are given an internal microphone and a speaker. The BMO translates the user’s voice using Google Voice API, and maps it to an appropriate response, allowing the user to have a conversion with BMO.

Herzberg also used the RBPi camera module. Some BMO makers use servos to make the camera pop out for taking a snap. This type is called the GoMO and it can take pictures. Actually, there is a whole family of MOs—GoMO, CMO, XMO, UMO, and a few others. Although people like to think of the retractable camera as a ghost detecting equipment, Beemo simply likes to take nice photos.

Playing games with Beemo is very simple. You only have to load one of the emulators Raspbian supports. Raspbian is the operating system that makes RBPi run. Herzberg faced some real challenges when creating Beemo. He had to use different materials and techniques to fabricate the enclosure. However, the presence of the RBPi inside meant bringing Beemo to life was much simpler.

While Beemo may not be able to hop around and sing as the BMO in Adventure Time did, he can certainly play a huge number of retro games, because of the RBPi within him. As Herzberg was familiar with the Atari 800 emulator, having written games for that platform earlier, he used the front panel USB ports for connecting gamepads. Of course, the D-pad and front panel buttons are also equally useable.

Herzberg uses the RBPi A+ as the heart of his project. He has split 256 MB of the RAM between the CPU and the GPU. He also uses the composite video and stereo outputs on the 4-pole jack internally. By modifying the config.txt file, he was able to shut off HDMI output completely.

GrovePi Kits for the Raspberry Pi

If you are looking to interface sensors to the Raspberry Pi (RBPi), the popular single board computer, GrovePi+ from Dexter Industries (SEED Studios) makes it very easy with their starter kit. The kit carries a GrovePi+ board, including more than 10 carefully selected sensors along with the necessary interfacing cables. The kit is very easy to use, as the user only has to plug the GrovePi+ board over your RBPi, and connect the necessary sensor to the board. GrovePi provides a powerful platform for any user to start playing with sensors and hardware.

The simplicity of the GrovePi+ board is evident, as you do not need any other hardware connection—only plug in the board atop the RBPi and initiate communications between the two boards over an I2C interface. The GrovePi+ board acts like a shield and the user can connect any of the Grove sensors from the kit to the universal Grove connector on the board, using the universal 4-pin connector cable available with the kit.

The GrovePi+ board has an ATMEGA328 micro-controller on it, and the Grove sensors, both analog and digital, connect to it directly. The RBPi also communicates with this micro-controller, which performs as an interpreter for the Grove sensors, sending, receiving, and executing commands the RBPi sends it. You can use any RBPi model with the GrovePi+, selecting from among RBPi A+, B, B+2, or B+3

GrovePi+ forms the hardware system for connecting, programming, and controlling sensors that help build your own smart devices. GrovePi+ is small—the size of a credit card—however, it is very powerful. You can think of the GrovePi+ kit as an Internet of Things kit for the RBPi—allowing you to connect numerous sensors to the RBPi—simply by connecting a cable from the GrovePi+ board to the sensor. The manufacturer’s website offers several software examples you can download and try. Alternately, you can write your own programs for the RBPi to control and automate any device.

GrovePi+ does away with the need for connecting sensors to the IoT using breadboards and soldering the sensors. Now it is only necessary to plug in the sensors and start programming directly. Therefore, GrovePi+ is and easy-to-use modular arrangement for hacking your hardware with the help of the RBPi and the Internet of Things.

Using the GrovePi+ system, one can connect over 100 types of sensors to the RBPi. The collection of sensors offered are all inexpensive and plug-n-play modules to sense and control inputs from the physical world. This provides countless possibilities of interacting with sensors, integrating them with the module and the RBPi to obtain unparalleled performance with ease.

For instance, Lime Microsystems and the SEED Studio have a new kit providing everything to start up a Software Defined Radio (SDR) with the RBPi and develop IoT applications for it. The LimeSDR Mini kit targets educational use and is meant for beginners. Lime has optimized the building block for use at 433/868/915 MHz and provides the necessary antennas in the kit. The kit also has an array of sensors from Grove and boards related to output from SEED Studios. The GrovePi+ board offers the computing power for the SDR, and you can use an RBPi 2, 3, or Z.

Industrializing your Raspberry Pi

You can turn your Raspberry Pi (RBPi) into a completed computer system with the minimal effort. Using a pre-assembled, cost-effective kit will not only save you a lot of time, but also speed up the installation and slash development time as well, allowing you to realize the full potential of your single board computer. This industrialization of your SBC brings huge commercial potential and encompasses a wide range of applications, including using the system for payment terminals, communication systems, IoT products, home technology, medical devices, machine tool control systems, industrial automation, and more.

The PCAP 10.1-inch Touch Screen Kit from Inelco Hunter is specially designed to work with the popular single board computer, the RBPi. You can buy the kit in pre-assembled form and simply mount the RBPi onto the interface PCB on its rear, fixing it in place using the supplied pillars and screws. You can then mount the display as a panel or flush mount it to get resolutions up to WXGA.

Customers looking for a larger screen format for the RBPi can now upgrade from the earlier 7-inch display format from the same designer, Anelco Hunter. He developed this new screen for customers looking for extra screen space. Using the kit, customers can industrialize their equipment quickly and easily by providing it with a larger screen. No further upgradation is necessary, as the same programs and software already available for the 7-ich version will continue to be useful.

According to the Managing Director of Inelco Hunter, David Bushnell, the idea for a bigger screen format for the RBPi was born after a number of customer requests were made following the launch of their 7-inch kit. The kit maintains the same quality of the 7-inch model’s TFT screen with industrial grade while transitioning to the bigger screen format, maintaining the earlier high-quality metrics and ongoing availability.

A PCB provides the connections on-board for HDMI interface, along with the required conversions for signal, power, and backlight required by the TFT display. To drive the TFT display, the user has to supply it with 12 V at 2 A. This is apart from the 5 V at 2 A the RBPi requires for operating.

The PCAP touchscreen offers features such as pinch, zoom, and rotate through either USB or I2C connection. While the screen dimensions are 255 x 174 x 9 mm, the view area is 218 x 137 mm. The wide-angle IPS display offers a resolution of 1280 x 800 pixels.

Inelco Hunter has designed their display kit to work with all models of the RBPi family. They have tested the kit to operate at temperatures of +70°C and this underlines its reliability. This further supports the mean time before failure (MTBF) figure of 50,000+ hours. All these specifications make this display a good choice for those looking for a design with a long life and reliability.

Customers buying the kit will find a 10.1-inch Touch Screen TFT display, a pre-assembled interface PCB for HDMI to LVDS conversion, a connector for HDMI to HDMI interface, a micro USB to USB cable interface, and the pillars and screws for mounting the RBPi.

Interfacing XBee Modules with the Raspberry Pi

You can use two XBee modules to exchange data between them, as they are modular, self-contained, and low-cost components using radio frequency to communicate. Most XBee modules transmit on the ling-range 900 MHz or on 2.4 GHz using their own network protocol.

The primary advantage of using XBee modules is their size—nearly as large as a postage stamp. Therefore, it becomes easy to use them as sensor nodes in small projects. They consume very low power, and incorporate a special sleep mode that reduces their power consumption considerably. This is of advantage when using them on battery or solar power.

XBee modules can read their data pins and transmit the collected data to another XBee module. Therefore, if you have a sensor node and a data-aggregator node, you can easily link them together with XBee modules. As there is no micro-controller on the XBee module, it has only a limited amount of processing power for controlling the module.

This limited processing power makes it suitable for several sensor nodes, but not for all. For instance, although the XBee module can read data from sensors, it cannot do so from sensors requiring algorithms to interpret or extrapolate meaningful data—the additional calculations this requires may need assistance from a microcontroller. Incidentally, configuring an XBee module with the Digi configuration tool, X-CTU, requires a computer running the Windows operating system. For other operating systems, use a virtual machine to run Windows.

The XBee line of wireless modules has a list of different types, and you must select the one most suitable for your project. Some modules support proprietary protocols from Digi, others support UART or SPI to 802.11 b/g/n (Wi-Fi), while others support the ZigBee, and 802.15.4 protocols.

Several popular XBee modules support the ZigBee protocol. Therefore, many projects use the ZigBee modules available in the market. ZigBee modules have several more choices based on application. For instance, there are ZigBee embedded surface mount modules, and others that support the ZigBee feature set, and 802.15.4 protocols. The most popular among these are modules supporting the ZigBee Pro feature set.

The advantage with ZigBee is it is an open standard based on the IEEE802 standard, useful for network communications. ZigBee supports the formation of mesh networks to configure and heal broken links automatically, and allows the use of intermediate probes to transmit data over long ranges.

You can use a ZigBee development module with on-board USB interface or use an FTDI cable to interface it. Usually, in a mesh topology, you will need to assign each node with their individual roles as coordinator, router, or end device. You will need at least one coordinator in the network, while the mesh will require several routers.

You can use the explorer dongle to plug in the ZigBee module, and use the USB connector on the dongle to plug the combination into one of the USB ports on the Raspberry Pi (RBPi). To communicate, you will need another pair of dongle and ZigBee module on the USB port of a computer or laptop. You will need to select the correct com port, and a common baud rate on a HyperTerminal to initiate communication between the modules.

Pro-HAT & GPIO-Zero for the Raspberry Pi

HATs or Hardware Attached on Top are very popular with the Raspberry Pi (RBPi) community. They plug on to the GPIO pins on the RBPi, providing additional functionality to the single board computer. The Pro-HAT puts the GPIO ports of an RBPi in numerical order, and labels them clearly. The user gets a female socket for each port into which, they can plug their wires or component leads.

Pro-HAT is actually a 72-point breadboard with the arranged GPIO ports and includes plenty of power and GND sockets, which every experimenter looks for when playing with some electronics. For instance, when plugging in LEDs, one does not need any current-limiting resistors, since these are already built-in.

Pro-HAT provides a protection circuit on each GPIO port. This protects the GPIO ports from any incorrect wiring, which happens during experimentation. However, you must still be careful not to short the 3V3 or 5 V pins directly to GND, as this can do serious damage.

However, it is still possible to bypass the 330 Ohm resistors on the Pro-HAT board. The board has an unprotected side where the ports are available as through-holes, without protection. This is especially useful for buzzers, which usually require more than the 10 mA current limit to operate than the resistors impose.

Created by Dave Jones and Ben Nuttal, the GPIO-Zero is the ideal way to start with Python GPIO programming. The user finds it very simple, as there is nothing to install when using it to start with the Pro-HAT. The GPIO-Zero kit has plenty of components, making it realistic for individuals and schools in discovering the joys of controlling the world with the RBPi, the Pro-HAT, and the GPIO-Zero kit.

The GPIO-Zero kit contains an MCP3008 ADC Chip, a TMP-36 analog temperature sensor, a single-channel relay, a PIR motion sensor, five 10 mm LEDs, a 10 K potentiometer, a 40-way male header, a large button, a 10 k resistor, 20 male-to-male jumper leads, and 20 male-to-female jumper leads.

The Pro-HAT protects ports by using a 330 Ohm resistor in series with each port, which does not allow currents over 10 mA into or out of the port. There is also a 3V3 Zener diode on the port, which saves the port from any overvoltage. Further, GPIO pins 2, 3, and 26 have hardware pull-ups, which means each of these pins are pulled up to 3V3 by resistors or 2 k value. This makes the default state of these pins to remain high, until an external signal pulls them low. Likewise, GPIO pins 2 & 3, which are also the I2C ports, are pulled down to zero volts through resistors of 2 k value. This keeps these pins grounded, but an external signal can pull them high.

Pulling the pins high and low through resistors on the Pro-HAT works well for experiments the GPIO-Zero kit allows. However, the resistors and the protection circuitry may not work well with high-speed SPI devices, such as the PiTFT and other small SPI LED color screens. In such cases, simply unplugging the Pro-HAT will solve the problem.

A Rain Alert for the Raspberry Pi

This Raspberry Pi (RBPi) rain alert will let you know when it starts to rain, so you can reel in the clothes you had let out to dry after washing. Although the kit uses an RBPi3, any model of the RBPi family can easily handle this project. A later extension can make it send tweets as well, but for now, it simply triggers a buzzer.

The primary sensor in this project senses falling raindrops. This raindrop sensor is actually a printed circuit board with two traces running across the entire board in an inter-meshed dual comb pattern. As the two sets of teeth of the comb traces remain separated by about a millimeter, they show high resistance when dry. Their resistance decreases when a drop of water falls across the traces, shorting them.

A sensor controller tracks the resistance between the traces, the resistance reducing as more drops of water fall on the sensor. A potentiometer on the controller allows the user to adjust the level of detection when the normally high digital out pin will go low. When the sensor detects rain, it changes the status of the pin. The RBPi, monitoring the status, sets off the buzzer.

Since it is essential to detect the start of rainfall, setting the potentiometer to trigger when a couple of raindrops have fallen on the sensor is adequate. Adjusting it is easy, which you can do when you have two or three raindrops collected on the sensor. Turn the potentiometer until the buzzer just stops, and turn back until you hear it going again.

Since it has to detect raindrops, placing the sensor such that it is always under an open sky is important. However, as electronics and rain do not work satisfactorily together, it is very important the rest of the circuitry remains protected from rain. The best way to achieve this is to have the RBPi and rest of the electronics inside a waterproof plastic case, with only the raindrop sensor hanging out. Run the Python program here and wait for the beeps to inform you everything is working properly.

Apart from the raindrop sensor and its control board, you need only a few other parts to get the kit working. A few jumper wires, an active piezo buzzer, and a mini breadboard are all you need. You can start by connecting the output of the control board to the GPIO18 port of the RBPi to read its status, and set off the buzzer from the RBPi’s GPIO13 port, while the sensor detects raindrops.

If you do not like sounding a buzzer, you can activate some LEDs instead when it rains. Else, program the RBPi to send an email, an sms, a push notification, or tweets a photo warning when it detects rain. Since the continuous sounding of the buzzer will become tiring after a while, you can tweak the code to stop it after a while.

Since the sensor is out in the open, you will have to run out and wipe it dry as soon as it stops raining, to prepare it for detecting the next shower.

Let Raspberry Pi Automate those Snake Eyes

If you are looking for something to bring your cosplay masks, props, or other spooky sculptures to life for your robots, animatronics, or Halloween parties, you can use the snake eyes cowl as a pair of animated eyes. This is an accessory for operating two 128×128 pixel TFT LCD or OLED displays through a single board computer such as the Raspberry Pi (RBPi). It also has four analog sensor inputs.

The project started life as a project named Electronic Animated Eyes using the microcontroller Teensy 3.2. However, the author found the RBPi to be a better alternative as it offers some potential benefits, such as hardware-accelerated graphics, and includes antialiasing. With a faster CPU, dual SPI buses, and ample RAM, the RBPi offers faster frame rates. The RBPi does not require a preprocessing step to decode standard graphics formats such as SVG, PNG, and JPEG. The author has written the eye rendering code in a high-level language, Python, and that makes it easier to customize.

However, using RBPi for this project has some downsides as well. The RBPi usually takes a while to boot an operating system from an SD card. It also needs an explicit shutdown procedure. As the RBPi is large and uses more power, it is not very suitable for wearable applications. Moreover, the use of an SD card makes it less rugged.

The author recommends an RBPi model 2 or 3. Although the code runs fine on an RBPi Zero or another single-core RBPi board the performance will lag greatly. Make sure the RBPi board used for the project has a 40-oin GPIO header.

However, it is not necessary to connect both displays for the project, as a single eye can also produce a very creative effect. The author recommends OLED displays, as they have very wide viewing angle along with excellent contrast and color saturation. However, OLED is more expensive compared to TFT. TFTs are also acceptable as displays, although they may look somewhat washed out for this project. Users may need additional components if they plan on controlling the eyes with a joystick and buttons, and allowing them to react to light, rather than allowing them to run autonomously.

The author uses bonnet boards to wire up the breakout pins on each display board. The user must decide if the installation will be a temporary arrangement or a permanent one. Space for wiring may depend on the housing chosen for the installation, and these may influence the choice of connectors and wiring. Wiring has to be done carefully, following the instructions to avoid disappointment.

Preferably, solder a header at each end, and plug all the wires through. This is easier and less error-prone. Keeping the wiring short and tidy from the bonnet to display, ensures the display gets a clean signal, as electrical interference may lead to glitches in the animation.

Start the project by downloading the latest version of the Raspbian Lite operating system, and transfer it to an SD card of 2 Gb or larger size. Follow instructions here.