OpenSquare is a remotely controlled message writer. Place it in a city square, press play, and watch it spell you message with a trail of powder. It is built with a toy RC car, an arduino and £5 worth of standard Poundland items.
The main limitation of using an existing car for this tool was that it was not possible to get a real time feedback of the car’s position without adding a much more complex set of components. I found a way around this by using the user as a position feedback system. The idea behind the functioning principle of OpenSquare is that you drive the car yourself a first time, creating the message you want. In the meantime, the software is recording the time and length each button is pushed so that it can replay exactly the same set of commands and therefore recreate the same pattern.
The first technical challenge behind OpenSquare was to create a remote control device that could perform the action of writing the message without needing to pilot it. My initial research lead to a quite expensive list of components to perform such a task. This is where I found the opportunity to hack a mass manufactured toy with most of the required specifications to radically drop the price of the tool. One big advantage I discovered while hacking the car was that the standard RC chips used for such toys often has a 5th unused channel ( the other 4 channels being used for Forward, Backward, Left and Right actions. This proved to be very useful because it meant I could trigger the opening of the valve directly from the remote, without having to rely on some other communication component.
The rest of the hack was done by using NPN transistors controlled by an arduino to trigger the 5 channels as if the buttons were pressed by the user. On the car, I then added a structure to hold the powder and a valve composed of servo motor opening or closing a tube. The servo is switched between two positions when it reads a high logic level on an analog pin. The loaded car being significantly heavier than it is supposed to, I also added a couple of batteries, which did not negatively influence the behaviour of the car since the motion is done by DC motors that can support slightly higher voltage.
Another advantage of this system is that there is no car-specific calibration required since the path will be continuously adjusted by the user’s eye. The idea is that you pre record the path you want in a safe location, and then replay it on the square you want to vandalize by just pressing the “play” button.
The code was written with Processing using Firmata to ensure the communication with Arduino is easy. The first sketch creates a csv file, and stores for every frame the buttons pressed by the user.
OpenSquare started with a discussion with Turkish activists of the Gezi movement out of the need for a low cost/low skill/anonymous message writer. We created together an open source 20$ hack of a toy RC car to drop a trail of powder or paint behind the car to write a message. The instructions to replicate the car were uploaded on Instructables. The project got featured on the website’s main page and was consulted by thousands of people over the following weeks. However it is very hard to know who really built an OpenSquare car and who used it for activism or simply for fun.
This taught me that the platform I used (Instructables) was great for getting a lot of attention, but was not targeted at the right audience. One afternoon we were using the car in front of the Royal Albert Hall, a security guard came to arrest us because he thought from the distance that the white trail was spray paint. When he got closer, he understood that we were using salt and was quite stumped because he did not know if we were doing something illegal or not. In the end he told us to stop but agreed that the wind would just blow the trails away without having to send a cleaner. This challenge of legality was a really good insight from this project because it forces the law enforcer to question the rule.
All you need to make this project is a few random items from the pound shop, a couple of arduinos, a servo motor and a few electronic components.
It could be interesting to use a computer mouse to try to get the relative position of the car as it moves around. With a PID loop, it could then try to follow a pre programmed path or vector.
There would need to be a software function calculating the min curvature the car can do, and if exceded, do a loop to get back in position for the next stroke.
More info Edit
Instructables page OpenSquare
You want to replicate this tool with the help of a streettoolbox contributor? You can contact us to talk about it at firstname.lastname@example.org