Skip to content

Scribbot

A low-cost, mostly 3D-printed desktop robot arm that draws on a sticky note and can copy a doodle seen by a webcam.

  • Robot arm
  • Open source
  • arduino
  • 3D printable

Suggested by Robotheca, created by @imjbassi (opens in a new tab), from github.com/imjbassi/Scribbot (opens in a new tab). Pinned to commit c2392ae (opens in a new tab).

Photo and 3D model

Scribbot, photo from its repository
Photo:@imjbassi (opens in a new tab)MITsource file (opens in a new tab)

3D preview converted from github.com/imjbassi/Scribbot at c2392ae, under MIT. View the original files from GitHub (11.7 MB) (opens in a new tab)

Height
127 mm

What it can do

Written by Robotheca from the project's documents.

  • Draws squares, circles, stars and text (up to 8 characters) on a 3x3 inch sticky note
  • Four joints: base, shoulder, elbow and wrist, driven over USB serial with single-letter commands
  • Keeps the pen vertical using inverse kinematics on the Nano
  • Copies a hand-drawn doodle from a webcam image onto the sticky note via a Python vision script
  • Test program moves each joint slowly and in steps, with outputs off at startup

Bill of materials

This repository has no parts list Robotheca can read yet.

Build guide

The creator's steps, each with its instructions.

  1. 1Print fit coupons for servo bodies, bearing pocket and slider clearance
  2. 2Print servo mounting-hole templates
  3. 3Print servo mount plates and bearing carrier
  4. 4Assemble the bearing turntable
  5. 5Mount the base servo and mesh the gears
  6. 6First power-on: wiring and centering the base servo
  7. 7Base calibration and repeatability tests
  8. 8Fit the shoulder horn and mount the shoulder stage
  9. 9Assemble the elbow stage
  10. 10Fit the pen holder and assemble the wrist stage
  11. 11Calibrate joints and upload the drawing software
  12. 12Assemble the camera stand and set up vision

The guide appears here as you scroll.

Guide by @imjbassi (README.md), under MIT.

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • Arduino Nano microcontroller
  • PCA9685 16-channel servo driver board
  • Four hobby servos: MG90S for base and wrist, MG996R for shoulder and elbow
  • 5 V servo power supply connected to the PCA9685 screw terminal
  • Logitech Brio 101 webcam on a printed stand for the copy-a-drawing mode

Connections

  • Nano 5V connects to PCA9685 VCC
  • Nano GND connects to PCA9685 GND
  • Nano A4 connects to PCA9685 SDA
  • Nano A5 connects to PCA9685 SCL
  • Servo power goes only into the PCA9685 green screw terminal, never through the Nano
  • PCA9685 channels: 0 base, 1 shoulder, 2 elbow, 3 wrist