Art, design, code.

I taught a course this Fall at NYU’s Abu Dhabi campus called Nomads which asked the question: What can the unique human ecology and worldview that emerges from mobile ways of life teach us about human ingenuity and culture?

This course used the lenses of philosophy, art, and design to examine the history, influence, and cultural underpinnings of nomadism and nomadic dwelling. We paid special attention to kinetic objects and the built environment and probed historical and contemporary conceptions of ownership and ecology, transience and permanence, home and homelessness, and citizenship and belonging.

We considered all aspects of mobile dwellings, from familiar vernacular models such as tents and huts to developments in humanitarian design and contemporary art. I presented the students with a series of design challenges and asked them to solve problems by creating new designs and producing prototypes.

We developed several successful designs and fabricated some of the larger scale pieces. The nomadic walking wheel is a performance-based mobile structure designed for contemporary urban nomads who don’t have time to go out to the desert but who would still like a desert dwelling experience. By filling the bottom with sand, the wheel generates a weather event similar to being on a dune during a sand storm.

The nomadic dwelling featured below is built entirely out of 5.5mm plywood and plastic cable ties. It has no internal supporting structure and flat packs much like Ikea furniture.

The modular seating structure below is a playful experiment in self-supported seating designed to facilitate social interaction in public space. The entire structure can be disassembled in under 3 minutes by removing three nuts and untying two of the ropes. The three rings can easily be rolled or carried to and assembled on site. The entire structure is built using inexpensive building materials that are easily available at a typical hardware store.

We also experimented with textiles based designs. The “Invisibility Cloak” below is a wearable dwelling designed to provide a fashionable and practical way to create an impromptu private shelter for any setting.

PirateBox Camp 2014 took place at La Coroutinein Lille, France July 12-13. The Camp brought together over 25 developers, hackers, and artists for a weekend of hacking, teaching, and vegan food eating. Check out the full set of Camp pics here.

PirateBox 1.0 has finally landed! This version has been rebuilt from the ground up and includes a new responsive UI for easy viewing, chatting, and file sharing on phones and tablets. PirateBox 1.0 also includes a built-in UPnP media server which automatically streams uploaded video and audio files to all PirateBox users on the local network.

PirateBox 1.0 also now comes standard with an Image and Message Board similar to 4chan. And of course, it still offers a chat room for anonymous communications and a browser-based file sharing system.

Perhaps most excitingly, PirateBox 1.0 comes with a brand new “box-installer” which radically simplifies the process of building or updating your PirateBox. Special props to our lead developer Matthias Strubel who has worked tirelessly on this version of PirateBox!

PirateBox Android App

Also a shout out to Jochen Ruehl who has just launched the PirateBox Android app on Google Play. More info here and here.

New PirateBox.cc Website

I’m also excited to announce the launch of our brand-new PirateBox.ccwebsite and PirateBox Forum which finally provides a central online location for the PirateBox community.

PirateBox Camp 2014 in Lille, France

PirateBox Camp is a community generated event that brings together PirateBox developers, contributors and users for a free (as in beer andfreedom) weekend of hacking, learning and networking.

PirateBox Camp 2013 was held in Berlin July 20-21 at NYU’s Berlin Academic Center in Prenzlauer Berg. The camp brought together developers, contributors, and artists from seven countries. Participants gave presentations, shared forks of the project and worked on the PirateBox project face-to-face over two productive days.

Jason Eppink and I have been working on the concept of solar graffiti (site-specific solar-powered installations of light and projection that explore the interplay of darkness and light, and image and text) for a few months now. So far we’ve created solar powered projectors, solar throwies and solar light boxes. We taught a solar graffiti workshop at Baltan Labs earlier this Summer which was a lot of fun. More info and documentation below…

Through the Solar Graffiti Workshop led by David Darts and Jason Eppink, participants will be introduced to public space art and will work together to transform Eindhoven into an urban laboratory for creative experimentation. Participants create site-specific solar-powered installations of light and projection. Using inexpensive off-the-shelf electronics and other household items, participants will design and produce light projections and sculptures, and install them in the urban environment. As part of the workshop, a dedicated artwork will be developed for the new gallery space MU at Strijp-S.The focus will be on producing light installations for display in and around the city. Specific topics of study will include circuit bending and basic electronics and design work. Participants will experiment with the creative customization of electronic devices and will explore the interplay of darkness and light, and image and text.

I’ve made plenty of LED Throwies in my day but I only recently discovered Karl Lunt’s low power LED firefly project. I was immediately inspired to make my own LEDfireflies. Unlike LED Throwies which will only last 4 or 5 days per battery, these LEDfireflies utilize ATTiny AVR microcontrollers and the LED as a light sensor (cool!) to get several weeks of flashing on a single battery.

LEDs are commonly used as lights (they are diodes tuned specifically to emit light and packaged in translucent enclosures) but they can also be used as photodiodes to detect light. If you have an Arduino kicking around, you can easily experiment with this concept. Check out Zorink’s Instructable for a step-by-step and also Mike Cook’s page for more info and a video demo.

This LEDfirefly project has a very short materials list which means you can build them for under $2USD per firefly though you will need to invest in an AVR programmer ($22USD) and will need some basic electronics tools.

Note: It’s possible to use an Arduino as an AVR Programmer though that’s outside of the scope of this tutorial.

Programming the ATTiny

The following tutorial was created on a Mac running OSX 10.8. However, you can also accomplish everything under Linux or even Windows.

1. First you’ll need to assemble the USBTinyISP Programmer. This is what you’ll use to speak with and upload files from your computer to the AVR microcontroller. LadyAda provides detailed instructions for how to do this. Note: when you’re installing the resistors to the board that you should use jumper wires (instead of of the supplied resistors) for R4 and R7.

2. Once you’ve assembled the USBTinyISP Programmer, you’ll need to download and install the CrossPack development environment for Atmel’s AVR microcontrollers. If you’re running Linux, refer to Lady Ada’s AVR Tutorial and if you’re using Windows, check out AVR Studio.

3. Connect the programmer to your computer via USB and open a terminal window (Applications > Utilities > Terminal). Test the interface to see if the programmer is recognized by entering the following command:

This confirms that your computer is connected to and recognizes the USBTinyISP Programmer. If you’re on a Mac, the green LED light on your programmer will now likely be illuminated. Cool!

Note: If your test instead sends back:

avrdude: Error: Could not find USBtiny device

You should double check your USB connection and try changing USB ports and running the test again. You might also double check your soldering work and make sure you put all of the components in the right places. If you’re still having trouble after that, spend some time on the Adafruit forum and, if necessary, with your favorite search engine.

4. Once you’ve confirmed that your computer can connect to and recognize the USBTinyISP Programmer, the next step is to wire up the microcontroller on your breadboard. I’ve created a diagram to help illustrate how to wire up the pins correctly.

Note: This illustration is created from a bird’s eye view and assumes that the “holes” on the USBTinyISB 6-pin connector and the “legs” of the microcontroller are all facing down towards the table.

When you’re finished wiring everything up, it should look like this (right side of breadboard).

Note: I’ve built several LEDfireflies and have hacked together a small cable connector jig to simplify the process (see left side of breadboard on photo above). This allows me to quickly plug in the 6-pin USBTinyISP cable to my breadboard without fumbling with the jumper wires each time.

5. Now you’re ready to program the chip. First let’s run a test to make sure your computer can communicate with the microcontroller. Open up your terminal and enter:

If you instead get an error message, check your connections (the breadboard wiring can be confusing and you may have done it backwards). When you get stuck, refer to the Adafruit forum and the Internet for help.

Next, you’ll need to download a copy of Karl Lunt’s code (mirror) to flash the microcontroller. Note that the zip file includes the C source file and a .hex file. Unzip the folder and place it somewhere convenient like your desktop. Then inside the terminal, change to the correct directory:

cd Desktop/fireflyLED

Now upload the .hex file to the microcontroller:

avrdude -p attiny13 -c usbtiny -U flash:w:fireflyLED.hex:i

It should send back a success message. Cool!

Assemble the LEDfirefly

Now that you’ve successfully programmed the ATTiny microcontroller, you can begin to build your LEDfirefly. Here’s a bird’s eye view wiring diagram of an assembled LEDfirefly.

1. Take your LED and gently pry the two leads (legs) apart as if you were going to create the letter A. Now wrap one of the leads from the 1 M ohm, 1/8-watt resistor around one of the leads of the LED (about 1cm down from the glass base of the LED). Then wrap the second resistor lead around the second LED lead.

Note: It doesn’t matter which lead connects to which – these resistors work in either direction.

Also note: The shorter lead of the LED is negative. I recommend marking the negative lead with a sharpie (near where it meets the glass base) so that you can identify it later.

2. Now solder the resistor to the LED.

3. Once you’ve finished, you can cut the LED leads short (be sure to leave the leads from the resistor uncut). Now take the negative lead and attach it to the ground pin on the ATTiny13A. Then take the positive lead and solder it to the pin beside the ground.

4. Now that the LED and resistor are soldered to the ATTiny13A, the last step is to connect them to the battery holder. Flip the battery holder upside down and position the ATTiny13A on top so that it’s ground pin is closest to the negative terminal on the battery. Solder a short jumper wire from the ground pin of the ATTiny13A to the negative terminal on the battery holder.

5. Finally, solder a short jumper wire from the VCC pin of the ATTiny13A to the positive terminal of the battery holder.

6. Insert the CR2032 battery into the battery holder.

Note: The “+” and text on the battery should face outwards so that you can see them.

7. The LED should now start flashing. If you place the LED directly under a strong light (or in direct sunlight) it will stop flashing.

Enclosure

Once you’ve successfully built your LEDfirefly, the next step is figuring out what to do with it. Assuming you plan to install it outdoors, you’ll want to weatherproof the electronics in some way. While the possibilities are endless, a simple solution is to place the LEDfirefly in a zip lock bag. However, I’ve found that a more elegant approach is to place my LEDfireflies in small translucent takeaway sauce containers.

If you drill a hole in the container lid, you can carefully pop the LED through the top while keeping the electronics sealed inside.

I also like to place a 1/2″ rare earth magnet in the bottom of the container as it allows me to easily throw and attach the LEDfirefly to any ferromagnetic surface.

PirateBox can be configured to run on many devices, including wireless routers, single-board computers, laptops, and mobile phones. Key hardware platforms include the TP-Link MR3020 and the Raspberry Pi both of which start at US$35.

OpenWrt
PirateBox will potentially run on most OpenWrt compatible routers with USB storage. Check out this tutorial and be sure to visit the forum for support and more info.

OpenWrt with Mesh
Thanks to lead PirateBox developer Matthias Strubel PirateBox can now be configured to create wireless mesh networks using Alexandre Dulaunoy’s Forban. This feature is still in testing – for more info, check out this forum post.

Raspberry Pi
PirateBox can be configured to run on single-board computers like the Raspberry Pi. See this tutorial and search the forum for more info.

Private and Secure PirateBox is designed to be private and secure. No logins are required and no user data is logged. Users remain anonymous – the system is purposely not connected to the Internet in order to subvert tracking and preserve user privacy.

Easy to Use Using the PirateBox is easy. Simply turn it on and transform any space into a free communication and file sharing network. Users within range of the device can join the PirateBox open wireless network from any wifi-enabled device and begin chatting and sharing files immediately. See the short video demonstration below for more details.

DIY PirateBox was created by David Darts and is registered under the GNU GPLv3. This license grants the right to freely copy, distribute, and transform creative works according to the principles of copyleft.

FAQ

How does it work?
Simply turn PirateBox on to transform any space into a temporary communication and wireless file sharing network. When users join the PirateBox wireless network and open a web browser, they are automatically redirected to the PirateBox welcome page. Users can then immediately begin chatting and/or uploading or downloading files.

Can I make my own PirateBox?
Absolutely! The PirateBox is registered under the GNU GPLv3. You can run it on an existing device or can be built as a stand-alone device for as little as US$35. For detailed instructions, visit the PirateBox DIY page.

Where can I read more about the PirateBox? Visit the PirateBox Press page for a listing of and links to more than 175 stories about the PirateBox.

Where can I find more videos of the PirateBox?
Check out these PirateBox Videos.

Why did you build the PirateBox?
The PirateBox solves a technical/social problem by providing people in the same physical space with an easy way to anonymously communicate and exchange files. This obviously has larger cultural and political implications thus the PirateBox also serves as an artistic provocation. See this ars technica article and this New Scientist article for more info.

Why did you call it the PirateBox?
The PirateBox is inspired by the free culture and pirate radio movements. The name is a playful remixing of the title of the world’s most resilient bittorrent site, The Pirate Bay.

Does the PirateBox promote stealing?
No. The PirateBox is designed to facilitate communication and sharing between friends and local community members.

NOTE: The following instructions assume your gateway router’s (home router’s) IP address is 192.168.2.1. If your gateway router differs from this, you will need to modify your network file accordingly. Keep in mind that your OpenWrt (PirateBox) router should not have the same address as your gateway router though it will need to be on the same subnet in order to access and download files from the Internet.

13. Connect the MR3020 (or WR703N) to your gateway router (e.g. your home network router) with an ethernet cable and plug the power back in. Wait a couple of minutes until the router boots up. With your computer connected to your home network, try sshing into the router (Note: use the “ipaddr” you assigned in step 9):

ssh root@192.168.2.111

14. Ping google to ensure your firewall settings are correct:

ping google.com

15. Add USB support to OpenWrt by installing and enabling the following packages (Note: this step is not required if you used the customized OpenWrt image from step 1):