EthASketch - Kauri
Write Article
Create Collection
Import from medium
Sign in
POSTED 17 Feb 2019 14:55


iain nash

Plotter Main Page

Project Name


Project Tagline/Description (140 Characters Max. Will be used on table card for judging)

Instantly sketch collaboratively on the Ethereum blockchain while also instructing a IRL handmade 2d plotter to see everyone's doodles.

Team Members. First and Last Names

Iain Nash ID for Each Team Member (we will use this to contact you and your team)

Detailed Project Description (no more than 3-4 sentences)

Sketch online collaboratively and have those sketches made in real life with a plotter streamed online. The interface is simple and retro. Imposing creative restrictions like an etch-a-sketch (by only allowing lines to be plotted, and by making many lines curves and other shapes can be formed) pushes participants to be creative with a level playing field of just submitting sketches to the blockchain.

The 2d plotter was built using two stepper motors, a fan for pen control, custom 3d printed spools, custom arduino firmware that would connect the controllers over Websockets to a browser through a stable server, and finally a web admin interface to bridge blockchain submissions for the plotter to instructions for the plotter over MQTT (along with centering, calibration, etc).

Once a sketch is done and setup, the organizers can "clear" the canvas by setting a new point to fetch from for the smart contract. By using a combination of Fortamatic and the graph, users can participate both with or without a web3 browser on our platform.

Project link:

View the sketch site live at:

Below is a view of the plotter controller:

Plotter controller

Full view

Describe your tech stack (e.g., protocols, languages, API’s, etc.)

  • The Graph API (for the live data fetch in web3)
  • Fortmatic API (for the web3 layer / dapp accessibility)
  • MQTT (PUB/SUB socket protocol)
  • ESP8266 (wifi microcontroller)
  • Arduino (framework for ESP programming)
  • Vue/React.js (for user interface and admin to control plotter)
  • Websockets
  • McGyvering (for the physical stack)

Track for which you’re submitting (Open or Impact)


All Bounties Completed/Incorporated

  • The Graph Bounty (Both Subgraph and use of the graph API)
  • Fortmatic Bounty (Using the frontend libraries of Fortmatic for an seamless user experience)
  • Ideas by nature: Most user-friendly onboarding process (Fun onboarding process for a small but rewarding experience that links into the physical world).
  • Chainlink Bounty (Unspecified / creative prototype)

Important: You MUST add a tag (at the top, under Title) for each bounty you'd like to submit to. Your project will not be considered for any bounties unless they are tagged. Click "ADD TAG", type "bounty" and select the desired bounty from the list. If you'd like to apply to more than 6 bounties, please add the first 6 as tags, add the details for all of them (max of 10) here, and contact the Kauri team ( to notify them of all 10 bounties you'd like to be considered for. These instructions can be deleted.

A link to all your source code on a public repo (i.e. Github)

Article Kudos