Thursday, September 19, 2024
Home » How I built my own open source robot

How I built my own open source robot

Ever since high school, I have been spending a lot of time working on side projects that combine electronics and computer science. To improve my skills, and because it’s fun, I decided to design homemade robots that can be gradually and easily improved over the years. My hardware and software designs have been completely developed from scratch.

I built my very first prototype in the ‘90s with my father, using a model construction toy called Meccano (known as Erector in the USA).

In 2010, I designed another robot that can be remotely controlled over the internet.

I named it Nestor, after the butler from the Belgian comic book Tintin.

Now, however, I’m working on a completely open-source robot. Why? Open-source software and hardware are the best way to both help others working on similar projects as well as getting valuable advice from more experienced users.

[bctt tweet=”Developing an open-source, 3D-printable robot has been a long but worthwhile journey for Franck Talbart.” username=”scality”]

I challenged myself to the following caveats:

  • The robot must be easily reproducible using a 3D printer
  • All documentation, including 3D pieces, electronic schemas, and the whole source code should be available to everyone.
  • From a technical standpoint, there must be low latency for audio, video, and commands

The current version of my new robot took about one year to design and build. Its components are 3D-printed and fully reproducible. It’s remotely controlled by a Raspberry Pi (RPi) single-board computer using a homemade, open-source tool I named NestoRpi Engine (after my 2010 robot).

My new open-source robot is equipped with 8 motors, a speaker, a sound amplifier, and an LCD screen. It includes input devices, too, like a camera with a light, a microphone, a voice synthesizer, ultrasound sensors to determine its distance from objects, a photoresistor to measure light intensity, and rotary encoders that control the speed of the motors.

There’s even a mechanical arm fixed to the top, which can be raised and lowered, allowing a little “hand” to pick up small objects. If the battery gets too low, the robot can easily and remotely plug into a docking station.

You can interact with my new robot using a web interface based on WebRTC technology. This new technology, along with data channels, provides low latency access for streaming audio, video, and commands, even when the internet connection is slow.

I wrote this tool in a generic way, making it easy to adapt to many kinds of use cases with the Raspberry Pi software (not only robots). As an example, the tool let me use a racing wheel to race a hacked remote-controlled toy car fitted with a camera. Now that was fun!

I hope that my humble contribution will help the open-source community in improving their Raspberry Pi skills and discovering the exciting world of 3D printers, just as the community has enabled me to enrich my knowledge and have fun building robots.

For more information, feel free to check out my repository on GitLab.

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

About Us

Solved is a digital magazine exploring the latest innovations in Cloud Data Management and other topics related to Scality.

Editors' Picks

Newsletter

Challenges solved, insights delivered, straight to your inbox.

Receive hand-picked articles, case studies, and expert opinions. Keep up with industry innovations and get actionable insights to optimize your strategy.

All Right Reserved. Designed by Scality.com