The possibilities are endless for ways robots can improve our world—and your life! If you’re excited to build to your own robot but feel daunted by getting started, we’ve got you.
Here are six beginner-friendly projects handpicked by our team that you can build right at home:
- Plant watering robot with a Raspberry Pi
- Use object detection to turn your lights on
- Create a mouse mover using a single servo component
- Foam dart launcher robot
- Build a person detection security robot for your desk
- Integrate Viam with ChatGPT to create an AI companion robot
These projects cater to various interests, ranging from simple to a bit more complex, but each one is designed to be accessible and enjoyable for those just getting started in robotics.
Plus, the Viam robotics software platform has built-in component and service configurations that do a lot of the heavy lifting, so you’ll be up and running in no time.
For each robot below, we’ve shared a quick project summary and some tips from the creator to give you some ideas. Then, you can head to the full tutorial and code to get started on one you like.
Let's dive in!
1. Plant watering robot with a Raspberry Pi
Ever forget to water your plants? Not anymore! This simple robot lets you keep your plants happy and healthy from anywhere in the world. Now you can take that vacation you’ve been thinking about while keeping your leafy friends well cared for.
Project summary
Difficulty level: Very easy
Viam components & services:
- Board
- Camera
- Sensor custom resource
- Python SDK
Shopping list:
- A Raspberry Pi Zero 2 W
- A capacitive soil moisture sensor
- A pristaltic pump and tubing
- A motor speed controller
- An analog to digital converter
- A 9V battery
Steps:
- Wire the physical components to the Raspberry Pi and battery.
- Create a new robot instance in the Viam platform and connect it to your hardware with viam-server.
- Set up the moisture sensor as a custom resource.
- Visually configure and test your motor and sensor components in the Viam app.
- Copy and test the controlling code, modify it as desired.
- Go on vacation. Your plant will stay watered. Securely check in on it from anywhere.
See the full tutorial for this plant watering robot
Tips & insights from the creator
Sierra Guequierre, Developer Advocate, shares more about her experience building this robot!
What was your inspiration for this project?
A lot of people find houseplants give them joy but sometimes forget to water them. This is a really simple robot that solves that problem and frees you up a little time in your day.
Plus, you can order all the parts from Amazon for less than $50. Robotics doesn't have to be expensive to get into!
What are some challenges you faced or interesting things you learned?
I was new to working with hardware and Viam, so I learned how to wire the hardware to connect the different components together. Figuring out the pin positions was a bit hard, but I looked for wiring diagrams like the one we created for this robot to learn.
Do you have any tips for robotics beginners who want to build this robot?
You can adjust the amount of water to give your plants based on the moisture readings you get from the sensor component.
Also, I found the way Viam organizes the parts of a robot to be intuitive, which was helpful for me as a beginner to figure out exactly what I needed to do.
2. Use object detection to turn your lights on
This handy little robot uses your computer’s built-in webcam to detect the presence of a person and turn on a lamp when you sit down at your desk. You can turn this robot into a night light for reading books, a bathroom light that activates when you enter, or something else!
Project summary
Difficulty level: Very easy
Viam components & services:
- Camera
- Vision Service
- ML Model Service
- Python SDK
Shopping list:
- A Kasa smart light bulb or smart plug
- A table lamp base or similar item
Instructions:
- Install viam-server and connect it to your robot.
- Configure the camera component.
- Set up the smart light bulb or smart plug.
- Write Python code to control your object detection.
- Test your robot by seeing if the bulb lights up when you're present!
See the full tutorial for this object detection light bulb robot
Tips & insights from the creator
Hazal Mestci, Developer Advocate, shares more about her experience building this robot!
What was your inspiration for this project?
I initially wanted to create a book light that automatically activated when I was reading. I realized I could use this same concept to have a light turn on when I entered a certain room like my living room or bathroom at night.
This project is a great place to start if you are new to building robots—all you need is a webcam on a laptop and a smart light bulb or smart plug you can get on Amazon.
What are some challenges you faced or interesting things you learned?
The object detection sometimes identified the book as a box or paper (any similarly shaped object), so I changed my approach so that the light bulb activates when I'm in front of the camera.
Also, I had both a smart light bulb and smart plug but realized I only actually needed to use one as they serve similar functions. I tested both and found that the plug worked better for being able to turn the whole robot on or off, while with the smart light bulb you're able to change the color to suit your mood or environment.
What are some ideas for extending this robot or applying concepts to other robots?
With Viam's built-in object detection service, it's really easy to change what you're detecting—you just change the label in Viam to be whatever you want from a list of objects.
You can also extend this robot by incorporating a time tracker of some sort, so you can track things like how much you read each day based on when the light is on.
3. Create a mouse mover using a single servo component
Have you ever been working from home and needed to step away for a moment? Maybe to grab your lunch or answer the door, and you get in trouble because it showed you as offline? This project lets you build a mouse mover using Viam, a Raspberry Pi, a servo, and an optical mouse.
Project summary
Difficulty level: Very easy
Viam components & services:
- Board
- Servo
- Python SDK
Shopping list:
- A Raspberry Pi with microSD card
- A continuous rotation servo
- A wheel or arm for the servo
- Jumper wires
- An optical mouse (corded or uncorded)
Instructions:
- Install viam-server on the Raspberry Pi.
- Test the Python SDK with your robot.
- Connect the servo to the Raspberry Pi
- Configure the board and servo as components in the Viam app.
- Assemble the mouse mover by positioning the Raspberry Pi and servo in a box.
- Control the robot with the code we've provided to keep your mouse moving!
See the full tutorial for this mouse mover robot
Tips & insights from the creator
Kacey Meier, Developer Advocate, shares more about her experience building this robot!
What was your inspiration for this project?
I didn't come from a professional technology background; instead, I think of myself as a curious pseudo-engineer. I wanted to create something that I would have found useful when I was hacking away at many frustrations before joining Viam.
My idea was to develop small tutorials that could teach newcomers to Viam, engineers, students, hobbyists, and other pseudo-engineers how to use and implement one of the components supported by Viam in a step-by-step process. I wanted these simple tutorials to focus on affordable, easily accessible components, and non-custom materials, with the end goal being to provide a fun project for the person learning.
While I was trying to figure out what the project for the servo would be, I was scrolling through social media and I came across a video of someone's personal hack involving a mouse being moved to prevent them from being shown offline. I realized I had seen a lot of hacks like this and decided to join in on the fun.
What are some challenges you faced or interesting things you learned?
Making the decision between using a 180 degree servo or a continuous servo. I ultimately picked a continuous servo, which was experimental! Viam has a great interface and support though, so I didn't even know it was considered experimental because it worked well. Oops.
I enjoyed learning how the continuous servo worked in Viam. The further from center position increases it's speed! I felt like that was clever and easy to remember and implement with the API methods.
What are some ideas for extending this robot or applying concepts to other robots?
I can envision several exciting possibilities for applying concepts in this project to other robots. For example, I think it would be awesome if someone used the servo to turn on a light switch, or pushed a button for their coffee, or used one as a stand for a camera component that did people recognition and took photos!
4. Foam dart launcher robot
This project is a great place to start if you are new to building robots, have a love for Nerf toys, and an occasion to launch a dart at something—or if you just want to troll your friends. Don’t forget to be careful and have fun!
Project summary
Difficulty level: Easy
Viam components & services:
- Board
- Base
- Motors
- Camera
Shopping list:
- A Raspberry Pi with microSD card
- A wheeled rover
- A foam dart launcher
- A USB camera (optional, to see when you are going/aiming)
- A solenoid
- A relay
- A dual motor controller
- Jumper wires (breadboard wires)
Instructions:
- Assemble your hardware (see step-by-step instructions in the tutorial).
- Configure the robot's components with the Viam app.
- See how to toggle GPIO pin states to actuate the solenoid.
- Control the robot base and activate the launcher using the Viam app.
- Take a friend by surprise when they walk by!
See the full tutorial for this foam dart launcher robot
Tips & insights from the creator
Hazal Mestci, Developer Advocate, shares more about her experience building this robot!
What was your inspiration for this project?
My colleague, Kurt, originally built this robot for Viam's HackWeek to playfully surprise coworkers. You can also use this robot to keep your cats or other pets entertained for hours without needing to move around yourself!
What are some challenges you faced or interesting things you learned?
Setting up the solenoid and relay components that trigger the dart to launch was challenging at first because it wasn't strong enough to activate the GPIO pin. I recommend using a better quality foam dart launcher or a higher power solenoid when you build this robot.
What are some ideas for extending this robot or applying concepts to other robots?
You could train an ML model on your friends' faces to surprise specific people (or avoid launching foam darts at your boss). You could also build a robot that uses color detection to pick up the foam darts and bring them back to you.
This robot also inspired our team to use a relay to enable an on/off switch for a special claw game machine we're building for ICRA this year (if you'll be there, come check it out!).
5. Build a person detection security robot for your desk
Ever save some snacks or chocolate on your desk for later, then leave and come back to find they're suddenly gone?! This robot will help you catch the culprit. When someone comes to your desk, this robot detects the person and sends you a text alert with their photo.
Project summary
Difficulty level: Easy
Viam components & services:
- Board
- Camera
- Vision Service
- ML Model Service
Shopping list:
- If you have a laptop and phone, that's all you need!
Instructions:
- Create a new robot instance in the Viam app and connect it to your laptop with viam-server.
- Configure and test your webcam camera component in the Viam app.
- Configure and test the Vision Service with a machine learning detector model in the Viam app.
- Indicate whom to send a message to, the subject, and the contents of the text message using yagmail.
- Copy and test the controlling code, modifying it as desired.
- Find out who’s been stealing your chocolates by getting a text message when the person is detected!
See the full tutorial for this person detection security robot
Tips & insights from the creator
Hazal Mestci, Developer Advocate, shares more about her experience building this robot!
What was your inspiration for this project?
I left some chocolates on my desk and got up to get something. When I came back, I noticed they had vanished! I wanted to build a quick robot that would help me safeguard my chocolates in the future.
This robot is also handy for knowing whether someone came by my desk to chat with me while I wasn't there, so I could follow up with them later.
What are some challenges you faced or interesting things you learned?
I initially set up the text alerts to be sent in regular intervals, but immediately realized I would get spammed since the bandwidth for sending messages could result in a backlog. I changed my approach to only send myself a message when the person is detected for the first time on the camera.
Creating the fully automated, asynchronous process of taking a photo, saving it to my computer, and sending it to myself was also interesting as I didn't have to manually enable each of those steps every time.
What are some ideas for extending this robot or applying concepts to other robots?
Since the SMS functionality allows you to share multimedia content like photos, videos, or music, you can change your robot setup to allow people to leave short voice messages when they visit your desk.
You can also use Viam's data management service to create a funny compilation of snack thieves or do other interesting things with image data!
6. Integrate Viam with ChatGPT to create an AI companion robot
Inspired by popular fictional robots like C-3PO, this project shows you how to integrate ChatGPT with Viam to create an interactive companion robot—in just a few hours and with less than 200 lines of code. You can also integrate tools like ElevenLabs to generate funny AI voices!
Project summary
Difficulty level: Medium
Viam components & services:
- Board
- Base
- Servo
- Camera
- Python SDK
Shopping list:
- A Raspberry Pi with microSD card
- A rover that has a webcam and a microphone (like the Viam Rover)
- A 270 degree servo
- A USB powered speaker
- A servo mounting bracket (3D printed or purchased)
- A servo disc (3D printed or purchased)
Instructions:
- Set up your rover (the base for your robot) by connecting the Raspberry Pi and installing viam-server if needed, connecting and mounting the servo, and attaching the speaker.
- Set up the software you need using the git repository for this tutorial which contains code that integrates with viam-server, Google text/speech tools, OpenAI, and an open source machine learning classifier model.
- Using the Viam app, configure the servo component and the ML Model and Vision Service for using the classifier.
- Bring your companion robot to life! Talk to the robot and hear what it says in response.
See the full tutorial for this companion robot
Tips & insights from the creator
Matt Vella, Head of Developer Relations, shares more about his experience building this robot!
What was your inspiration for this project?
What's happened with AI in the world over the past 6 months felt really fast and unexpected for many of us. While very exciting, the world of AI can also feel scary at times. I wanted to dip my toes into the world of AI by creating a robot that is helpful and friendly—and also showcase how AI and robotics can be integrated to create something interesting.
What are some challenges you faced or interesting things you learned?
Due to the popularity of ChatGPT, the predicability and response times of the robot were sometimes not what I expected. As I worked on this project, I started caching responses so I wouldn't always have to fetch a new response.
Also, when I started sharing this work with the r/robotics community, I was pointed to other interesting AI tools like ElevenLabs, which I incorporated to generate responses in funny or interesting voices (like popular celebrities).
What are some ideas for extending this robot or applying concepts to other robots?
You can create modular resources with Viam, so if you develop an AI integration for one robot, it's easy to reuse those features with other robots or use cases. The possibilities are endless for these kinds of communication-based tools. For example, you could modify the robot so that it responds differently based on your tone.
I was also inspired by this work to breathe new life into an old 80s toy robot called the Omnibot 2000. I used much of the same code to turn it into an AI-powered talking companion robot—check out the tutorial here!
Get started on building your own robot
We hope one of these beginner-friendly robotics projects sparked your interest and helps you enter the fascinating world of robots.
If you're looking for more ideas or want to dive deeper, check out our other blogs, including projects on DIY home automation and building your own smart security system. These projects showcase the versatility of Viam and provide step-by-step instructions to help you get started.
And if you ever get stuck or want some more inspiration, we would love to have you in our growing Discord community. There, you'll be able to chat with our team and other builders who are working on a variety of interesting projects.