/whiteboardbot

Use a LEGO EV3 with LeJOS to draw pictures on a whiteboard

Primary LanguageKotlinMIT LicenseMIT

LEGO Draw Bot

A LEGO EV3 with two motors winding strings that drag a dry erase marker around a whiteboard.

Architecture

  • EV3 is running LeJOS.
  • Client program is in Kotlin (jar deployed to EV3 via Maven)
  • Client downloads a script JSON from a fixed web address
  • As the script is downloading, the user "calibrates" the drawing by marking the upper-left and upper-right using EV3 buttons
  • Script executes, moving to the specified normalized X-Y coordinates in order.

To generate new scripts from images, see "scriptgen" module which is run on a PC.
Paste the output into the config.json file and upload to web server.

One Time Setup

  1. Clone and load this project in IntelliJ to get Kotlin/Maven support

  2. Setup the Bot OS

  3. Setup a web host for your config.json file (I like firebase)

    gcloud components update && gcloud components install beta npm install -g firebase-tools

Deploy

# jar to bot, only when you make a change to client code
mvn deploy 
# Edit the contents of public/config.json (or whatever you put your script in)
firebase deploy # script to cloud, every time you want a new script

TODO

Thanks To