Peeqo The GIF Bot

The first robot to interact through GIFs...'nuf said

Similar projects worth following
Peeqo is a personal desktop robotic assistant who expresses himself through GIFs.

Think of him as the love child of Amazon Echo and a Disney character. He has a conversational UI, so he responds to voice commands but answers only through GIFs.

Peeqo - the GIF Bot

Peeqo is a personal desktop robotic assistant who expresses himself through GIFs. Think of him as the love child of Amazon Echo and a Disney character. He has a conversational UI, so he responds to voice commands but answers only through GIFs.

This was quite a complex build as it involved several different skill sets and disciplines. I've tried breaking it down and have provided the files, code and purchase links to the parts wherever needed. Also I'm open sourcing this whole thing, so if you would like to connect, ask questions, help with development or contribute in any way head over to

Initial Paper Sketches

I began by doing several rough sketches on paper. I always like starting on paper to get the ideas flowing. The only real constraint I had at this stage was the size of the bot. Since he would be sitting on my desk he needed to be fairly compact and small.

Initial 3D Modeled designs

After arriving at a sketch I liked, I went into Autodesk Fusion 360 and modeled it out. You can see an evolution of some of the sketches but also an evolution of my skills as this was the first time I was ever using a 3D CAD program. Though I liked the form factor of some, I realized I needed to consider the movement I wanted my bot to have and this ofcourse was a major design constraint as well.

Tennis Ball Prototype to Test Desired Movement

To demo the movement I wanted, I cut a tennis ball at an angle, and using some blue foam, a wooden rod and a drill bit modeled this prototype. These were the movements I wanted as they would be able to convey all kinds of expressions (happy, sad, curious, excited etc) basically akin to the human neck. While creating 4 degrees of movement was achievable, figuring out a mechanism to create 6 degrees of movement was quite hard.

Modelling Various Mechanisms

I tried to sketch, model and visualize different mechanisms that would give me the 6 degrees of movement that I wanted. The one above is just one of several. All had some issues, either in not leaving enough space for the other components to fit inside the bot or requiring custom gears and parts to be designed.

Eventually I came across the Stewart Platform and realized I could make it work for me.

Final Design

The stewart platform mechanism then began to govern my final design. I decided to place the head on the top of the platform and use the base of the platform to lay out some of the components and the 6 servos. Since the stewart platform has empty space right down its central axis that would work as the spine of my robot allowing me to run wires from the base to the head. It was the perfect combo of movement with minimal real estate usage. The stewart platform eventually dictated Peeqo's cylindrical shape. Obviously I couldn't have a rigid body or an exposed exoskeleton, so I created a flexible covering that could bend with the movements.

Final Design ready for printing

This was the final design. It was just a little over 8 inches in height which I was quite pleased with. I spent most time ensuring everything was correct so that there would be no need to reprint the parts. Though I did model the rods and joints of the stewart platform in CAD, I couldn't get all 6 joints to work so I just hoped my measurements were correct and there was some bug in the program. I was correct!

This is the final design (.IGS file) -

You can view the file by following this link: If you have Autodesk Fusion 360 then you can also download and manipulate it

3D printing on Projet 7000

I was working with very tight tolerances so I got the parts printed using a ultra high definition Projet 7000 printer, but I think I could also manage this now on an Ultimaker 2+ with a fine setting.

3D printed parts fresh out of the printer

You can find all the STL files that you need to print these parts on my github. If...

Read more »

View all 11 components

View all 2 project logs

  • 1
    Step 1

    I added some lead weights into the base to increase stability. This also reduced the amount of material that needed to be used for 3D printing

  • 2
    Step 2

    I stitched a Spandex covering for the exposed body of the stewart platform section. This gave Peeqo the flexibility to move and also an organic feel as well.

  • 3
    Step 3

    For the spherical top to attach to the head, I used Neodynium magnets instead of screws. The magnets are strong enough to hold it together, no external screw holes are seen and its also easy to remove the top to access the electronics.

View all 7 instructions

Enjoy this project?



zakqwy wrote 12/08/2016 at 01:42 point

Saw this on reddit this AM--such a great project! Best use of a stewart platform since .. I dunno, probably some awesome flight simulator. Glad you're open-sourcing the whole deal, time to get my printer warmed up.

  Are you sure? yes | no

SexyCyborg wrote 12/07/2016 at 23:32 point

This is wonderful, thank you so much for making it open source- it's very generous of you.

  Are you sure? yes | no

Richard Hogben wrote 12/07/2016 at 21:38 point

Great work!

  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