Introduction: Fofoque-me: Vox Populi -- a Motorized Public Opinion System

Based on some previous work we’ve done with megaphones in public spaces, me and my associate, Radamés Ajna, were invited to participate in an exhibition called Multitude, curated by Lucas Bambozzi and Andrea Caruso Saturnino.

The exhibition was based on the writings of Antonio Negri and Michael Hardt and their concept of multitude, and focused on works that address forms of resistance to established power and pre-established channels of legitimization, while thinking of the crowd as a set of singularities and unique identities that affect each other in a process that combines power, but also dissent.

We proposed to build a set of robotic sculptures that would allow visitors to participate in the exhibition by sharing their opinions using a system that would turn anonymous sms text messages into voice.

Step 1: Inspiration

The project is also inspired by the public demonstrations and protests that happened throughout Brazil in 2013, and the government's attempt to regulate the use of public spaces.

Specifically, it plays with the ambiguities that arise when trying to define social behavior in dense urban areas, where everyday activities are already violent and chaotic.

In order to convey some of this ambiguity and violence we decided to make our megaphones look like weapons that could be aimed and used to "attack" certain parts of the exhibition space.

Step 2: Tilt

Everything starts with a sketch. . .

We jotted down some ideas for simple pan-and-tilt systems for our megaphones, and decided to build a simple design based on two motors and a box-like support structure.

Tilting seemed pretty easy, we just had to figure out a way to couple a motor to the body of the megaphone. We considered using a system of gears and belts, but in oder to keep the design simple and minimize the number of moving parts that could break, we decided to directly attach the motor to the megaphone using some custom 3D-printed parts.

These were designed using Fusion360 and made to perfectly fit the radius of the megaphone and the gear teeth on the motor.

On the side opposite the motor, we attached a short axis that connected to a bearing attached to the side panel.

We decided to use dibond aluminium composite panels for the tilt support structure because it is light, cheap, strong enough, and easy to cut using an Omax waterjet.

Step 3: Pan

Panning was a little harder. We couldn’t rely on the motor coupling to support the weight of the entire tilt structure, so we had to come up with some kind of mechanism to hold up the megaphone independent of the pan motor.

An initial idea involved using a couple of semi circular grooves, bolts and ball bearings on a fixed panel to hold up the bottom structure while allowing it to rotate. We used the omax waterjet to cut some metal panels to try this out. We didn’t use dibond because the weight of the tilt structure and megaphone was enough to bend and crease the dibond.

This worked ok. It panned, but only when the fixed panel was perfectly parallel to the ground. Any kind of variation on this angle caused the bolts to get stuck at the ends of the grooves.

Clearly this should be done in a more robust way. This is when Paolo suggested we look into turntables. Lazy-Susan for the win ! This meant a slight re-design of the pan structures and more waterjetting, but that’s what rapid prototyping is all about!

We actually had to design a sort of reverse lazy-Susan system since turntables work best when there’s weight pushing their panels together and against their bearings. This increased the overall height of the whole support structure, but made it a lot more robust and resilient against unplanar conditions.

Step 4: Assembly

Once all the pieces were cut and printed, assembling the mechanism was not hard. Most of the panels had some kind of component attached to them, like switches or bearings, so those get attached before assembling the structure.

Then, 3 sides of the tilt box are put together, leaving the megaphone out, so we can reach inside the box to attach the top panel to the pan mechanism. Once that is all put together, the megaphone and the last panel get screwed into place.

We've shared all the design files in our Fusion 360 community page.

Step 5: Motor Driver

We used 12V car window actuators because they are pretty beefy, easy to find, and usually cheap in surplus stores. We’ve bought these for U$9 and U$15, and currently they’re $20 at

Some disassembly is required in order to get the motors out of their car-window linear-movement mechanism, but it’s not that hard.

These 12V motors can draw up to 5A when stalled, but to move the megaphones they only draw around 1.5A to 2A. And even though they’re geared down, they’re still super fast at the full 12V, so we decided to do some PWM’ing in order to control their speed a little bit.

So, 12V, 2A to 5A, PWM, and bi-directional control. . . led us to this little H-bridge driver circuit: TLE-5206. We might be cutting it a little too close with the max continuous current spec, but for this application, we’re only using a 5A power supply for both motors, so it’s probably fine . . .

Here’s our circuit for driving two of these, with limit switches. The board was made for an Arduino Mega ADK, because when we first designed this, we were hoping to use the ADK, but it can be made for any other type of Arduino with 4 PWM pins and 4 digital input pins.

The code for the Arduino is basically a little state machine that waits for movement commands from an Android cell phone, and then activates the motors while paying attention to the limit switches.

Here’s the mechanism being tested at full 12V speed.

Step 6: Milling & Vacuum Forming

So the mechanism was solid, but we were still missing the outer shell that makes the whole thing look more like a weapon. We decided to make it out of vacuum formed polystyrene because it seemed easy, light and cheap.

We modeled the shell in Fusion 360 and used its CAM add-on (CAM 360) to generate tool paths for milling a mold.

We initially tried to make a master out of styrofoam, but it kept melting or deforming during the vacuum forming process, so we ended up milling an MDF master instead.

We used a homemade vacuum form setup similar to the one seen here.

Vacuum forming was pretty easy and fun. Releasing the master from the plastic was a bit more difficult (probably due to the size and height of our object). Luckily, cutting the plastic with a Dremel in a few strategic places helped release the mold.

Step 7: Server

In addition to being able to receive sms text messages from participants, we also put together a mechanism that allowed visitors to use their own voice to leave messages for the megaphones to play.

We gutted a megaphone and used its body to hide a small raspberry pi server inside. This server was programmed to receive signals from the megaphone trigger, record people’s voice, and then distribute the recorded message to all the other megaphones in the space.

We used one of the raspberry pi’s GPIO pins to read the megaphone trigger, and a USB sound card to read the megaphone’s own microphone signal into the raspberry pi.

This server was also in charge of distributing the sms text messages to all of the megaphones scattered throughout the space.

The Python code for the server is on github.

Step 8: Installed

One megaphone wall-panel and three robotic structures were installed at the exhibition in São Paulo.

This is what they looked like installed.