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:
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!)