This is my first “real” (non-blink an LED) arduino project.  The problem: our bar blocks the lightswitch for the light over the living room table.  The solution: control the light by touching a picture around the corner.  Touch the picture once to turn the light on and touch it again to turn the light off.


1 Arduino (I used Adafruit’s Adruino Micro without headers): $22.95

Bare Conductive electric paint: $24.95

1 330k resistor

1 usb power supply: $5.95

1 usb cable (A to micro B): $3.95

1 arduino-controllable relay (I used the Sparkfun Beefcake Relay Control Kit): $7.95

1 solderable breadboard: $4.95

1 washer (optional)

1 magnet (optional)

arduino capsense library

This thing ended up working in a fairly strightforward manner.  The picture itself is a capacitor and touching it changes its electrical resistance.  The arduino is monitoring the picture and when the resistance changes in a way that it is looking for, the arduino triggers the relay.  That relay is attached to the light so on is on and off is off.  The hardest part is setting the trigger threshold.

Here is a crappy and probably incorrect sketch of the circuit:


B is the breadboard, A is the arduino, and R is the relay.  That word in the upper left is “sensor” because that wire goes towards the picture.  The dotted line on the breadboard shows that those two points are connected, and the zig zag line is the resistor.

(Edit 1/15: here’s a better picture using fritzing)


The first step is probably to paint your picture with the paint.  As far as I know the picture can pretty much be whatever you want. The only thing to be aware of is how you are going to connect it to the arduino.  The bare conductive tutorial that existed when I started this project (but that is now gone) suggested using the paint to “glue” a magnet to the wall.  I did that


There is no reason that the connection point is far away from the main picture.  The wire is purely aesthetic - it keeps everything behind the bar and around the corner.  Once you have the magnet on the wall you can connect it to the arduino by soldering a washer to the end of a wire.

The next step is to build the circuit.  The circuit is made up of three elements: the arduino, the relay, and the breadboard.

The breadboard is not very complicated.  In fact, I probably could have just soldered all of the parts together to let them dangle in space.  But breadboards are cheap and I wanted this to look somewhat clean, so I decided to go for it.  Since this is a small circuit, I just cut the breadboard into smaller pieces.


I then connected the wires and the resistor. Remember that everything in the same number row is connected electrically.


I used a 330K resistor.  The advantage of a 330K resistor (compared to, say, a 10K resistor) is that it increases the spread between the value returned by the picture when no one is touching it and when someone is touching it. (Edit 1/15: after having some problems with this - mostly the lights flashing on and of and/or the switch not responding to a touch - I went back and reread the capacitive sensor arduino library documentation.  I was using a resistor that was way to small.  The documentation recommends at least 1 megaohm for touch and larger ones for proximity.  Hopefully changing this will address some of my problems). This spread becomes important when you are setting the threshold.  We’ll get to that in due time.

Once the breadboard is done it is time to connect it to the arduino.  I got a headerless arduino because I wanted to be able to solder the connections and I got the micro arduino because I wanted the final assembly to be as small as possible.  Connect the wires to the proper pins (2 and 4 if you are using my sketch).


Next you need to connect the arduino to a relay. But what is a relay and why do you need it?  In a perfect/easy world, you could just use the ardino to power the light.  Activating a pin would send enough electricity towards the light to turn it on. In our imperfect/hard world, arduinos work at fairly low voltage while overhead lighting works at a fairly high voltage (the upside of this is that it is hard to kill yourself with the power coming out of the arduino).  A relay is essentially a high-voltage-controlling switch that is controlled by a low-voltage trigger.  When the relay gets the signal from the arduino it activates the high power switch controlling the lights. While these two switches are connected insomuch as the low voltage can control the high voltage, they are separate so the high voltage does not destroy the arduino.

You need to connect three wires from the arduino to the relay: 5v, ground, and control  The 5V and ground map directly from the arduino pins to the relay port.  The control pin is pin 13, which also controls the onboard LED.  The default state for the relay is off so when the on board LED is off (and pin 13 is off) the relay will be open and when the on board LED is on (and pin 13 is live) the relay will be closed.


The next wire to connect is the one that goes from the breadboard to the picture (in the upper left).  Solder it inline with the wire connected to the 2 pin.


You can now install the circuit.  I decided to replace the lightswitch with the relay.  The good thing about this was that it put the relay close to the power controlling the light.  The bad thing was that it exposed the relay connections to the ground that remained in the lightswitch port in the wall.  In order to prevent accidental shorts I wrapped the relay in rubber bands and electrical tape.  You can also see that the main wire is screwed into the relay (don’t forget to turn off power going to the light while you do this!).


Now connect the arduino to power with the USB cable and power supply. 


With that done it is time to program the arduino.  Make sure you have the capsense library installed.

Here is the sketch I used:

//make sure to install the CapSense Library then upload to your Arduino.
//for more information on the basic workings of this sketch check out

#include <CapacitiveSensor.h>
#define MAINSpin 13
const int threshold = 2000; //This is the threshold that you should adjust after watching the serial port. The MAINSpin is only set high if “total 1” is greater than this number 
// currently set for a 330K resistor plugged into the wall outlet
// find the lowest possible number that won’t get triggered by random environmental factors
// if the light is on all the time the value is too low
// if the light tends to flash on and off it is close, but still too low
int val = 0;
int old_val = 0;
int state = 0;
int Touch = 0;

CapacitiveSensor   cs_4_2 = CapacitiveSensor(4,2);        // Your resistor goes between pins 4 & 2. Your pad of paint should be connected to pin 2
void setup()                   

pinMode(MAINSpin, OUTPUT);
digitalWrite(MAINSpin, LOW); 

void loop()                   
val = Touch;                    
long total1 =  cs_4_2.capacitiveSensor(100); 

Serial.println(“ ”);                      

if (total1 > threshold){     
Touch = 1;   
} else {     
Touch = 0;   

if ((val == HIGH)&& (old_val==LOW)){  
state = 1-state;     

delay (50); //delay for debouncing 

old_val = val;    

if (state == 1) {   
digitalWrite(MAINSpin, HIGH); //turn LED ON 
} else {   
digitalWrite(MAINSpin, LOW); 
The real action here is on the “const int threshold” line.  That is where you set the threshold to trigger activating or deactivating the relay.  In order to identify the right number, connect your arduino to your computer and turn on the serial monitor (tools -> serial monitor).  The serial monitor will start spewing numbers at you.  If it is working, those numbers will be relatively low when you are not touching the picture (mine tended to be around 400) but relatively high when you are touching the picture (mine tended to be around 4000).  The kind of resistor you use on the breadboard will definitely influence these numbers, especially the difference between them.  It is possible that the size of your picture will also influence it.
As noted in the sketch, you want to find a number that is high enough not to be triggered by random events.  If you find the light quickly flashing on and off your number is too low - essentially the random variation in the sensed number is jumping just above and below the threshold.  If you set the number too high you won’t be able to trigger the light.
In theory, once you get the number right you can upload the sketch to the arduino and go on your merry way.  Unfortunately I found that the proper threshold differed slightly depending on if the arduino was plugged into a laptop or the wall.  So don’t be surprised if you need to adjust the numbers again once you start plugging it into the wall.
The good news is that once you have the number you are done.  Touching the picture once should turn on the light and touching it again should turn it off.  It may take a bit of practice to get the touching just right (a higher number will be less sensitive and a bit more forgiving).

This post originally appeared in Slate

The caterpillar from Alice’s Adventures in Wonderland taught generations of children a simple message: When you need to do some deep thinking about the world, a hookah is a great place to start. A case decided earlier this year in California brings comfort that, whatever future technology holds, the ability of the hookah to reveal inner truths about the world around us remains.

Inhale Inc. vs. Starbuzz Tobacco Inc. doesn’t just provide us with a window into the competitive world of hookah manufacturing. It offers a template for many of the 3-D printing copyright cases we are likely to see in the coming years.

One of the often-overlooked aspects of 3-D printing is of the way it demonstrates the limits of copyright. Unlike the articles, photos, movies, and Facebook postings that make up much of our online world, only some physical things are eligible for copyright protection. An easy copyright-or-not test is to divide things into two categories: artistic objects and useful objects. If an object is purely artistic—say, an abstract sculpture—it is eligible for copyright protection. But if an object is purely functional—say, a hinge—it is not eligible for copyright protection. (It may be eligible for patent protection, but for various reasons related to the process of getting a patent and how long they last, the number of patent-eligible things that are protected by patent is much smaller than the number of copyright-eligible things that are protected by copyright.)

While these categories are all well and good, in the real world many things aren’t just artistic or just functional. Instead, they are a mixture of the two. A hookah, to pick a not at all random example, illustrates this nicely.

Inhale was manufacturing and distributing a hookah with what, for the purposes of this article, were two distinct elements. The first was the shape of the hookah itself. The second was a series of skull-and-crossbones images that adorned the outside of the hookah. In 2011, Starbuzz Tobacco started selling a hookah that—according to Inhale, at least—was shaped exactly like the Inhale hookah. Importantly, the Starbuzz hookah did not include the skull-and-crossbones images.

Inhale sued Starbuzz for copyright infringement, claiming that Starbuzz was infringing on the copyrighted shape of the original hookah. But, in a twist that we are likely to see more of if 3-D printing-related litigation starts to spread, it turned out that even if Inhale was right about Starbuzz’s copying, it didn’t matter.

That is because copyright can only protect nonuseful objects. And a big part of any hookah’s design is to provide a useful function—a function the court described as “to hold the contents within its shape.”

In this case the court found that even though the Inhale hookah had a distinctive shape, “the shape of the alleged ‘artistic features’ and of the useful article are one in the same.” In other words, even the distinctive shape is still doing important functional work. That means it is not protected by copyright. Thus, even literal copying (if that’s what actually happened here) is not copyright infringement.

In contrast, the skull-and-crossbones design on the outside of the hookah serves no functional purpose (looking like a badass to college freshmen probably doesn’t qualify), so it probably would be protected by copyright. But since Starbuzz only copied the non-copyrightable shape of the hookah and not the non-functional decorations of the hookah, that didn’t really matter.

So what does this have to do with 3-D printing? The future of 3-D printing is going to bring us all sorts of objects. For better or worse, it will probably also bring us all sorts of claims related to copying objects from house spiders to citrus juicers and everything in between. This case serves as a concrete reminder that in the physical world copying does not always equal infringement. If a functional item isn’t patented, copyright won’t prevent it from being copied.

While this has always been the case, 3-D printers make it easier than ever to reproduce physical things. That will force everyone to remember that the “copyright on just about everything” world of the screen does not directly translate to the physical world.

But not everyone will remember. Some people are going to respond to the ability to reproduce physical things by trying to bring more infringement lawsuits. As you see those lawsuits, try your best to remember the lesson of Starbuzz: Copying isn’t infringement unless there is a copyright involved.

It is a problem when Verizon’s decisions prevent subscribers from having a good Netflix experience. But the bigger problem may be the FCC’s ignorance about the underlying dispute.

Today brings us another round in what has been something of a long-simmering fight between Netflix and Verizon.  This morning, David Raphael posted awriteup of his interactions with his ISP Verizon.  In it he documents how his Netflix streaming quality has become “awful compared to just a few weeks ago.”  After some investigation, Mr. Raphael traced the problem back to the Amazon commercial cloud service used by Netflix.  When he confronted a Verizon customer representative, the representative “admitted” that Verizon is limiting bandwidth from cloud services.

A Real Problem

What to make of all this?  First of all, while hugely problematic and growing in importance, this issue is not new and is probably not directly connected to the recent Open Internet decision.  As John Bergmayer pointed out in a blog post last June, there has been a brewing interconnection problem between Netflix and Verizon for some time.

Of course, the fact that the problem is not new does not mean that the problem is not a problem.  It is a huge problem.  Noor does it mean that the recent Open Internet decision will not embolden ISPs to expand behaviors they had been testing in the past.

As John pointed out, it is an ISP’s job to deliver traffic to their customers.  That is what they get paid to do.  And part of doing that job is investing in the facilities required to deliver customers the content that they want.  An abstractly fast internet connection is all well and good, but if it is slow in getting you the content you want the headline number doesn’t matter very much.

This problem is also thematically similar to net neutrality.  There are some possible policy distinctions (again, neatly summarized by John last summer) but at a consumer level the policy distinctions start to slip away.  For a consumer, the reality is that decisions made by her ISP prevent her from accessing the service of her choice.

Opacity Hinders a Market Solution

Even those who are inclined to seek a market solution to this problem should be concerned.  Let’s assume, at least for the sake of argument, that consumers have a number of ISPs to choose from.  In situations like this, it is very hard for the average consumer to figure out if switching ISPs would even help.  Without network engineering skills like Mr. Raphael’s it can be very hard to tell what the problem is.  Is it the ISP?  Is it Netflix?  Is it something else entirely?  Without an easy way to assign blame for the awful picture, how is a consumer supposed to know which part of the equation to switch? 

The same opacity also creates a disincentive for either Verizon or Netflix to invest in solving this problem.  If customers are not sure who to blame, it is unlikely that they will know who to reward for the investment that fixes the problem.  Transparency about business and technical practices won’t solve any underlying competition problems.  But, more information would at least help us get a handle on exactly what is going wrong.

Verizon Has an Incentive to Slow Netflix

Thus far, everything in this post could apply to any ISP.  But Verizon has two additional features that make its behavior even more worthy of a second look.  First, Verizon also sells a cable television package.  Second, Verizon owns Redbox, an online video streaming service.

On at least some level, both of these services compete with Netflix.  That gives Verizon, the company that controls the connections that Netflix relies upon to reach Netflix’s subscribers, a huge incentive to make Netflix work not so well.  Every mediocre Netflix experience is one more reason to stay within the Verizon universe.  In light of that, any problems that Netflix customers have on Verizon (or any ISP that also has a TV offering) deserves extra scrutiny.

Where is the FCC?

But what is really going on here?  It can be hard to say from the outside.  This type of interconnection problem has been brewing for some time, and all indications are that they will continue to assert themselves.  With that, interconnection issues start to feel a lot like data caps: net neutrality-related but also bigger than net neutrality, huge impact on services that compete with ISP video offerings, potential technical justifications that are hard for outsiders to evaluate.

But the biggest similarity is that the FCC has essentially ignored both of these issues. One might think that an issue as big as interconnection would warrant some sort of FCC attention.  Even investigating interconnection enough to be able to figure out how to apportion blame for this sort of problem would be a huge step forward.  But, thus far, we have seen nothing from the FCC.  Chairman Wheeler has expressed interest in taking hard looks at how ISPs are handling their network traffic but thus far not actually acted to do so.  

This is the most recent manifestation of an interconnection problem, but it will not be the last. If the FCC wants to take its role protecting an open internet seriously, it would be well served to begin educating itself about what is actually happening.

Original image by Flickr user 24oranges.

Today, Afinia took another big shot at Stratasys’ 3D printing patents. In its amended response, Afinia attempted to bolster its claim in three ways: with evidence that Stratasys was using its patents to monopolize the market, with evidence that Stratasys failed to show the Patent Office one of its own patents that undermined the novelty of a new patent it was applying for, and with evidence that Stratasys failed to show Patent Office one of its own printers that undermined the novelty of another new patent it was applying for. 

We’ve been following a patent lawsuit between the 3D printing companies Stratasys and Microboards Technology (maker of the Afinia 3D printer) since it was filed in November.  This lawsuit, which involves patents surrounding technology in the printers themselves, is interesting beyond the two companies involved.  If Stratasys is correct about their patents, those patents may read onto just about every desktop 3D printer in the market.  

Short Background

Here is background on Stratasys’ complaint in the case, and here is background on Afinia’s original response.  Both of them include a caveat that is also applicable today: these are allegations made, in this case by Afinia.  Afinia thinks they are true enough to use them in court, but we won’t fully know how true they are until a court takes a look.  In other words, just because Afinia alleges it doesn’t make it so.

Stratasys – a company that is long established in the world of 3D printing – claims that it has four patents that cover different elements of Afinia’s desktop 3D printer.  As noted earlier, as presented by Stratasys these patents are extremely broad and may arguably cover most current desktop 3D printers, including open source ones.  Afinia responded to Stratasys’ complaint by challenging the validity of those very patents.

This challenge is important because Afinia is not merely responding that their printer does not infringe on the Stratasys patent.  Instead, Afinia is largely responding by claiming that the Stratasys patents are not valid at all.  If that is the case, Stratasys will not be able to assert these patents against anyone.  That distinction – between Afinia’s non-infringement and full-on invalidity of the patents – is probably worth keeping in mind as this suit progresses.  The first would be a win for Afinia and potentially any printers that work exactly the same way.  The second would have a much broader impact on the wider 3D printing world.

Today’s Development

Today, Afinia filed an amended response to Stratasys’ original complaint.  As you may recall, Afinia’s original response mostly focused on ways in which the Stratasys patents incorporated technology and patents that were already in existence at the time of the application.  Afinia alleged that the written record of the application process showed all the ways that Stratasys agreed to narrow the patents in order to avoid these existing elements.  The end result of this narrowing was that Afinia felt that patents didn’t really cover anything (especially not Afinia’s printer).  

Today’s amended response adds three additional pieces of evidence.

Stratatsys is Trying to Monopolize the Market

The original Afinia response included an allegation that the lawsuit was partially motivated by Stratasys’ desire to monopolize part of the 3D printing market.  This amended complaint beefs up Afinia’s evidence to back up the allegation.

First, Afinia has actual numbers of printers sold and alleges that the now-merged Stratasys and Objet control 50% of the industrial 3D printing market.  This market share allowed Stratasys to control the price for 3D printing inputs – for example, ABS plastic.

Second, all Stratasys printers came with a license.   This is the Terms of Service of the printer – very similar to a TOS you might agree to when you use any web service.  Part of the license required Stratasys customers to grant Stratasys and all Stratasys “customers, licensors, and other authorized users” a second license.  This license was for “any patents and copyrights” that involve “3D printing equipment, the use or functionality of 3D printing equipment, and/or compositions used or created during the functioning of 3D printing equipment” developed using the Stratasys printer and is “derived from and/or improves upon the Intellectual Property and/or trade secrets of Stratasys.” (For those interested, this exact language is on page 11 of theresponse).

Afinia alleges that this license term is fairly simple – it means that any Stratasys customer that develops an improved 3D printing process is required to license it to Stratasys for free.  Furthermore, the new improvement must also be freely licensed to all Stratasys customers.  Remember – according to the earlier part of this section, that’s 50% of the market.  

The end result of this condition – which Afinia calls problematic for a number of reasons – is to reduce incentives to independently innovate in the world of 3D printing.  After all, if any new invention is immediately licensed to 50% of your potential customers, why bother?

Stratasys Hid A Patent

As detailed in the summary of Afinia’s original response, a big part of the Afinia’s strategy was to try and show how Stratasys had reduced the scope of its patent when it was confronted with prior art.  

In the context of the ‘925 patent, that meant limiting the scope of the patent to adjusting the rate of dispensation to control porosity of a printed object - controlling infill and density.  However, at the time the ‘925 patent was being applied, Stratasys already had a patent (the ‘329 patent) that referenced limiting the rate of dispensation to control the porosity of a printed object.

The end result might feel a bit like prior art, but it is actually slightly different.  Because the “prior art” was a patent held by Stratasys, and Stratasys is obligated to submit to the Patent Office all relevant materials, this is considered inequitable conduct that would prevent Stratasys from enforcing the patent at all regardless of its validity.

Stratasys Had an Older Printer

In this amended response, it looks like Afinia has found further evidence of technology that predates one Stratasys patent.  And they didn’t have to look far.  According to Afinia, Stratasys was selling a printer (the FDM-1650) that included the technology covered in the ‘058 patent 

Like the ‘329 patent above, this is the type of thing that Stratasys is required to disclose during an application process.  And like the ‘329 patent issue above, if it is true that Stratasys’ own printer would have been covered by the patent that it was applying for, failing to disclose is inequitable conduct.  Such conduct would serve as a bar to Stratasys trying to enforce its patent.

What Happens Now

In many ways, we are basically where we were a month ago when Afinia first responded.  Faced with a patent infringement lawsuit Afinia lawyered up and marshaled evidence it believes undermines Stratasys’ patent claims.  We still don’t have any sort of judgment deciding which story – Stratasys’ or Afinia’s – is the closest to the real story.  And we will need to wait for a trial or a settlement (or, I suppose, both sides dropping their lawsuits) to find out.

The big difference here is that this amended complaint includes even more evidence that Afinia believes undermines the Stratasys patents.  If true, they impose major limits on the ‘925 and the ‘058 patents.  They may also decrease Stratasys’ excitement about this lawsuit.

But, in the absence of additional information from Afinia, the ball is now in Stratasys’ court.  They have to decide how concerned (if at all) they are about this new information, and what it means for this lawsuit.

AT&T announced a new “sponsored data” scheme that lets content creators buy their way around the company’s data caps. It’s bad news for everyone—but AT&T.

Yesterday AT&T announced a new “sponsored data” scheme, offering content creators a way to buy their way around the data caps that AT&T imposes on its subscribers.  Although AT&T touted it as a “win-win for customers and businesses”, it is actually just a win for AT&T.  This plan is a tremendous loss for everyone else.

Going to the Heart of Net Neutrality

While people sometimes get lost in the details, at its core net neutrality is a pretty straightforward concept: it is the principle that the company that connects you to the internet does not get to control what you do on the internet.With its sponsored data scheme, AT&T is proposing to do just that.  AT&T’s relationship with a website, app, or service will control the way that AT&T’s subscribers interact with the internet.

AT&T is imposing its own tax on anyone who wants to connect to its millions of subscribers.  Of course, this tax is only attractive to content creators if AT&T’s normal service is too shabby to deliver their content without it.  That gives AT&T a big incentive to keep data caps low and overage fees high.

Who gets to innovate in a world where you need to pay AT&T to compete?  The answer? Established services that can afford to pass the fee onto customers.  That’s why net neutrality isn’t really about Netflix or Facebook.  They may not like it, but when push comes to shove they will probably pay AT&T’s tax and pass it along to their customers.  But the next Netflix or the next Facebook won’t be able to afford to do that at the start.  Startups will abandon any potentially “data-intensive” innovation to big players—a recipe for stagnation.  As more established services move to AT&T’s special lane, caps covering everything else may go down bringing the definition of data-intensive down with it.

AT&T is Creating Artificial Scarcity Just to Monetize It

AT&T has proudly moved past the days when the iPhone crashed its network for millions of excited subscribers.  In May of last year CEO Randall Stephenson told investors that AT&T anticipated reducing expenditures on its network and that data caps were really about charging content providers He repeated his confidence in AT&T’s network in December.

The sponsored data plan itself further highlights AT&T’s confidence in its network: if the network truly was fragile AT&T probably would not be inviting creators to dump a lot more content onto it.  Any problems in the network that exist going forward should be traced back to the fact that AT&T is investing in its special paid access lanes instead of the parts of the network available to everyone else. 

“The FCC’s strategy of closing its eyes, putting its fingers in its ears, humming, and pretending that data caps don’t exist needs to stop.”

Furthermore, even if AT&T is painting an overly rosy picture to investors and deluding itself about its network capacity, monthly data caps are an incredibly inefficient way to deal with momentary network congestion.

But they are a great way to gouge content creators.

Special Problems for Rural and Low-Income Communities

For many people wireless data caps are a frustration, but one they can work around.  Wired internet connections at home and at work give them plenty of uncapped internet access when they need it.  But for many others, wireless is their only way to connect to the internet.

In rural areas, 4G wireless connections are pitched as replacements for decommissioned wired internet connections, or as ways to affordably bring high-speed internet to hard-to-reach areas.  For these areas, capped wireless internet becomes their only option.

Similarly, many households in low-income communities do not have the luxury of purchasing two internet connections.  As a result, many of them are mobile-only internet users.

Both of these communities are under threat of being trapped in a second tier internet, pushed only to sites and services that can afford to pay their way around AT&T’s paywall.  For them, the “real” internet will start to leave them behind.

Where is the FCC?

In its Open Internet Order, the FCC detailed the problems that the sort of two-sided market proposed by AT&T creates such as inefficiently high fees, provider arms races, and overall reduced innovation.  Unfortunately, in the past two years the FCC has done nothing to understand the role that data caps can play in creating just such a market.  Even the FCC’s own Open Internet Advisory Committee admitted that it didn’t have enough information to begin explaining how data caps fit into the Order.

The FCC’s strategy of closing its eyes, putting its fingers in its ears, humming, and pretending that data caps don’t exist needs to stop.  AT&T, along with other ISPs, will continue to test the boundaries of the FCC’s stomach to protect an open internet.  If the FCC doesn’t push back then AT&T, like boundary pushers everywhere, will have no reason to stop.

And that’s a loss for everyone besides AT&T.