Ethernet shield with Power-over-Ethernet support

In the past I've done nasty, hacky DIY Power-over-Ethernet by splicing into the spare pairs on an Ethernet cable at each end: near the switch to inject power, and near the Arduino to extract power to feed into the DC jack. I've always wanted a more elegant way to do it, so the result is this:

It's based on the Ethernet shield reference design but with some fixes for SPI contention, reset reliability, power filtering, and of course the PoE connections brought up onto a header. Oh, and some prototyping area to make it easier to build a network-connected device without requiring a prototyping shield on top.

Since I needed to get power onto the network before it can be taken off, I also put together this:

It's really just a way to save cutting and splicing Ethernet cable to connect up a power source.

All the EAGLE design files etc will be posted on GitHub as soon as I get a chance.

More info here:
Ethernet Shield With PoE | Freetronics
www.freetronics.com/poe-injector-4ch

Jon

PoE is going to be a real mess with everyone throwing random amounts of voltage on the spare wires (which aren't even spare at for GE.) I wish the official spec wasn't so complicated :frowning:

Yes, it's annoying that the official spec is difficult to implement but I can understand why it was done that way. At the time it was drafted it was pretty common for rack-mount gear (particularly telco gear) to run on a 48V power buss with a bank of batteries in series for 48V of backup power, so 48V for PoE makes some kind of weird sense. The higher supply voltage also helps with getting a decent amount of power through a cable with less problems caused by voltage drop.

The signalling system isn't really particularly hard to implement for a commercial device either, and the minimum requirement if you don't want your device to do anything other than indicate the default power rating can be as simple as a single resistor across the appropriate pairs. Just figuring that out from the spec though can be quite an exercise!

One good thing is that the DIY efforts I've seen around the place generally seem to converge on 12V, to the point that there are really two standards: the 48V 802.3af/at "official" standard, and the unofficial de-facto standard of 12V with DC+ on 4/5 and DC- on 7/8. Just about every person I've spoken to about their DIY PoE system has referred to this page at some point:

That page has been hugely influential in pushing people to some commonality in their non-spec PoE systems. What I did with the PoE injector was just a simple, no-soldering-required way to implement what is documented on that page and is already by far the most common way to DIY it.

Jon
Practical Arduino: www.practicalarduino.com

The signalling system isn't really particularly hard to implement for a commercial device

I dunno. The "Powered Device" side is significantly more complex and more expensive than an AC plug-in switching power supply ("wall wart.") On the ethernet switch side, a high density switch ends up needing a pretty massive power supply to handle all the devices that MIGHT request power, which is not good for efficiency (it seems like PoE specs got finalized just before everyone started to get careful about "green" electronics with low standby power.) (And the high performance switches were power hungry beasts even before they had to power an office full of phones.) Even an 8 port home hub would theoretically need something like a 160W power supply (instead of the usual 10 to 20W) if it wanted to have a hope of powering the theoretical limit of connected devices. The modules you can buy all seem to be aimed at the higher power devices (IP phones.) And the most common powered device seems to be one of those IP phones, which is usually sitting next to a normal power outlet anyway (though of course there is a long tradition of having phones be on a separate power system.)
I don't mind the 48V, but I find the whole thing rather ... inelegant. Grr. Perhaps I'll change my mind when the cheap 5V@500mA (USB equiv) module shows up. But I'm not holding my breath!