Ethernet Module Hacking Challenge

Jack Gassett

Recommended Posts

Hackers, are you ready for the first Gadget Factory Hacker Challenge? Do you want to win a $40.00 gift card to spend on anything your heart desires at the GF Store? Here's the deal: YOU design and implement a way to make the Ethernet module pictured above work with your Papilio board. You WIN a $40.00 gift card to the store! Simple enough.

Ethernet functionality. It has long been a requested feature for the Papilio FPGA dev boards. And the Gadget Factory community has what it takes, so let's make this happen! In the first (of hopefully many) Hacker Challenges, the community of Papilio users and developers are going to put our heads together to hack this module and make the results open to the community.


The Challenge:

  • (No purchase required) You must hack a way for the ENC28J60 used in this module to work with any and all Papilio FPGA boards.
  • Post your working code (Arduino code and a library for the Arduino IDE, or VHDL code) to the Hacker Challenge thread on the forums.
  • Must be repeatable so every Papilio user can benefit – embrace the open-sourceyness!
The Reward:
  • Designs that are repeatable, work with both the Papilio board and the Ethernet module will win one of three $40.00 gift cards to the Gadget Factory Store.  
  • So, the three of you that make the most meaningful contributions to the design will get a gift card! Those contributions can be:
    • Post your working code (Arduino code and a library for the Arduino IDE, or VHDL code)
    • Write documentation
    • Make improvements to documentation or code



  • We have working code for the AVR8 Soft Processor which was posted by Greg Samsa.
  • We can still use code for the ZPUino and any documentation or other helpful contributions.



The endgame here is to create a design that anyone with a Papilio and this particular Ethernet module could use successfully for their own projects. In the true spirit of open source, when we put our heads together as a community, we all win!

So get crackin' - get hackin'!




Ethernet Module in Gadget Factory Store - Very limited supply right now.

Link to comment
Share on other sites

  • 2 weeks later...

To get the ball rolling on some ZPUino code for this ethernet module here are some links to Arduino Libraries that I found. It should just be a matter of changing the low level SPI code to work with the ZPUino SPI hardware instead of the AVR hardware:



Link to comment
Share on other sites

I was going to start hacking on some of these code bases last night but after spending an hour searching for my ethernet module it is no where to be found! Arghhh...


Will have to wait for the next batch to come in.


I did get to play with some bluetooth modules that we received. We will be putting them in the store very soon for those that are interested.



Link to comment
Share on other sites

So here's the first prototype for a proper ethernet wing. I just finished it over the weekend:





I don't have any actual code to test it with but when I powered up the Papilio and plugged in an ethernet cable the link lights came on at both ends so things are looking good.


Jack: That proto will be going in the mail to you today so you can get back to hacking. :)

Link to comment
Share on other sites

In theory other than pinout the only real difference should be the lack of a power led. I don't actually have a schematic for the original board ... I based it off the same chip though and attempted to follow the original board even where it deviates from spec (i.e. the wol pin). I don't currently have the .sch and .brd uploaded anywhere but I can fix that easy enough. :)

Link to comment
Share on other sites

  • 5 weeks later...

Hi Jack,

I'm not sure this applies to the challenge, but wanted to share my success with the Olimex Enc28j60-h board using the Papilio One 500k.  Overall, once I got some compile issues with the EtherCard library sorted out and the pins set up correctly things went rather smoothly.

Here's a quick write up, with a forked repo to show my changes.


Next steps would be to push the changes to the ZAP IDE repo to clean things up (for example the MOSI/MISO definitions).

Please let me know of any feedback, it was a lot of fun working with the Papilio and the ZAP IDE.



Link to comment
Share on other sites



This is awesome, thank you very much for making this work. I just spent the last couple of hours playing with this and it works great! I got it working with the ethernet module in the hacking challenge and the Ethernet Wing that Logxen designed.


I updated the code to allow the pin locations to be changed on the fly and uploaded the latest changes into the ZAP IDE. I'm working on a new release now, in the meantime the source code is here:


I generated a $40 coupon code for the Gadget Factory store and will be sending the code to you in a private message through the forum.


So what is left? Is the hacking challenge complete?

This port works for the AVR8 but we still need a port for the ZPUino, if anyone wants to work on a ZPUino port that will be good for a $40 coupon as well. Or if anyone wants to make some documentation on the Papilio wiki or anything else that is helpful to the Papilio community then we will be happy to give out a $40 coupon for that as well.

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.