Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Raspberry Pi Robotic Blueprints
Raspberry Pi Robotic Blueprints

Raspberry Pi Robotic Blueprints: Utilize the powerful ingredients of Raspberry Pi to bring to life your amazing robots that can act, draw, and have fun with laser tags

eBook
$40.99 $27.99
Print
$49.99
Subscription
$15.99 Monthly

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Black & white paperback book shipped to your address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Oct 30, 2015
Length 198 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781784396282
Category :
Concepts :
Table of content icon View table of contents Preview book icon Preview Book

Raspberry Pi Robotic Blueprints

Chapter 1. Adding Raspberry Pi to an RC Vehicle

The introduction of powerful, inexpensive processors that also provide a wide range of functionality through free open-source software has caused the do-it-yourself electronic project work to expand far beyond the simple, less than inspiring projects of the past. Now the developers can, with very low cost, create amazingly complex projects that were almost unthinkable a few years ago.

Many in this community are using Raspberry Pi as the basis for this revolution. This book provides simple, easy-to-follow instructions on how to use the Raspberry Pi in some very complex and sophisticated projects. Now enough of the introduction, let's start building something.

In this chapter, you'll learn the following:

  • How to modify an Xmods RC car using Raspberry Pi

  • How to set break into the control circuitry of the car and use Raspberry Pi to control it

  • How to use wireless communication to add remote control to the car

Configuring Raspberry Pi – The brain of your projects


A brief note before you start. In this book, you'll be using Raspberry Pi B2, a microprocessor that can run on the Linux operating system. The following is an image of the unit, with the different interconnectors labeled:

As this is an advanced projects book, you have already spent some time with Raspberry Pi and know how to write Raspbian/Wheezy on an SD card and boot your Raspberry Pi. If you don't, feel free to go to the Raspberry Pi website at https://www.raspberrypi.org/. Here you'll find all the instructions that you need to get your Raspberry Pi B 2 up and running.

Note that you may want to install your system on a microSD card that has at least 8 GB of memory. In some of the projects that you'll be building, you'll be installing some fairly significant pieces of open source software and you may not want to run out of memory.

Now you are ready to start with some simple product modification. Let's start with an RC car; you'll replace the transmitter and control the car with a wireless connection on Raspberry Pi.

Configuring and controlling an RC car with Raspberry Pi


The first project that you'll be working on is a simple RC car, like the one shown here:

This particular car is an Xmods car, sold by Radio Shack, also available at other retail and online outlets. You can certainly use other RC cars as well. The advantage of this particular set is that the inputs to the drivetrain and steering are very easy to access.

The following is the car, exposing the center control mechanism:

There are two connections that you will want direct access to. The first is the drive motor, and the second is the steering mechanism. For this particular model of RC car, the drive mechanism is in the rear. What you are normally looking for is two wires that will directly drive the DC motor of the car. On this system, there is a connector in the rear of the car, it looks as shown in the following image:

In the main control section of the car, you can see that there is a connector that plugs in these two wires in order to control the speed of the car, as shown here:

Remove this plug and these wires; you'll use Raspberry Pi and a motor controller to provide the voltage to the drive system of the car. The motor will run faster or slower based on the level of voltage that is applied to these wires and the polarity of the voltage will determine the direction. Raspberry Pi will need to provide a positive or negative 6 volt signal to control the speed and direction of the car.

You'll also need to replace the control signals that go to the front of the car for the steering. This is a bit more difficult. The following is the connector that goes to the front of the car:

The five-pin connector that comes from the control module is shown in the following:

The trick is to determine how the wires control the steering. One way to determine this is by opening up the unit, the following is how it looks from inside:

As you can see in the previous image, the blue and yellow wires are attached to a DC motor and the orange, brown, and red wires are attached to another control circuit. The motor will drive the wheels left or right, the polarity of the voltage will determine the direction, and its magnitude will cause the wheels to turn more or less sharply. The orange, brown, and red wires are interesting as their purpose is a bit difficult to discover. To do this, you can hook up a voltmeter and an oscilloscope. The orange and brown wires are straightforward, they are 3.5 volt and GND, respectively. The red wire is a control wire, the signal is a Pulse Width Modulation (PWM) signal, a square wave at 330 Hz and 10 percent duty cycle, and it is an enable control signal. Without the signal, the turning mechanism is not engaged.

Now that you understand the signals that are used in the original system to control the car, you can replicate those with Raspberry Pi. To control the steering, Raspberry Pi needs to provide a 3.3 volt DC signal, a GND signal, a 330 Hz, a 3.3 volt PWM signal, and the +/- 6 volt drive signal to the turning mechanism. To make these available, you can use the existing cables, solder some additional cable length, and use some shrink-wrap tubing to create a new connector with the connector that is available in the car:

You'll also need the access to the rear wheel compartment of your car to drive the two rear wheels. The following is how the access will look:

Also, you'll need to connect the battery power to Raspberry Pi, here is the modified connection to get the battery power from the car:

To control the car, you'll need to provide each of the control signals. The +/- 6 volt signals cannot be sourced directly by Raspberry Pi. You'll need some sort of motor controller to source the signal to control the rear wheel drive of the car and turning mechanism of the car. The simplest way to provide these signals is to use a motor shield, an additional piece of hardware that installs at the top of Raspberry Pi and can source the voltage and current to power both of these mechanisms. The RaspiRobot Board V2 is available online and can provide these signals. Here is a picture:

The specifics on the board can be found at http://www.monkmakes.com/?page_id=698. The board will provide two key signals to your RC car, the drive signal and the turn signal. You'll need one more additional signal, the PWM signal that enables the steering control. The following are the steps to connect Raspberry Pi to the board:

  1. First, connect the battery power connector to the power connector on the board, as shown in the following:

  2. Next, connect the rear drive signal to the motor 1 connectors on the board, similar to the following image:

  3. Connect the front drive connector to the motor 2 connectors on the board, as given in the following image:

  4. Connect the 3.3 volt and GND connectors to the General Purpose Input/Output (GPIO) pins of Raspberry Pi. Here is the layout of these pins:

  5. You'll use Pin 1 3.3V for the 3.3 volt signal and Pin 9 GND for the ground signal. You'll connect one of the GPIO pins so that you can create the 320 Hz, 10 percent duty cycle signal to enable the steering. Connect Pin 12 GPIO18, as shown in the following:

Now the hardware is connected.

Controlling the RC car using Raspberry Pi in Python


The hardware is ready, now you can access all this functionality from Raspberry Pi. First, install the library associated with the control board, found at http://www.monkmakes.com/?page_id=698. Perform the following steps:

  1. Run the command wget https://github.com/simonmonk/raspirobotboard2/raw/master/python/dist/rrb2-1.1.tar.gz—this will retrieve the library.

  2. Then run tar -xzf rrb2-1.1.tar.gz—this will unarchive the files.

  3. Type cd rrb2-1.1—this will change the directory to the location of the files.

  4. Type sudo python setup.py install—this will install the files.

Now you'll create some Python code that will allow you to access both the drive motor and the steering motor. The code will look similar to the following:

The specifics on the code are as follows:

  • import RPi.GPIO as GPIO: This will import the RPi.GPIO library, allowing you to send out a PWM signal to the front steering mechanism.

  • import time: This will import the time library, allowing you to use the time.sleep(number_of_milliseconds), which causes a fixed delay.

  • from rrb2 import *: This will import the rrb2 library, allowing you to control the two DC motors. The rrb2 is the library you just downloaded from GitHub.

  • pwmPin = 18: This will set the PWM pin to GPIO Pin 18, which is physically Pin 12 on the Raspberry Pi.

  • dc = 10: This will set the duty cycle to 10 percent on the PWM signal.

  • GPIO.setmode(GPIO.BCM): This will set the definition mode in the RPi.GPIO library to the BCM mode, allowing you to specify the physical pin of the PWM signal.

  • GPIO.setup(pwmPin, GPIO.OUT): This will set the PWM pin to an output so that you can drive the control circuitry on the steering.

  • pwm = GPIO.PWM(pwmPin, 320): This will initialize the PWM signal on the proper pin and set the PWM signal to 320 Hz.

  • rr = RRB2(): This will instantiate an instance of the motor controller.

  • pwm.start(dc): This will start the PWM signal.

  • rr.set_led1(1): This will light LED 1 on the motor controller board.

  • rr.set_motors(1, 1, 1, 1): This will set both the motors to move so that the vehicle goes in the forward direction. This command will allow you to set the motors to forward or reverse and set it at a specific speed. The first number is the speed of motor one and it goes from 0 to 1. The second numbers is the direction of motor one, 1 is forward and 0 is reverse. The third number is the speed of motor two, which also goes from 0 to 1, and the fourth number is the reverse and forward setting of the second motor, either 1 or 0.

  • print("Loop, press CTRL C to exit"): This will instruct the user how to stop the program.

  • while 1: This will keep looping until Ctrl + C is pressed.

  • time.sleep(0.075): Causes the program to wait 0.075 seconds.

  • pwm.stop(): This will stop the PWM signal.

  • GPIO.cleanup(): This will cleanup the GPIO driver and prepare for shutdown.

Now you can run the program by typing sudo python xmod.py. LED 1 on the control board should turn on, the rear wheels should move in the forward direction, and the steering should turn. This confirms that you have connected everything correctly. To make this a bit more interesting, you can add more dynamic control of the motors by adding some control code. The following is the first part of the python code:

Before you start, you may want to copy your python code in a new file, you can call it xmodControl.py. In this code you'll have some additional import statements, which will allow you to sense key presses from the keyboard without hitting the enter key. This will make the real-time interface seem more real time. The getch() function senses the actual key press.

The rest of this code will look similar to the previous program. Now the second part of this code is as follows:

The second part of the code is a while loop that takes the input and translates it into commands for your RC car, going forward and backward and turning right and left. This program is quite simple, you'll almost certainly want to add more commands that provide more ways to control the speed and direction.

Accessing the RC car remotely


You can now control your RC Car, but you certainly want to do this without any connected cables. This section will show you how to add a wireless LAN device so that you can control your car remotely. The first step in doing this is to install a Wireless LAN device. There are several possible ways to do this; however, the one that works well, with full documentation, is described at https://learn.adafruit.com/setting-up-a-raspberry-pi-as-a-wifi-access-point/overview.

You should now be able to connect to your Raspberry Pi via the Wireless Access Point. Once you've created the wireless access point, you can login via a VNC connection, this way you can add a USB webcam to your car to make it even easier to control. To do this, first download an application that can support a VNC connection. You can get this on your Raspberry Pi using an application called vncserver. You'll need to install a version of this on your Raspberry Pi by typing sudo apt-get install tightvncserver in a terminal window on your Raspberry Pi.

TightVNC Server is an application that will allow you to remotely view your complete graphical desktop. Once you have it installed, you can do the following:

  1. You need to start the server by typing vncserver in a terminal window on Raspberry Pi.

  2. You will be prompted for a password and then asked to verify it, then you will be asked if you'd like to have a view-only password. Remember the password that you have entered, you'll need it to remotely login via a VNC Viewer.

  3. You'll need a VNC Viewer application for your remote computer. One choice for Windows users is RealVNC, available at http://www.realvnc.com/download/viewer/. When you run it, you will see the following:

  4. Enter the VNC Server address, which is the IP address of your Raspberry Pi, and click on Connect. You will get a warning about an unencrypted connection, select Continue and you will get the following pop-up window:

  5. Type in the password that you entered while starting the vncserver, and you will then get a graphical view of your Raspberry Pi, which looks like the following screenshot:

You can now access all the capabilities of your system; however, they may be slower if you are doing a graphics-intense data transfer. To avoid having to type vncserver each time you boot your Raspberry Pi, use the instructions given at http://www.havetheknowhow.com/Configure-the-server/Run-VNC-on-boot.html.

Vncserver is also available via Linux. You can use an application called Remote Desktop Viewer to view the remote Raspberry Pi GUI system. If you have not installed this application, install it using the update software application based on the type of Linux system you have. Once you have the software, perform the following steps:

  1. Run the application and you will get the following result:

  2. Make sure vncserver is running on Raspberry Pi; the easiest way to do this is to log in using SSH and run vncserver at the prompt. Now click on Connect on Remote Desktop Viewer. Fill in the screen as follows, under the Protocol selection, choose VNC, and you will see the following screenshot:

  3. Now enter the host IP address, make sure you include a :1 at the end and then click on Connect. You'll need to enter the vncserver password that you created when you first ran vncserver on Raspberry Pi, like this:

You can see the graphical screen of Raspberry Pi. Now you are ready to observe the output of a USB webcam connected to your car. This is quite straightforward, simply plug in a USB webcam and download a video viewer. One such video viewer that works well is luvcview. To install this, type sudo apt-get install luvcview.

With all these tools installed, you can now run vncview, bring up a luvcview window so you can see what your RC Car is seeing and control it remotely by running the xcmodControl.py program that you wrote earlier. The screen will look similar to the following:

There are a lot of additions that you can make to your Raspberry Pi controlled car, such as adding the joystick control or more autonomy. However, let's move on to the next project.

Summary


Now you know how to work with Raspberry Pi to add its capability to an existing piece of hardware, in this case, an RC Car. In the next chapter, you'll learn how to add Raspberry Pi to a toy robot that can walk, and make it talk and listen to the voice commands.

Left arrow icon Right arrow icon

Key benefits

  • Learn to implement a number of features offered by Raspberry Pi to build your own amazing robots
  • Understand how to add vision and voice to your robots.
  • This fast-paced practical guide comprises a number of creative projects to take your Raspberry Pi knowledge to the next level

Description

The Raspberry Pi is a series of credit card-sized single-board computers developed in the UK by the Raspberry Pi Foundation with the intention of promoting the teaching of basic computer science in schools. The Raspberry Pi is known as a tiny computer built on a single circuit board. It runs a Linux operating system, and has connection ports for various peripherals so that it can be hooked up to sensors, motors, cameras, and more. Raspberry Pi has been hugely popular among hardware hobbyists for various projects, including robotics. This book gives you an insight into implementing several creative projects using the peripherals provided by Raspberry Pi. To start, we’ll walk through the basic robotics concepts that the world of Raspberry Pi offers us, implementing wireless communication to control your robot from a distance. Next, we demonstrate how to build a sensible and a visionary robot, maximizing the use of sensors and step controllers. After that, we focus on building a wheeled robot that can draw and play hockey. To finish with a bang, we’ll build an autonomous hexcopter, that is, a flying robot controlled by Raspberry Pi. By the end of this book, you will be a maestro in applying an array of different technologies to create almost any imaginable robot.

What you will learn

[*]Add sensors to your robot so that it can sense the world around it [*]Know everything there is to know about accessing motors and servos to provide movement to the robotic platform [*]Explore the feature of adding vision to your robot so it can “see” the world around it [*]Refine your robot with the skill of speech recognition so that it can receive commands [*]Polish your robot by adding speech output so it can communicate with the world around it [*]Maximize the use of servos in Raspberry Pi to create a drawing robot [*]Strengthen your robot by adding wireless communication skills so you can see what the robot is seeing and control it from a distance [*]Build an unbelievable autonomous hexcopter controlled by Raspberry Pi

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Black & white paperback book shipped to your address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Oct 30, 2015
Length 198 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781784396282
Category :
Concepts :

Table of Contents

14 Chapters
Raspberry Pi Robotic Blueprints Chevron down icon Chevron up icon
Credits Chevron down icon Chevron up icon
About the Author Chevron down icon Chevron up icon
About the Reviewers Chevron down icon Chevron up icon
www.PacktPub.com Chevron down icon Chevron up icon
Preface Chevron down icon Chevron up icon
Adding Raspberry Pi to an RC Vehicle Chevron down icon Chevron up icon
Adding Raspberry Pi to a Humanoid Robot Chevron down icon Chevron up icon
Building a Tracked Vehicle That Can Plan Its Own Path Chevron down icon Chevron up icon
Building a Robot That Can Play Laser Tag Chevron down icon Chevron up icon
A Robot That Can Draw Chevron down icon Chevron up icon
A Robot That Can Play Air Hockey Chevron down icon Chevron up icon
A Robot That Can Fly Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Filter icon Filter
Top Reviews
Rating distribution
Empty star icon Empty star icon Empty star icon Empty star icon Empty star icon 0
(0 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 0%
1 star 0%

Filter reviews by


No reviews found
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela