I've done some projects using a "standard" Arduino and the Adafruit Ethernet shield, and I've been pleased with results: the hardware is good, the library support is good, and the whole package "just works".
But it's a fairly-expensive route to getting a few bytes of I/O on the net, at US$70-80 a pop. A friend has asked for help in setting up a remote sensor network where that could be a deal-killer, so I'm looking for alternatives. I came across this project
using the ENC28J60, which looks like something we could do ourselves, since it's a single-sided PCB we could customize to our needs. And it would be less than half the cost of a shield-based system.
My big questions are "How good is the library support for the ENC28J60?" and "How good is the chip, itself?". From what I've read, the Wiznet module has an advantage in offloading more of the low-level work of managing the interface from the Arduino, which also gives it a smaller memory footprint. But, for an extremely simple sensor node, that's not a really big deal: the rest of the application needs very little CPU, flash, and RAM, so the network interface can consume almost everything, if needed.
But what is
a big deal in this case is reliability: some of the sensors will be installed in locations where it would be an all-day trip to push the reset button, so it's important that there are no mystery gotchas in the drivers that cause the system to flake out once a week, or even once a quarter.
Looking over some of the posts in the old forum, it appears that there is no library among the several out there for the ENC28J60 that makes its users happy, but it's hard to tell whether that's because of problems in the code, weakness of the hardware, or because the unhappy users have little experience with the Arduino and/or networking.
So, is there someone out there who is
happy with the ENC28J60? If so, what library/libraries are you using? Or are you using some other CPU? As much as I like the Arduino platform, it's about my tenth or so microprocessor, so I'm not opposed to a "heretical" solution