Wiring Wiz820io Ethernet Module to Teensy 3.1 (or 3.2)

I have a Teensy 3.1 and Wiz820io Ethernet Module I want to connect together. PJRC does sell a little shield for the Wiz820io, but I plan to mount the Teensy to a PCB and want to do the same with the Wiz820io rather than use this shield.

I immediately had issues which I incorrectly blamed on drivers. Had this been any MCU other than the Teensy, drivers would have been a good guess. I was puzzled as to why I would have driver issues given PJRC was selling the shield. It should work, yet didn’t.

To make a very long (as in 8 hours) story short, the root of the problem lies in the Wiz820io’s RESET pin. I finally discovered that you MUST properly provide power to this pin to get the Wiz820io up and running. When you do, the two lights on the Wiz820io will come on.

But even after discovering the necessity of the RESET pin, I could not get the drivers to work. In my research I found one person telling another to toss their Arduino Due and use a Teensy because the Teensyduino had all the necessary drivers. OK, I *must* be using the proper drivers, and now I know the trick of the RESET pin, what else am I missing?

The final clue is in the PJRC shield wiring diagram:

Teensy3   SD Card   WIZ820io      MCP1825     JUMPER PADS
-------   -------   --------      -------     -----------
 4        2:CS
 8                                             Left Side
 9                  RESET
10:CS               SS
11:DOUT   3:DI      MOSI
12:DIN    7:DO      MISO
13:SCK    5:CLK     SCLK
VIN                               1:IN
          4:VDD     VIN33,VIN33   3:OUT
GND       6:VSS     GND,GND,GND   2:GND+TAB   Right Side
                    PWDN                      Center

The Wiz820io RESET pin is connected to Teeny’s pin 9. I’ve been using 2, well, just because it was convenient. Switched it to pin 9 and BAM! It worked. DHCP assigned an IP address and I could ping it.

The Teensy ethernet library does work properly for the Wiz820io, you just need to make sure you tie the RESET pin to Teensy’s pin 9.

With that done, here is how I wired a standalone Wiz820io module to a Teensy 3.1:

teensy-wiz820io-fig01and here is the actual device:

teensy-wiz820io-fig02

Some additional notes:

Most of my testing was done using Arduino IDE 1.6.5 and Teensyduino  1.25 because I figured the latest drivers would be there.

Once I had solved the issue as being the RESET pin, I then went back to Arduino IDE 1.0.6 and Teensyduino 1.24 which is what my ‘stable’ development platform is at the moment (I really don’t like developing on a release-candidate. I have enough issues, thank you very much!)

 

This entry was posted in c-teensy. Bookmark the permalink.

5 Responses to Wiring Wiz820io Ethernet Module to Teensy 3.1 (or 3.2)

  1. Tom Fralic says:

    Do you have a copy of the code you used?

    I am trying your method and having no luck.

    Tom

  2. Dan TheMan says:

    I’ve got at least 10 boards running w/ this or the Wiz850io now wired this way.

    As of teensyduino 1.35, you must manually initialize the wiz820io/wiz850io. Make sure you do this before your ethernet begin:

    digitalWrite(9, LOW); // begin reset the WIZ820io
    delay(1UL);
    digitalWrite(9, HIGH); // end reset pulse
    delay(150UL);

  3. Rick Vogel says:

    Dan,
    I have a teensy 3.2 hooked up to a Wiz850io and using the basic show me my DHCP address sketch and I get nothing. I’ve placed the manual initialize code in setup before ethernet begin as well……nothing. Are you using Ethernet or Ethernet2 library. Do you have an example of working code cause I have all my connections, even pin 9 for reset, hooked up as you do in the tutorial.

  4. Rick Vogel says:

    Disregard……..problem was in the router not the code or boards.

  5. Kollektor Emitter says:

    Thanks Mate!

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.