Learn, Implement and Share

Ferromagnetic Pipe Climbing Robot – Omnidirectional Raspberry Pi Robot

Gas and oil tanks, wind turbines, pipelines and marine vessels are examples of the structures which are the target for the application of the ferromagnetic pipe climbing robot. Such structures are usually built from ferromagnetic material having a convex circumference and thus, utilization of magnetic adherence systems is a natural choice. Pole climbing robots received increasing attention during the previous years due to their application in the inspection of pipelines and similar structures. In order to hold itself to a smooth surface, the climbing robot can use suction cups, gripping mechanism and magnetic adhesive. In this project, we are using a magnetic adhesive type.

The ferromagnetic pipe climbing robot being designed for this project uses magnets to keep itself attached to the pipe while the motors and wheels system help to move the robot in the vertical or horizontal direction. DC motors are used as they provide 360 Degree of rotation for the wheels. The entire design and fabrication have been done while keeping in mind that the weight of the robot needs to be as low as possible.

Giving Magnetic Adhesion properties to the robot can be achieved by Permanent Magnets as well as Electro Magnet. Using an Electro Magnet was not an option due to its huge power consumption which would lead to heavier batteries and end up making the Bot so heavy that it would not be able to stick to Iron Surface.

Slider image

Ferromagnetic Pipe Climbing Robot

Omnidirectional Raspberry Pi Robot

Slider image
Slider image
Slider image
Slider image
Slider image
Slider image
Slider image
Slider image

Neodymium Magnets

Neodymium Iron Boron (NdFeB) magnet is a permanent magnet composed of rare earth magnetic material and has a high coercive force. Their field strength has been measured at 12.5 kilogauss or 1.25 Tesla. They can usually be manufactured to be small and compact in size. However, NdFeB magnets have low mechanical strength, tend to be brittle, and low corrosion-resistance if left uncoated. If treated with gold, iron, or nickel plating, they can be used in many applications. They are very strong magnets and are difficult to demagnetize.

Neodymium magnets are graded by the maximum strength they can be magnetized to (higher the number, stronger the magnet is. The grades start from N27 to N52. As the grade of the magnet increases the magnet becomes more brittle.

We are specifically using N35 magnets because they have the average pulling force of 65.73 lbs and they can withstand the forces which the climbing robot experiences. N35 magnets are comparatively less brittle in nature thus if the robot falls down the chances of magnets breakage is less.

Omnidirectional Wheels

Omni-directional wheels are unique as they are able to roll freely in two directions. It can either roll like a normal wheel or roll laterally using the wheels along its circumference. Omni-direction wheels allow a robot to convert from a non-holonomic to a holonomic robot. A non-holonomic robot that uses normal wheels has only 2 out of 3 controllable degrees of freedom which are moving forward, backwards and rotation. Not being able to move sideways makes a robot slower and less efficient in reaching its given goal. The holonomic omnidirectional wheels are able to overcome this problem as it is highly manoeuvrable. Unlike a normal non-holonomic robot, the holonomic omnidirectional robot can move in an arbitrary direction continuously without changing the direction of the wheels. It can move back and forth, sideways and rotates at the same position.

Bill of Material

Click on Each Product Below and You will be Taken to the Product Page that I trust and have used in my Project. I Highly Recommend You Buy Directly from the Link Below or Add to Cart.

Areas of Application

  • To assist in jobs involving periodic inspections for the detection of cracks, corrosion material degradation and welding defects on tanks and pipes. Gas and oil tanks, wind turbines, pipelines and marine vessels are examples of the structures. Such structures are usually made of ferromagnetic materials and they have a convex circumference.
  • Sea-going vessels are subjected to a number of inspection and maintenance measures. These also involve a visual and physical inspection of the ship, including cargo holds and tanks. Smaller tanks are often narrow, badly ventilated and dirty.
  • Larger spaces (e.g. cargo holds) can easily reach the heights of 10 meters and more. Extensive scaffolding, the use of cranes, or other (typically expensive) are needed in order to reach to the latter. This further makes the inspection of ships a time consuming, expensive and potentially dangerous task.
  • Operation in such environments are dangerous and a great amount of manpower and time is required. Automating such tasks with pipe climbing robot could help in large savings in terms of monetary. It also helps to save the time that is otherwise required to install scaffolding or extra structures to reach higher heights.

CAD Design

The CAD Design is simple and straight forward optimised for 3D Printing. It has three folding arms that are adjustable depending on the diameter of the pipe it is climbing. Using a Nut and Bolt through the Axel of Rotation is used to lock the angle of each individual arm. The Raspberry Pi A+ is placed in between the hexagonal central body. The battery pack is placed between the Raspberry Pi A+ and the central body. Each arm has mounting brackets for the motors. The Motor Drivers are also placed on each arm.

You can Download the Project Files at the end of the blog.

Pipe Climbing Robot CAD Design Arnab Kumar Das
Pipe Climbing Robot CAD Design Isometric Top View
Pipe Climbing Robot CAD Design Arnab Kumar Das
Pipe Climbing Robot CAD Design Isometric Bottom View


The fabrication has been done using 3D printing. The material is ABS (Acrylonitrile Butadiene Styrene) plastic.

Infill for 3D Printing

3D Printer infill patterns, or the internal structure of an object, are a necessary part of printing some 3D objects, especially those that require a measure of strength or sturdiness. In order for the print job to succeed, it is likely to have used a solid shell with at least a modicum of infill. However, the more infill used, the higher the cost and the print time of the object becomes.

Infill is simply a repetitive structure used to take up space inside an otherwise empty 3D print. For the majority of prints, infill is hidden from view. Infill has other purposes. In addition to filling the empty space in a print, infill can also change its weight, depending on the material used. Furthermore, infill allows printers to print flat horizontal edges over empty space reliably and efficiently. Without it, prints wouldn’t have much structure or stability, making them incredibly fragile.

For the printing of the pipe climbing robot body, 50% infill was given. This was done to make sure that the pipe climbing robot was light and steady at the same time so that it could take the weight of the wheels, motors, microcontroller, motor drivers and magnets

Transverse Section of the Infill Slices in 3D Printing
Transverse Section of the Infill Slices in 3D Printing

Electronic Components and Circuit

Raspberry Pi A+

Raspberry Pi A+ For Pipe Climbing Robot
Raspberry Pi A+ For Pipe Climbing Robot

The Raspberry Pi is a credit card-sized computer. The Raspberry Pi Model A+ is a smaller, low-cost version of the Raspberry Pi. The Raspberry Pi Model A+ is recommended more for embedded and low-power projects that do not require Ethernet or multiple USB ports. It can be used for many of the things that a normal PC does, including using high-level computer programming languages (like Python), acting as a USB host, and operating system multitasking. Having the Wi-Fi and Camera Interface makes it an ideal choice for FPV Video Streaming.


  • 700 MHz ARM11 processor
  • 512 MB RAM
  • Wi-Fi and Bluetooth
  • One USB port
  • Full-size HDMI output
  • Four-pole 3.5 mm jack with audio output and composite video output
  • Camera interface (CSI) Display interface (DSI)
  • Micro SD card slot


The batteries used are Li-ion batteries. They’re generally much lighter than other types of rechargeable batteries of the same size. The electrodes of a lithium-ion battery are made of lightweight lithium and carbon. Lithium is also a highly reactive element, meaning that a lot of energy can be stored in its atomic bonds. This translates into a very high energy density for lithium-ion batteries. A typical lithium-ion battery can store 150 watt-hours of electricity in 1 kilogram of battery. A NiMH (nickel-metal hydride) battery pack can store perhaps 100 watt-hours per kilogram, although 60 to 70 watt-hours might be more typical. They hold their charge. A lithium-ion battery pack loses only about 5% of its charge per month, compared to a 20% loss per month for NiMH batteries. Lithium-ion batteries can handle hundreds of charge/discharge cycles.

Li-Ion Battery for Pipe Climbing Robot
Li-Ion Battery for Pipe Climbing Robot

For this pipe climbing robot, 2 Li-ion batteries have been connected in series. Each of these batteries can give a minimum and maximum voltage of 3.7V and 4.2V, respectively. Combining them in series gives a resultant minimum and maximum charge of 7.4V and 8.4V, respectively. The battery capacity is 1Ah. These batteries are charged using a Li-ion battery charging module.

USB Li-Ion lithium battery charging module


The DC motors used are of 60RPM, 6V and 0.294 Nm. But I initially started with 100RPM 6V Micro-Motor which worked great in horizontal surfaces but in the vertical surface, it could not support the weight of the Bot. I later choose to use BO DC Motor which is 60RPM and much higher torque than the micromotors. But this leads to an increase in system weight which in turn lead to add more magnets to increase the cohesive force between the bot and the iron surface.

BO Motor with Wheel Filled with Magnets
Pipe Climbing Robot
Pipe Climbing Robot with Omni Wheel
Pipe Climbing Robot
Pipe Climbing Robot with BO Motor Charging the Batteries

Motor Drivers

The motor driver used for the pipe climbing robot is L293D. It is a typical Motor driver or Motor Driver IC which allows DC motor to drive on either direction. L293D is a 16-pin IC which can control a set of two DC motors simultaneously in any direction.

I also used Freeform circuit deign to skip the PCB to reduce some weight of the robot.

L293D Motor Driver
Freeform Motor Drivers for Pipe Climbing Robot
Freeform Motor Drivers for Pipe Climbing Robot to Save Weight


The Raspberry Pi Camera Board plugs directly into the CSI connector on the Raspberry Pi. The module attaches to Raspberry Pi, by way of a 15 Pin Ribbon Cable, to the dedicated 15-pin MIPI (Mobile Industry Processor Interface) Camera Serial Interface (CSI), which was designed especially for interfacing to cameras. The CSI bus is capable of extremely high data rates. The board itself is tiny, at around 25mm x 20mm x 9mm, and weighs just over 3g, making it perfect for mobile or other applications where size and weight are important. It is fully Compatible with Both the Model A and Model B Raspberry Pi

The features include:

  • 5MP Camera Module
  • Still Picture Resolution: 2592 x 1944
  • Video: Supports 1080p at 30fps, 720p at 60fps
Raspberry Pi and Camera on Pipe Climbing Robot
Raspberry Pi and Camera on Pipe Climbing Robot


Two Kinds of Wheels are used in Combination. The Omnidirectional wheel is used for steering and as a freewheel as it is having rotatable elements on the rim and it was non-magnetic, whereas the BO Motor wheels were filled with magnets.


The Bottom Surface of the Pipe Climbing Robot is used for distributing the Permanent Magnets to generate the cohesive force to stick to the iron pipe. Different size and shape of magnets were used.

Permanent Magnet Layout Under the Pipe Climbing Robot
Permanent Magnet Layout Under the Pipe Climbing Robot

Circuit Diagram

Pipe Climbing Robot Schematics
Pipe Climbing Robot Schematics


Below are the softwares packages and technology used for this project.

  • Apache HTTP Server
    • It is used to host web pages. In our case, it is hosting the User Interface and Live Stream Local HTML Website.
  • Node.js
    • The JavaScript program is executed on this Platform. The JavaScript code is executed on the Server, which is in our case Raspberry Pi. 
  • JavaScript
    • The Application that controls the motors and camera is written in JavaScript and works together with the HTML Webpage that is hosted by Apache Server. Any Activity on the Screen is captured by JavaScript and it takes respective control on motors and camera.
  • HTML
    • HTML is used to create the webpage that is being hosted on Apache Server in Raspberry Pi to view the user interface and video feed. HTML is connected to JavaScript code running on the server.

Along with the above technologies the Raspberry Pi was configured to start a script after boot that creates a WI-Fi Hotspot and starts the Apache Server and Hosts the Webpage.

The User of the Pipe Climbing Robot connects to the Wi-Fi and opens a local page on the browser. The Good Thing about this is multiple people can connect to the same device and have concurrent access. The User has to drag and pinch on the screen to move the bot around.

The Project is Based on https://hackaday.io/project/25092-zerobot-raspberry-pi-zero-fpv-robot , I have added the 3 Omni-Wheel part of the code into this.

Thanks to Max K
Screenshot of the Interface on Mobile, A Rusted Crack is visible.

Testing and Results

While testing the robot it was realised that the robot could move on the horizontal side when kept upside down using the current mechanism and arrangement. The following problems were faced when it was made to climb vertical surfaces:

  • The motor torque wasn’t sufficient for the robot to move up which was solved by replacing the motor with a high torque motor.
  • Unable to maintain a contact point between the wheels and the surface which was solved by replacing two omnidirectional wheels by normal wheels.
  • The wheels were slipping which was solved by covering the inside of the wheel with magnets.
OmniWheel with Micro-Motor Slipping
OmniWheel with Micro-Motor Slipping


Robots have been extensively used in various industries in the recent times. They help increases efficiency and reduce the risks that humans would have to face in certain work environments.

The ferromagnetic pipe climbing can be used with a similar thought in mind. It can climb pipes, avoid installing scaffolds and reduce the risks on human lives. The robot can climb vertical pipes and help in the detection of surface defects. The following conclusions can be drawn:

  • It can climb pipes with a minimum diameter of 0.2m and flat surfaces.
  • It has been tested to climb a height of 4m.
  • It can be controlled on multiple devices.
  • Images can be captured and a live video feed can be seen.
  • The batteries are rechargeable and can last for 1800 s to 2700 s.

Scope for Future Work

The current project has certain limitations which can be improved to broaden its applications. A few of the improvements could be:

  • Improving the design to make the pipe climbing robot more stable to carry the heavier weight so that it can carry more sensors for more accurate detection.
  • Designing the wheels to prevent even the slightest slipping.


You can Download the Code and other project Files. Please Don’t Forget to Leave a Comment Below.

Thank You for Reading  You are Awesome! 👌

Happy Making and Hacking 😊

Liked this content? Please Subscribe / Share to support this Website! 😇

Categories: Raspberry Pi

Crazy Engineer



Mayank Singh · June 24, 2019 at 4:26 pm

Very innovative product solutions ,
Good job by single man.

Jeff · September 16, 2021 at 11:05 pm

You selling this? If so hit me up

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.