An open source robot to inspect under vehicles, crawl spaces and any other dark dirty space you need to take a look at.

Similar projects worth following
InspectorBot is a Raspberry PI based mobile robot to allow its user to inspect the dirty dark and dangerous areas for anything from leaks to damage to dangers from the safety of a smart phone.


Have you ever needed to crawl under your vehicle to see where that leak is coming from, or maybe you’re a home owner that may need to crawl into a small dark crawl space and push your way through the spider webs to investigate a possible busted pipe? Or you could be a law enforcement officer that needs to look under a suspicious vehicle for possible drug smuggling.


InspectorBot is a small, low cost open source tele-operated robot with an upward-pointing high definition camera to allow easy inspection of any surface above the robot. A second forward-pointing low definition camera will be used to allow the user to drive the robot to the desired location. InspetorBot will be built around the ever-popular Raspberry Pi with P2P (Point to point) wifi and a built in website to allow InspectoBot to be controlled from any smart phone or web enabled device in any location.

Project agenda:

During the development of InspectorBot, I started thinking about how InspectorBot could be commercialized and how could it benefit people in general.  There are military, law enforcement and the obvious border patrol applications, but I really want InspectorBot to be able to help the average citizen to be able to start businesses and work toward financial independence.  One area would be auto auctions.  A lot of small automotive dealerships purchase used cars at auto auctions.  An InspectorBot would allow the dealer to take a better look under the vehicle and have a better idea of the vehicle’s value before they bid.

 Another area I believe would have the greatest possible opportunity would be the idea of an under building survey.  The concept is to use an InspectorBot to take a series of high definition images from the crawl space of the underside of the building.  Use an application to “stitch” all of the images together to generate one complete high definition image of the underside of the building. There is no business that I’m aware of that presently provides this service, but what is under the building is as important as what is above the building.

 Who would be the customers?

The most obvious customers would be in the real estate industry.  I cannot imagine that any individual that is looking for a new home would not be interested in what is in the crawl space of a potential new home, not to mention a building inspector could have actual data about the crawl space.  If the service was available, mortgage companies and banks would be interested in any information to protect their investment, plus the data could be used to help assess the value of the home.  The addition of sensors could also allow dangers such as radon gas to be exposed.  This could help protect the family that will be living in the new home.

Another possible use is to inspect a commercial building before it is renovated.  Often when older buildings are renovated, unexpected dangers, such as asbestos-covered pipes and insulation, is encountered.  An under building survey could expose these dangers before any workers are exposed.

With lots of possible customers in a new and presently untapped field of under building surveys, there are opportunities for entrepreneurs and innovators to start new and profitable businesses in a whole new field with just an InspectorBot and a software application to stitch the images together.

Build agenda:

After I built the proof of concept unit with extra parts I had, I decided the new build would be more reproducible. Here’s a build agenda to breakdown the new InspectorBot’s build:

  • For the new build, select easily available parts to make InspectorBot easy to reproduce.
  • Setup and test low definition camera.
  • Setup and test high definition camera.
  • Start the build around a Raspberry Pi. Install both cameras and Raspberry PI on a box used as the main body of the robot.
  • Use Python to develop an easy way...
Read more »

Program to test motors after assembly.

plain - 1.05 kB - 10/21/2017 at 12:41


sheet - 10.40 kB - 10/21/2017 at 12:34


php - 76.00 bytes - 10/18/2017 at 09:37


php - 76.00 bytes - 10/18/2017 at 09:37


php - 36.00 bytes - 10/18/2017 at 09:37


View all 24 files

  • 1 × Raspberry Pi 3 Model B
  • 1 × Raspberry pi camera v2
  • 1 × BOX PLASTIC 4.43"L X 3.33"W x 1.73"H Hammond Manufacturing 1591XXSSBK PDF in repository
  • 1 × Plastic Raspberry PI case
  • 6 × LED holder Chrome Beze a-661 x 20

View all 26 components

  • High Definition pics inside and out

    Dennis10/21/2017 at 04:58 0 comments

    Front view of low definition camera and forward pointing LEDs

    Both sides.

    Rear showing power switch and USB charging port.

    Top view showing High Definition Camera and upward pointing LEDs.

    Bottom view showing m20 gear-head motors.

    motor drive board.

    Inside the box.

    Inside the PI case.

    Inside the top of the PI case showing the upward pointing LEDs.

  • Shots from under a house.

    Dennis10/18/2017 at 10:20 2 comments

    Important note! When exploring under your Moms house, it may not be good if she is watching. Especially when you come across a snake skin! This is also a great reason to send the InspecrorBot first.

    A few pictures of questionable pipes and sub-flooring

  • The finished InspectorBot!

    Dennis10/15/2017 at 12:55 0 comments

    Here are a few pictures of a finished InspectorBot. Sorry for the bot being a little dirty. It has been out for a few test drives. I have found it is amazingly fun to drive.

    The below picture of the front end shows the low definition camera and the forward pointing LEDs.

    The top view shows the High definition camera and the upward pointing LEDs.

    The side views.

    The rear view shows the power switch and the USB charging port.

    And last, the bottom view showing the four motors.

  • Power filter

    Dennis10/08/2017 at 17:52 0 comments

    When both the motors and the controller board are powered from the same battery, motor noise can cause lots of problems for the controller. One of the best ways I’ve found to clean up the motor noise is an LC pi filter. Here is a quick easy filter to clean up the noise. To save time, I printed the boards. I added the Gerber files to both files and repository to make it easy to reproduce. It just has three components: two 47uF capacitors and one 1mH inductor.  Wires are soldered directly to the board. An input power from the battery switch, an output power connected to the motor board and a common.

    Below is how the board looks and also mounted in an InspectorBot.

  • Adding Gerber Files for InspectorBot’s Motor Drive Board.

    Dennis09/14/2017 at 15:56 2 comments

    The Gerber File for InspectorBot’s Motor Drive board is now in the repository and under files in a ZIP format.

    Below is an image of the board and the BOM for the board.

  • Adding the gearhead motors and wheels.

    Dennis09/10/2017 at 02:08 0 comments

    I decided on the m20 gearhead motors for InspectorBot. They are small but still generate a comfortable level of torque to move the bot. The m20 I’ve selected run at 50 RPMs at 6 volts. The wheels I’ve selected have a 60mm diameter or around a 2.36” diameter. That’s a circumference of 7.4” or 18.8 cm, so at 50 rpms, the bot will travel around 6 “per second or 15.2 cm per second. That is a comfortable speed to control a small bot.

    I also wanted to find an easy way to attach the m20 gearhead motors to the robot’s box.  I found the Pololu Micro Metal Gearmotor Extended  Bracket worked nicely. I’ve added the measurements to the build instructions.  Below is how the Bot looks with the new wheels.

  • InspectorBot’s motor drive board

    Dennis08/15/2017 at 02:13 0 comments

    InspectorBot’s motor drive is based on the L293d dual h-bridge.  As a 4-wheel drive robot, InspectorBot has four gearhead motors--one for each wheel.  The motor drive board contains two L293d h-bridges. One L293d drives the motors on the left side of the bot, and the other L293d drives the motors on the right side of the robot. This allows each gearhead motor to have its own independent driver. The L293d has built-in diodes to shunt the back EMF from the motors, but I still prefer to add .1 micro farad capacitors across the motor leads to reduce motor noise. The board also contains two HEXFET transistors. One HEXFET drives four upward pointing LEDs to light up the area above InspectorBot to allow the upward pointing high definition cameras to take better pictures. The second HEXFET drives two forward pointing LEDs to allow a user to see in front of the robot in dark spaces, such as crawl spaces.

  • Forward pointing and upward pointing cameras running at the same time.

    Dennis07/24/2017 at 01:18 0 comments

    Here’s a short python program to test if both cameras can be operated at once.  The program sets up and starts both the low definition forward pointing USB camera and the high definition Raspberry PI V2 upward pointing camera.  The program uses a “MOUSEBUTTONDOWN” event to tell the program to switch the display between the cameras.

    Below is an image of the program displaying the forward pointing camera from underneath a vehicle.

    After clicking on the image, the display switched to the upward pointing camera.  I will need to add lighting LEDs to get better upward pointing images and also forward pointing LEDs for driving around in crawl spaces.

    After clicking the image several times, the image switches back and forth between cameras without a problem.  The good news is it works! :) The bad news is I have an oil leak. :(

  • Raspberry pi camera v2

    Dennis07/06/2017 at 00:07 2 comments

    For the time being, I wanted to work with pygame to access and display the cameras. Pygame makes it easy to add a USB camera, but a little more challenging to add the second High definition Raspberry Pi camera v2. Below is a short program to display the cameras attached to the RPI that are detected by pygame. I gave it the original name of “check_for_cameras”. The USB camera is plugged into a USB port and the Raspberry pi v2 camera plugged into the camera port.

    Now run the program.

    The program shows the problem. With the USB cameras plugged in and the Raspberry pi camera v2 plugged into the camera port, the program only displays the USB camera. To be able to access the Raspberry PI camera with pygame, we need a driver. Open the terminal and enter the command “sudo modprobe bcm2835-v4l2” like the below picture and run the program again.

    ***I edited this section on Radomir Dopieralski advice and placed bcm2835-v4l2 in /etc/modules instead of /etc/rc.local. Thanks Radomir it works GREAT! ***

    It worked! We can see both cameras. The next problem is it will only work until we reboot the Raspberry Pi. To get around this, we will need to run “sudo modprobe bcm2835-v4l2” at start up. To run the command at start up, open terminal and enter “sudo nano /etc/ modules” then add “bcm2835-v4l2” in the following window. Like the two pictures below and save the change.

    Finally reboot the Raspberry PI and run the program, and both cameras should be detected.

  • Low Resolution Camera

    Dennis06/26/2017 at 01:34 0 comments

    InspectorBot will need a forward facing low resolution camera so the user will be able to drive the robot when the robot is in an area such as crawl spaces where the user cannot see the robot. I found a cheap mini USB camera on ebay. Below is the camera.

    I wasn’t sure if the camera would work with a Raspberry PI so I wrote a short program using Pygame to test it. Below is the program and an image of the program running with the mini camera plugged into one of the Raspberry PIs USB ports. It works well with a Raspberry PI.

View all 11 project logs

  • 1
    Starting the build

    It’s always nice to receive a Digi-Key box. It means more toys. Also, the first parts for the new build.

    I’m using an aluminum L bar to make the camera mount. This one is a 1/2” x ¾’. I measured and mark a 1 ½” length and also mark the mounting holes around ¼” from each side. Drill 1/8” mounting holes and cut the 1 ½” length. I like to file off any burrs and round the edges.

    Next, center the aluminum mount on one side of the top of the box and drill the 1/8” holes. I pop riveted the mount on the cover, but machine screws will work also. The low definition USB camera should clip easily on the mount

    Next, take the bottom of a Raspberry Pi case and drill four 1/8" holes on the feet.

    Place the bottom of the case on top of the box centered behind the camera mount and drill 4 small holes. I used 4 1/8" pop rivets to secure the Raspberry PI case to the box. 

    On the top of the Raspberry PI case, I positioned the Raspberry PI camera and drilled 4 small holes to mount the Raspberry PI camera.

    With 4 screws and four ½” stand offs, I connected the cameras to the top of the Raspberry PI case.

    Next, plug everything in and snap together the parts and the top of the bot is assembled. I haven’t gotten the gearhead motors yet, but hopefully soon.

  • 2
    Mounting the wheels and gearhead motors.

    Below is a diagram showing the measurements I came up with for mounting the gearhead motors. The blue lines point to where the mounting holes need to be drilled.

    With a set of calipers, I scratched a line 13 mm from each side and also a line 10 mm from the front of the box and also 10 mm from the back of the box. 

    Then, I measured 17 mm from the location where the 4 lines cross towards the inside of the box and drilled 0.086” mounting holes. The mounting brackets come with #2-56×7/16" screws.

    I then placed the gearhead motors in the mounting brackets and bolted them to the box.

    Then, I soldered wires to each motor, drilled holes near the base of each motor and carefully routed the wires into the box.

    After that, I placed a drop of glue inside of the center hole of each wheel and pressed them on the motor shafts. Be careful not to glue the motor shaft to the motor 

    And that completes the motor and wheel mounting.

  • 3
    Solder the components on the motor drive board.

    I got the new drive motor boards, so it’s time to solder the components on. There are only 4 surface mount components to solder, 2 dual h-bridges and 2 transistors.  The rest of the parts resistors and connectors are all through hole. The boards are fairly easy to populate.  

    I always solder the surface mount components on first. The transistors can be a little tricky. Make sure pin 1 on the h-bridge chips are in the right place. It is always frustrating to solder a chip on a board and latter find out the chip is soldered on backward.  :(

    Next solder on the resistors.

    And last all of the connectors.

    The finished motor drive board.  Not too difficult. 

View all 6 instructions

Enjoy this project?



rubypanther wrote 12/26/2017 at 20:48 point

Great project, thanks!

If you're worried about your moms getting scared by snake skins, just go to youtube before showing her what is under the house! Search for "brave village girl catch snake," that will help teach her to be more confident. For most of us, the snake under the house is just a garter snake!

  Are you sure? yes | no

Dennis wrote 12/27/2017 at 21:04 point

Thanks rubypanther!

My mom was watching over my shoulder when I was driving the robot under the house. I tried to convince her that the skin was just an old piece of insulation...It didn't work.

  Are you sure? yes | no

Humpelstilzchen wrote 06/29/2017 at 17:24 point

You might want to fix the tag: MOB_LE ROBOT ;)

  Are you sure? yes | no

Dennis wrote 06/29/2017 at 23:41 point

Oops! Thanks Humpelstilzchen. Spelling never has been my
strong point. :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates