GraffitiBot is a fully autonomous ground vehicle capable of printing graphics on the surface it is traversing.

This crude attempt artistic rendering at writing "E14" demonstrates what the GraffitiBot accomplished on the last day.


The challenge has ended, but I did not stop experimenting with the GraffitiBot. As shown above, the bot spays too much fluid and drips where it shouldn't. I had ordered some syringe dispenser needles to achieve more precise nozzle flow, but they did not arrive until after the challenge deadline had passed. I wanted to at least try them out, so I spent a few days designing and printing a manifold and trying to seal the new nozzles into individual pixel heads. The needles come with a plastic funnel which was so wide it only allowed 3 needles per pixel. The caulking compound I used had low toxicity, but it was very hard to work with on this scale. Here is an close-up of what a 3-needle head looks like after caulking:

This head arrangement added an extra 17 printed parts to the bot for a total of around 46.

I had made a mistake when ordering these needles - the description indicated they were 22 gauge needles and I assumed they were 22 gauge inside diameter, but that was the outside diameter and the inside diameter was only 32 gauge. So they were not going to deliver as much fluid as I planned - but I decided to try anyway. About half of the nozzles were clogged with microscopic material, so I spent quite a while trying to use flimsey 32 gauge wire to clean them out. It was very fiddly but worked okay. When trying to get reasonable flow rate I discovered the pumps worked much better at 7 volts, but I only had a 5 V battery. Anyway after a week of upgrades here is a new run for comparison with the run above:

You can see there is a lot less water and a lot less dripping in unwanted areas, but it could really use slightly larger diameter nozzles. Raising the nozzles another cm would also pretty much eliminate excess dripping. It could take quite a bit more tweaking to perfect performance, but this does show that the GraffitiBot concept could create reasonable results with a few more iterations.

Update Ends


It is still too fresh to properly summarize what this project has meant to me, but it was a major undertaking given all my other priorities and constraints.



GraffitiBot involved a lot of disciplines like electronics design, firmware design, mechanical design, and hydraulic design.

I think it had more sensors than I've attempted to incorporate in an element14 project. (I think there were 18 sensors)

There were 5 custom printed circuit cards, which is a record for me on element14 projects.

There were 29 mechanical parts designed and printed for this system.

It had 10 DC motors which is another record for me on element14 projects.

There were 20 blogs and 19 videos in 14 weeks.

These postings generated over 50,000 views (and counting), which I think is a record for me on an element14 design challenge.

The stats sound pretty dry, but behind them was a lot of meticulous design and intense problem solving. There was so much work and already so much blogging activity that blogging about all the myriads of issues that were encountered was necessarily pretty sparse, but solving problems is one of the most enjoyable aspects of this type of project.


What Worked and What Didn't

With a project like this where the scope is ambitious and the time is limited, it is important to maintain some flexibility in what gets delivered.

Starting with the system design it required quite a bit of homework to figure out how everything could connect and work together


The wheel design turned out great, the O-rings worked spectacularly and the design is aesthetically pleasing

Motor selection turned out to be perfect, these gearmotors are low power but still adequate to move the machine and the double ended axles proved very useful

The custom LCD and peripheral interface card turned out very nicely, providing 2 LCD displays

The aquarium pumps were a good choice to keep costs down in the printing mechanism although hey actually output far too much fluid for a print head of this size. However the custom card to drive the pumps worked great

The original design to drive the steering and main drive motors was problematic on the software side and a new solution needed to be found. Fortunately a second pump controller card could be modified to perform these functions.

Mechanical design took a huge effort as there were fairly complex mechanics and tricky tolerances to work out, but it turned out to be perfectly functional.

The machine wiring went pretty smoothly.

The hydraulics suffered due to an attempt to keep the cost down and 3D print the tiny nozzle structure. Although better nozzles were ordered after the issues became clear, they did not arrive in time to be implemented.

The machine main drive and steering worked really well.

It came right down to the wire with a last gasp attempt to print graffiti, but the GraffitiBot did succeed in printing graffiti, and it was even recognizable.



I definitely learned a lot on this project, which is another big plus. Including a lot about what it takes to be successful in a project of this magnitude and my capabilities in tackling such a project.

With a project of this scope there are a lot of smaller accomplishments along the way and each one was fun.

I was very impressed with the quality and number of sensors and how much functionality ST Micro squeezed onto that tiny sensor tile.

The TE Connectivity sensors were also extremely small with impressive performance and I enjoyed discovering how to use them.

I will be looking for applications to use all these sensors in the future.

I also received an enormous amount of help and encouragement from element14 members and other challengers, they really add a great dimension to projects like this.

Thank you element14, ST Microelectronics and TE Connectivity for sponsoring this challenge, it has already spawned many fond memories.


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