There has been some discussions on a version of the Spark Core with wired Ethernet. Rather than take up that thread with technical stuff, I thought it might be useful to create a new thread where those people who are interested could discuss findings, and determine a way forward.
Assuming it was to go ahead, there were two basic choices for a device. They were the Microchip ENC28J60, and the WizNet W5100. The comment was made that the ENC28J60 would need a TCP stack to be loaded into the CPU of the Spark, and this would therefore necessitate an upgrade in CPU. The W5100 however has the TCP stack built in, much like the CC3000 WiFi device.
The W5100 would be connected to the CPU presumably via SPI. This would take some pins away from being used for I/O on the device. One of the tasks will be to determine what the best solution is here - should be accept the loss of pins, or should we route some other CPU pins to the external connections of the Spark Core.
Initial devel work could be done using the existing Spark module with an external SPI ethernet module. Once that is working, it should be possible to spin a PCB without the CC3000 and with a W5100, at least as a prototype.
As for doing the work, I am not sure that my ‘C’ skills are up to the hacking of these two components together, but I can try, at least as work permits. And I can also make it as easy as possible to get other people who have greater abilities to work on this project.
Arduino Ethernet Library Link
There is an existing library for the Arduino to interface to the W5100. This is a link to the GIT for this library.
WizNet Data Sheet Link
I have grabbed a copy of the datasheet for the W5100 from Octopart, and this should give an idea of the physical and logical interfaces for the device.
The similar W5300 datasheet is also available. The suggestion has been made to start working on the W5100 and then maybe move to the upgraded device later link
Spark Design Documents
All the design documents are in GitHub. The PDF directory is probably a good start, along with the BOM directory. Link
eBay has a good collection of boards for interfacing to the device. I ordered an SPI breakout board from there for about US$12 including postage. Arduino shields could also probably be interfaced to the Spark Core. Similar modules are available on AliExpress, but there does not appear to be any cost saving, at least for me in Australia as opposed to eBay.
Sparkfun W5100 Ethernet Shield with PoE Link
FreeTronics W5100 Ethernet SHield with PoE Link
Two different shields giving PoE. The FreeTronics device gives hints on design when you also want to use other SPI devices along with the W5100