GraffitiBot (Liquid Canvas Drawing (LCD) Robot)

I wrote a proposal for this challenge back before the scope was relaxed to allow pre-existing RC robot platforms, so my design is still based on a fully autonomous robot built from scratch. This makes it a pretty ambitious project involving mechanical design, electronics design, software design and hydraulic design. I am doing this project because I like stretching myself to see what I can accomplish and the multi-disciplinary requirements of robotics are bound to be intellectually challenging.

At this stage there are still quite a few unknowns that could cause major problems for the project, which is always a bit unsettling, but learning about the unknowns and figuring out solutions is where the accomplishments lie.

Machine Concept And Application

For this challenge I want to build a robot that can draw text and graphics on the surface it is traversing. It will accomplish this by dispensing a liquid such as water (or paint) in a raster pattern as it moves. Similar to a giant ink-jet printer. For locations where paint is illegal, the machine could simply spray water and make temporary images. It is winter here, so the design will have to be on a scale that can work in my house.

Technical Notes

One of the key challenges with the water dispensing design is to start and stop water flow precisely on demand. I plan to use aquarium pumps to move the water, but the hoses they use typically won't stop water flow exactly when the pump shuts off – either excess water comes out or water retreats into the tube due to gravity and air pressure, making precise starts also a problem. The issue could be solved with valves, but they are far too costly for my budget. I plan on designing it so there are not enough flow forces to overcome surface tension at the nozzles. This is a big unknown which could dramatically

affect performance.

System Sketch


Kit Sensors

This project requires use of a whole kit of sensors – here is the list and how they will be used in this project:

TE Connectivity load cell - The weight of the liquid container will be monitored by the load cell to determine when a refill is needed.

ST Microelectronics Sensor Tile

- The compass will be used to provide heading feedback for robot navigation.

- The accelerometers will be used to monitor and display surface angles of the driving surface.

- The gyroscope sensors will be used to make accurate turns

- The barometric pressure sensor will be used to display pressure and relative elevation

TE Connectivity magnetic angle sensor - The magnetic angle sensor will be used to sense steering angles.

TE Connectivity temperature sensor - The RTD will monitor battery temperature or ambient temperature if the battery temperature is not interesting.

Microcontroller - STM32F411RE

100 MHz ARM Cortex M4 with 512kb FLASH,128kb SRAM and 12 bit ADC


The LCD I would use would have 84 x 48 pixels and the physical canvas (driving surface) would have exactly the same arrangement. The LCD happens to write 8 pixels vertically at the same time and the machine would use the same sequence with 8 nozzles, so the LCD could display each pixel as it gets painted. This will allow testing of the graphics before actually spraying liquid. Initial programming will try to write a single line of text. The stretch goal is to have the robot perform a raster path which would allow full dot-matrix graphics to be printed.



The robot would have 3 wheels in a tricycle format with the front wheel providing both locomotion and steering. The chassis would be at least partly 3D printed.

Development Plan

Electronics design for this project will require designing at least 2 PCBs. One PCB will be a good chance to do some analog signal conditioning design for the load cell, the RTD and the magnetic angle sensor. The other card will include an LCD to display the target image plus miscellaneous other interface and power circuitry.

Software design will require reading all the sensors and using the data to control drive motors, steering and navigation at the same time as the nozzle control system is spraying paint on the ground.

Mechanical design will include the steering and drive train, the robot chassis, the spray nozzle and reservoir system.

Stretch Goals

A further stretch goal is to enter target text and graphics from an android tablet.


I think the automated graffiti application showcases all items supplied in the kit and has potential for popular appeal which will help make blogs interesting for readers. This project is exciting, challenging, and a great chance to learn more about robotics.


Relevant Links

Sixth Sense Design Challenge: About This Challenge

Sixth Sense Design Challenge: Technical Documents

Sixth Sense Design Challenge


GraffitiBot Project Blogs

Sixth Sense GraffitiBot - blog 1

Sixth Sense - Kit Unboxing and Other Parts - GraffitiBot blog 2

Sixth Sense - Sensor Circuits - GraffitiBot blog 3

Sixth Sense - Interfaces - GraffitiBot blog 4

Sixth Sense GraffitiBot - System Interconnect - blog 5

Sixth Sense GraffitiBot - Wheels & Motors - blog 6

Sixth Sense GraffitiBot - ST Sensor Tile App - blog 7 

Sixth Sense - Load Cell PCB - GraffitiBot blog 8

Sixth Sense - Magnetic Angle Sensor - GraffitiBot - Blog 9

Sixth Sense - LCD Interface - GraffitiBot - blog 10 

Sixth Sense - Pump Controller - GraffitiBot Blog 11

Sixth Sense Main Drive Motor - GraffitiBot - blog 12

Sixth Sense Motor Controller Mods - GraffitiBot blog 13

Sixth Sense - RTD - GraffitiBot Blog 14

Sixth Sense Mechanical Design - GraffitiBot Blog 15

Sixth Sense GraffitiBot Motor Wiring - Blog 16

Sixthe Sense GarffitiBot - First Dry Run - Blog17

Sixth Sense GraffitiBot Hydraulics - Blog 18

Sixth Sense GraffitiBot Printing Graffiti - Blog 19 

Sixth Sense GraffitiBot - Summary - Blog 20

Sixth Sense GraffitiBot - prizes - Blog 21