Tag Archives: Raspberry Pi

What is a Raspberry Pi?

Raspberry Pi or RBPi, the fully functioning, tiny, single board computer costing next to nothing, has been a runaway success. However, a perennial question doing the rounds is – why would anyone want one when there is such a glut of PCs, tablets and smartphones? This article discusses the answer while exploring the RBPi doing real things.

Why is the RBPi Special?
Being an ARM-based single board computer, the RBPi, though unexceptional, is not particularly powerful. However, it is amazingly cheap and that makes it an almost disposable computer.

Several low-cost embedded systems platforms such as the Arduino are available on the market. However, unlike others, the RBPi is a complete general-purpose computer. For a very low cost, the RBPi offers the complete package of a Linux-based machine that challenges the computing power of a desktop machine of a few years ago. Apart from using it as a desktop personal machine, you can also use the RBPi as a server, a dedicated device running in kiosk mode, or for physical computing – its digital IO pins control other hardware.

The RBPi is cheap enough for one to use it to do a single job. To be equally multipurpose, other platforms would need machines that are more expensive. For example, a single RBPi can work equally well as a wall clock, a weather station, a digital photo frame, etc. Earlier, one would be using multiple temperature sensors and running long cables to a single data-collecting machine. The same job can now be handled more efficiently with an RBPi in each location, individually enabled with Wi-Fi and sending their data to another RBPi acting as a central server.

Therefore, the low cost of the RBPi is changing the optimal architecture of several projects.

Types of RBPi Available

At present, all RBPi models are based on the Broadcom BCM2835 system on a chip. This is actually a combination of a version 6 ARM architecture CPU and a VideoCore IV GPU. That makes it roughly as powerful as a 300MHz Pentium II processor typically used in the year 1999. The actual distinction between the different models is primarily based on the amount of RAM and the interfaces offered. All modes come with an HDMI and an audio port.

The initial Model A started with 256MB, while the later Models B and B+ have 512MB each. However, Linux and most applications for Linux are not as memory hungry as Windows, so the RBPi & Linux constitutes an efficient and economical combination.

Although RBPi operates on a capable Linux operating system, there are no hard disk drives and no disk interfaces either. Instead, the RBPi relies on an SD card interface that supplies the 8-32GB Operating System and file system storage.

While the Model A started with a single USB port interface, the Model B comes with a 100MHz network port and two USB ports. The latest Model B+ has one 100MHz network port and four USB ports. Therefore, you can connect a mouse and a keyboard to the Model B+ and still have two more USB ports left for connecting other appliances.

Focus Stacking with the Raspberry Pi

If you are into photography, a flatbed scanner and the popular single board computer, the Raspberry Pi or RBPi, can help you to focus stacking images in macro photography. After re-purposing an old flatbed scanner, David Hunt is using it as a macro-rail controlled by the SBC, RBPi.

Those who shoot macro photography are aware of the common issue of depth of focus limitation that shows up as the depth of field limitation in the photograph. Depending on the magnification you are trying to achieve and the camera settings, the depth of focus can be as small as 0.5mm. One solution is to stack together several images of a subject, with each image focusing on a different part of the object.

To do this with commercial solutions may set you back by as much as $600. The difficulty lies in moving the camera closer to the subject in extremely small increments, but with great accuracy. The sharp parts of the images are combined together using free software such as CombineZM, resulting in a completely sharp image of the subject right from front to back.

David Hunt decided to solve the problem with an old flatbed scanner that was lying in his attic gathering dust. Capable of 2400 dpi, the scanner had not been used for over a couple of years.

Even the drivers available for it worked only on Windows XP. Although accurate enough, David was doubtful if the machine would be capable of moving a 3Kg camera and lens combination. He decided to use the stepper motor and drive the scan element in very small increments, with the camera attached to it – it would be ideal for macro photography.

Scanners typically come with a nice flat platform on which a camera can be placed. Driving the platform forward and back requires a stepper motor that has its own drive electronics and has to be driven externally. The drive is slow, so it will let the camera remain steady while it moves. A camera with a shutter release mechanism will be useful, as you will have to take a number of snaps.

H-bridge stepper motor drives are efficient and easy to use. David used a drive capable of handling 2 DC motors or 1 stepper motor with two coils. For powering the motors and the drive, David used 3x AA type batteries. Therefore, he was able to connect four GPIO pins from the RBPi to control the drive and the motor. However, driving the motor through opto-couplers would have provided more safety for the RBPi.

The binary sequence of 1000, 0100, 0010 and 0001, when repeated, will drive the motor forward one-step at a time. The same sequence, repeated in reverse, will allow the motor to move back one-step at a time. David programmed the RBPi to generate these sequences repeatedly while he added an additional circuit for releasing the camera shutter between each movement of the platform.

With the above contraption, David can move his camera forward towards the subject in the smallest increments of 0.02mm, and take images at each increment.

ArdHat for Connecting Raspberry Pi to the Real World

Many users of the tiny, inexpensive, Linux-based single board computer, the Raspberry Pi or RBPi, would like to connect it to the outside world, but do not know how. According to Maker Jonathan Peace, ArdHat is most suitable for connecting the barebones Unix platform to the real world. Therefore, he calls it the “missing link that connects the Raspberry Pi with the real world.”

Onboard the ArdHat is an Arduino-compatible embedded MCU, the ATmega328P. Its specialty is very quick response to all real-time events, allowing the RBPi to take care of the rest of the heavy lifting. HATs or Hardware Attached on Tops are most suitable for the RBPi Model B+. These HATs conform to specified standards and make life easier for users. One significant feature of HATs is an onboard system to allow the RBPi B+ identify the connected HAT and automatically configure its GPIOs and drivers for the plugged-in board.

Real-world systems need low-power operation, real-time performance and environmental protection and awareness, all of which the ArdHat provides. As a super-compact RBPi compatible HAT, the ArdHat enhances and protects the RBPi for applications in the real world, while being accessible to everyone possessing an Arduino.

You can have the ArdHat in four different models – two with long-range radio modules and the other two without the radio. All four are packed with analog sensors, user interface controls, a real-time clock, 5V Arduino shield capability, supply monitoring, a wide operating range of voltages that includes automotive, full power/sleep management and high current outputs for driving peripherals. All these are accessible from the AVR chip on-board the ArdHat or the RBPi.

Those looking for more power can also choose between the ArdHat-W and the ArdHat-I. The first has a 15Km long-range ISM wireless node, while the latter has a 10-DOF inertial measurement unit. Both make the boards ready for IoT right out of the box.

Apart from a flat top design that allows plenty of space for placing a battery or a prototyping board, the ArdHats accept several Arduino shields. Users can also buy an optional high-capacity 1800mAh battery, especially tailored to plug-in directly into the JST standard connector. The whole arrangement fits snugly between the shield headers of the board’s flat top design.

Among the smart power management feature of the ArdHat is a power switch and charge control. That allows the RBPi to run on several types of power supplies, including LiPo batteries to automotive supplies. Therefore, the HAT can simply connect to systems operating on 5V and drive them – smart LEDs, quadcopters and servos.

Other than protecting the RBPi from external power outages and voltage spikes, the TopHat enclosure offers a physical safeguard as well. Made of laser-cut Perspex, the enclosure allows access to pins of the Arduino shield for teaching and experimental purposes. At the same time, the enclosure protects the delicate circuitry of the RBPi circuit board.

The scheduler and applications for the ArdHat are entirely open-source. Using the Arduino IDE, users can modify and update even the preloaded sketch of the real-time software on the ArdHat.

An Explorer HAT Pro for the Raspberry Pi

If you are looking for a HAT or Hardware Attatched on Top for your Raspberry Pi (RBPi) that has motor and touchscreen drivers, integrated sensors and interfaces with 5V devices, the Explorer HAT is for you. Standard add-on board HATs allow the Linux-ready SBC, the RBPi, to configure its GPIO signals and drivers to control and use external devices.

Pimoroni has two models of HATs for the RBPi – the Explorer HAT and the Explorer HAT Pro. They support the HAT standard set by the Raspberry Pi Foundation, matching requirements for the RBPi 2 Model B, including the first-generation Model B+ and Model A+ boards as well.

To integrate inputs from 5V Trinkets or Arduino boards, the Explorer HAT offers four buffered 5V inputs. In addition, four powered 5V outputs on the board can supply 500mA to drive stepper motors, relays and or solenoids. The Explorer HAT also has a mini-breadboard, four capacitive touchpads, four LEDs and four capacitive alligator clips.

In addition to all the above features of the Explorer HAT, the Explorer HAT Pro has analog inputs and two motor drivers in H-bridge configuration to drive micro-metal geared motors and similar. The Explorer HAT Pro also comes with plenty of 3v3 features from the GPIO. However, these are unprotected.

According to the specifications defined for the Explorer HAT, each board has four inputs each 5V tolerant including 5-channel buffers with 2-5V support. There are four 5V powered Darlington-array outputs capable of 500mA per channel, limited to 1A total. The front edge of the board has four capacitive touch pads along with four LEDs, controlled independently. Including the mini-breadboard, the dimensions of the Explorer HAT are 65x56x13mm.

The Explorer HAT Pro version adds four analog inputs including two bi-directional motor drive outputs of the H-bridge type capable of handling 200mA per channel. It supports soft-PWM for full speed control. Additionally, there are the unprotected 3V3 GPIO features.

Compared to the Pibrella, another board made by Pimoroni, both the Explorer HAT and the Explorer HAT Pro share many similarities, but also add a lot more besides. For example, the analog and digital inputs are a great help, especially since you can connect inexpensive and simple sensors such as the TMP36, while taking advantage of the built-in ADC.

The capacitive touch buttons of the Explorer HAT not only allow interfacing with connected components, but also allow independent working. For example, you can send a tweet, an email or a text message by simply tapping one of the buttons. There are many other possibilities with these capacitive touch buttons. You can connect crocodile clips and brass contacts for using fruits as buttons. Of course, the software will have to be tweaked somewhat to get the proper sensitivity.

Plugging HATs on the RBPi invariably causes loss of access to some GPIO pins. The Explorer HAT breaks out the most useful pins from the GPIO, making them easily accessible. Pimoroni provides intuitive Python libraries and a built-in tutorial for all to use.
Overall, both the Explorer HAT boards are a great value for money not only for kids playing and learning to interface with the RBPi, but also for grown-ups.

Energy Monitoring with the Raspberry Pi

If you are looking for an all-in-one device for monitoring your home energy needs, a low-cost single board computer such as the RBPi or Raspberry Pi along with an add-on shield is all you need. The emonPi board is a low-cost shield that is bereft of any enclosure, HDD and LCD.

However, when connected with an LCD for status display, hard-drive for local logging and backup and a web-connected RBPi, the emonPi makes a high-quality and robust unit. Enclose it in a suitable enclosure and you have a stand-alone energy monitoring station.

The design of the emonPi allows it to be a perfect fit for those who install heat-pump monitoring systems. Usually, these systems require several temperature sensors that must also be wired up along with power monitoring. Accompanying modules offer a myriad of options.

For example, the emonPi can also act as an emonBase, as it has options for radio (RFM12B/RFM69CW) to receive data from other wireless nodes. These nodes include emonTH, for measuring room temperature and humidity. Another energy-monitoring node, the emonTX V3 can send the current time to the LCD, emonGLCD.

The status LCD makes it easy to install, setup and debug the emonPi system as an energy monitor sensing mode and an all-in-one remote posting base station. This makes the emonPi a great tool for remote administration, since, with a proper networking configuration the RBPi can be accessed remotely. Thus, you may check its log files and even upload firmware onto the ATmega328 of the emonPi.

The emonPi monitors energy through a two-channel CT or current transformer along with an AC sample input. It can power up the RBPi and an external hard disk drive without using an external USB hub. Additionally, the emonPi can function even without a hard disk drive being connected to it.

The RJ45 breakout board makes it very easy to attach several temperature sensors to the RJ45 on-wire temperature bus provided by a DS18B20. This is eminently suitable for multi-sensor setups such as in heat pump monitoring applications. The RJ45 also has IRW and PWM I/Os.

The emonPi is compatible to all models of the RBPi and its options for RFM21B and RFM69CW along with an SMA antenna makes it capable of receiving or transmitting data from other sensor nodes. One can control remote plugs with the OOK or On-Off keying transmitter.

All hardware, firmware and software are open-source and the ATmega328 on the emonPi can remotely upload sketches via the serial port of the RBPi. However, compared to the emonTX V3, emonPi has some disadvantages.

The emonPi module is not capable of making measurements on three-phase systems as there is only one CT monitoring two channels. As the RBPi has high power requirements, it is not possible to power the emonPi from batteries. You cannot also use an AC-AC adapter, because, for measuring real power, you must use both a 5VDC and a 9VAC adapter. Remote location of the utility meter requires Ethernet connection or Wi-Fi connectivity. Additionally, the emonPi requires a larger enclosure as compared to what an emonTX V3 uses.

Slow Scan Television Camera with the Raspberry Pi

Ham radio operators use their radio equipment and computers to send and receive pictures over wireless. Earlier, most images sent through voice transceivers were low resolution black and white. However, with improvement in technology, nearly all images are of higher resolution and in color. The technique for sending and receiving pictures over radio is called Slow Scan TV. All that is required is a VHF scanner, a computer and a camera. This project replaces the computer with a Raspberry Pi or RBPi, the tiny credit card sized single board computer.

The RBPi with the PiCam forms a wireless camera for transmitting images over very long distances such as tens of kilometers. Finally, the images will be transmitted by ham or amateur radio equipment that uses slow scan television or SSTV over the 2m band (144.5MHz). Here, the RBPi is capable of generating the HF FM signals, and no additional electronics is needed for transmissions at low power. However, with a low pass filter and a single or a two-transistor amplifier, a more powerful transmission can be achieved.

Greater distance coverage is the main advantage of using SSTV over Wi-Fi for transmitting pictures. Using the RBPi as a wireless security camera, you can transmit pictures to distances far beyond the range normally covered by Wi-Fi networks. One of the main requirements is you will need a ham-radio license for using this application.

For transmitting a picture, you will first need to capture it using the PiCam. The program that RBPi uses to do this is named as rapistill. Once the image is captured, it has to be converted to a SSTV sound file. Although there is a program called PySSTV, the conversion rate is very slow and it may take several minutes for converting a single image. However, a simple program implemented in C – PiFm – works very well. The program allows setting the audio sample rate from the command line and converts the picture to an SSTV sound file in just under four seconds.

Although it is customary to transmit the sound file over a radio transmitter, it is much more fun to allow the RBPi to generate its own high frequency signal. Following the Wiki of the Imperial College Robotics, you can turn your RBPi into an FM transmitter. Their code used DMA, but the bandwidth used is very high and the timing for SSTV is not accurate.

In PiFm, bandwidth reduction is very simple. Usually, for FM, the bandwidth is set with the modulation index. This index is the volume of the audio signal modulating the HF carrier. Timing is very essential for SSTV, as a small change in the sampling rate results in slanted images. The timing correction, in the form of a constant, can be set from the command line.

Another requirement when using ham radio for transmitting SSTV signals is that you are required to transmit your call sign in every transmission. This information has to be added to the picture and the RBPi uses imagick from the python image library to accomplish this. Whenever something interesting happens in front of the camera, the RBPi captures the image and sends it over wireless.

Embedded Pi and Raspberry Pi

To extend the functionality of your tiny single board computer, the credit card sized Raspberry Pi or RBPi you can consider using the Embedded Pi or E-Pi. With E-Pi, your RBPi will be able to interface to Arduino shields even without making use of any Arduino device. For example, the E-Pi RBPi combination can drive a TinkerKit Sensor Shield using a set of actuators/sensors such as LED actuator, button sensor, tilt sensor and a relay actuator.

You may be an intermediate RBPi user or a novice just starting out with the SBC. Using the Embedded Pi will allow you to work with the combination of E-Pi, RBPi and sensor shields for controlling a set of actuators and sensors. In addition, you will learn to write Python code for controlling and detecting the state of the actuators and sensors.

The RBPi can be of either model A or B. For installing the Embedded Pi demo software and the necessary software updates for the RBPi, you will require network connectivity. Since more than two USB devices will be connected, a USB2 hub is recommended. Most likely, you will be connecting the keyboard and mouse through the USB hub along with the WiPi. To link the monitor, use either the HDMI interface or the RCA phono connector, if your monitor accepts composite video.

The Embedded Pi offers an interface platform for connecting the RBPi, Arduino and the embedded 32-bit ARM processor. The Instructions and the E-Pi form a bridge to link the RBPi and the Arduino shields. Physically, this interface takes the form of a cable linking the GPIO connectors on the RBPi and the E-Pi board. On the software side, the linking is achieved by using Rpi.GPIO and WiringPi modules.

The TinkerKit Sensor Shield allows various sensors and actuators to be connected. You can connect them directly to an Arduino or to the E-Pi, without any breadboard in between. There are 12 standard 3-pin connectors on the Sensor Shield. Of them, 10-15 are Analog inputs, 00-05 are the analog outputs. You can drive them with PWM capable outputs or you can configure them as digital inputs.

The TinkerKit uses LED, Relay actuator, button and tilt sensor that are plugged into the 00-05 pins on the Sensor Shield. Both sensors and actuators can be simultaneously used.

To use the E-Pi, connect all the peripherals such as the USB2 hub, mouse, keyboard, WiPi, monitor, etc. into the RBPi and start using the demonstration software. In the next step, connect the RBPi, E-Pi and the Sensor Shield together. Use a flat-flex cable to link the RBPi and the E-Pi together, making sure that the red edge on the flat cable confirms to the proper alignment of the interfaces. On the E-Pi, it is necessary to set jumper JP1, so that its power bus voltage is at 3.3V. Additionally, use only JP3 and not the JP4, such that the E-Pi is configured for the RBPi.

Now connect the LED module with the 3-pin twisted wire cable to the Sensor Shield to its orange sockets – the analog output. Use the epi-leds-rgv1p0p0.py program to run and light up the LED. For further details, see the element-14 site.

Use a K-Type Thermocouple with the Raspberry Pi

Whether you are working in a lab, at home, in the office or in the field, occasionally one needs to have the capability to measure the temperature of different sorts of materials such as solids, liquids and chemicals. The temperature range involved may be small or large – its measurement usually requires the use of a thermocouple. This is not very easy to interface, as you need a sensor amplifier that has to measure a very small voltage generated by the thermocouple.

In general, type-K thermocouples are useful in most applications. Extension grade K-type thermocouples are made of Nickel and Aluminum alloy conductors good for measuring a temperature range of 0-200°C. However, other constructions are available that can measure a temperature range of -270 to 1260°C. Thermocouple conductors, when subjected to a temperature gradient, generate a minute amount of voltage – this is called the Seebeck effect. Type-K thermocouples have a nearly linear voltage output versus a temperature gradient. This simplifies interfacing to an electronic circuitry.

The ADS1118 development board from Texas Instruments (TI) is a ready-made platform for using the K-type thermocouple with the Raspberry Pi or RBPi, the tiny credit card sized single board computer. The development board comes with a k-type thermocouple and a high-resolution LCD module. Using eight jumper wires, you can connect this board to the RBPi via the SPI pins on its GPIO. Alternately, use an adapter board to plug in the ADS1118 development board directly to the GPIO pins on the RBPi. Follow the diagram on the left.

The advantage in using an RBPi for interfacing a thermocouple is you can check up on the temperature of your experiment remotely via your smartphone or your PC. The basic idea is to use the RBPi as a web server and to project the temperature measured as a figure on the website that comes up. The following diagram sums up the entire scheme –

The RBPi interfaces with the ADS1118 development board to collect the temperature data via the Serial Peripheral Interface or SPI. It passes this information to the Webserver and application logic. The RBPi also runs a JavaScript in the background for the Webpage content and browser side.

On receiving a request, the web server delivers the webpage containing the temperature data, updating it frequently. This allows remote monitoring of the temperature data from your smartphone or PC. You only have to point your browser to the correct IP address of the webpage.

TI provides a wealth of code for the MSP430 micro-controller on the ADS1118 board. Usually, temperature measurement is a little more than the simple read the ADC value and convert to temperature. It usually involves compensation for the cold junction. For the ADS1118, this means reading another temperature sensor reference on the board. The code does the job of interleaving the readings of the internal sensor and the external thermocouple.

Additionally, the readings need to be corrected for the non-linearity of the thermocouple for accurate interpretation of the thermocouple voltage into temperature. The TI code includes the non-linearity of the thermocouple and translates the ADC value accordingly to actual temperature.

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.

XMP-1 the Raspberry Pi Robot

XMP-1 the Raspberry Pi Robot
The inexpensive, credit card sized single board computer, the Raspberry Pi or RBPi, can be teamed up with another inexpensive, credit card sized processor platform, the XMOS startKIT. The duo presents the unique possibility for DIY enthusiasts to construct robotics applications. An additional incentive – almost no soldering required.

The XMOS StartKit comes with an XMOS processor chip that has multiple XMOS cores. You can program these cores directly in C. Multiple programs will run in parallel within the XMOS cores, at high speeds and without jitter. That is exactly what the robotics applications ideally require.

The combination of the RBPi and the XMOS startKIT makes a simple mobile platform that its designer Shabaz chooses to call as XMP-1 – the XMOS Mobile Platform, version 1. Using only simple tools such as pliers, wire-cutters and a screwdriver, XMP-1 involves only low-cost off-the-shelf standard hardware. It is flexible enough to allow addition of more sensors and programming to make it more versatile than it is at present. The XMOS board communicates with the RBPi via the Serial Peripheral Interface or SPI and you can control the XMP-1 from a web browser.

Although XMP-1 can move at quite a high speed, it is preferable to keep its speed low when it is being taught a new route. The console output and the browser controls are available on the display on the web browser to generate keep-alive and status messages to help you see what is happening. Shabaz has recorded this project in three parts, the first of which deals with programming the XMP-1 that has no sensors. In part two, Shabaz conducts more XMOS startKIT experiments. These serve to establish the process of high-speed SPI communication between the XMOS startKIT board and the RBPi.

You will be able to get the XMP-1 up and running, if you simply take the code, compile it and plug it into the flash on the XMOS startKIT board and the RBPi. However, this project is useful to all types of enthusiasts apart from those only interested in constructing and using XMP-1. For example, on the site, you will get adequate help in the XMP-1 hardware assembly, controlling hardware using RBPi and using a web browser to do it from a remote location. The site is very informative for those who are new to the XMOS startKIT.

The RBPi is connected to the network via an 802.11 Wi-Fi USB adapter and handles all network activity. A small web server running on the RBPi provides feedback to the user via a web browser. The RBPi also transfers the motor control speeds it receives from the user over to the XMOS startKIT board via the Serial Peripheral Interface. In turn, the XMOS startKIT feeds the motors with the correct Pulse Width Modulation or PWM signals.

Based on these input signals, the hobby servomotors operate to allow the XMP-1 to run at varying speeds in a straight line or to take a turn. Usually the servomotors rotate to less than a complete revolution – within a range of nearly 180-degrees. The output shaft is connected to linkages that make the wheels turn a full right, a full left or anything in-between.