Go Down

Topic: ENC28J60 vs Wiznet: what's the CURRENT status? (Read 15 times) previous topic - next topic

Ran Talbott

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  ]:D

GregaG

Quote
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.

What about using watchdog timer?

Did u check here already?
Also check this.

I used some other example for rly easy page(plain text), but cant find it, but here is my pde


Basicly setuping up a page might not be so hard, all in all it depends what kind of page u want to have, if its just basic page, then there shouldnt be any problems.
As far goes for the price of ENC,  u can get it rly cheap on ebay.

draythomp

The 28J60 is much harder to understand and takes more experience to bring up.  You don't seem to have that problem and since you can dedicate the entire arduino to sending a few bytes it is probably a really good choice.  I have a few 'official' boards in operation as well as a couple of WiShields, they all fail from time to time. 

You're exactly correct, it sucks to go hit the reset when this happens so I'm modifying my code to do a simple get to the gateway router to verify that the darn network is up for each device.  So each device will do a 'get / \r\n' to the gateway router and if there is no response in a fixed amount of time the board resets itself.  I've set up a laptop to watch the serial port for a couple of days and watched the devices recover from something and get back on line.  Made the entire system much more reliable.  You can go even further and reset the board at an opportune time (midnight maybe) to be sure something doesn't build up over time and even sample to be sure your sensors are alive.

So, I would go for the 28J60 for something like this and build in a series of checks to make sure everything is working, resetting when necessary.  It won't hurt to put a web control in to reset the machine over the internet as well.  This is actually kind of fun, send a command and the arduino resets itself.  Not real useful, but fun.
Trying to keep my house under control http://www.desert-home.com/

Ran Talbott

Grega: I've seen the shield vendor website, but I'm much more interested in hearing from folks who don't have a direct financial interest.  :.

I could certainly do a watchdog, but would really prefer not to depend on on it.  Especially since my friend is telling me that he may want to add a "shut down the equipment on over-temperature" feature: I wouldn't want an I/O pin glitch due to flakey software resetting the temperature monitor to needlessly reset the other equipment.  It's supposed to help avoid hiccups, not add them.



westfw

The wiznet chip isn't fundamentally THAT much more expensive than the ENC28J60 ($6 from sparkfun vs $3.50 from digikey); it's just that the shield/modules are relatively expensive (for instance, you can find ENC modules that are about the same price as wiznet modules or ethernet shields.)  It's a little depressing, given the price of commodity ethernet adapters for PC-like systems :-(

The rumored ethernet+Arduino on one board might change the equation, or you could build your own hardware (expensive in a different way...)

Go Up