Project Description

WizFi250-EVB can be used not only for evaluation of WizFi250 module but also for Arduino WiFi Shield. Below information is very helpful for you when you use WizFi250-EVB for WiFi Shield.


Hardware Configuration

1. Check if WizFi250 operates in SPI mode

  • WizFi250-EVB can be connected to Arduino board using SPI. Therefore, you need to check the operation mode of WizFi250.
  • The first interface signal after factory default decides the operation mode of WizFi250. If the first signal is SPI, WizFi250 will operates as SPI.
  • For the factory default of WizFi250, press the function button three times consecutively.

Wizfi250_hardware

 

  • You can also perform the factory default using AT commands. When you use the AT commands, be careful that you don’t have transmit any UART data after factory default.
    – The default operation mode is set as UART for WizFi250
    – Connect the WizFi250-EVB with PC using USB cable. The USB port is used for UART interface
    – If you input below commands, WizFi250 will be reset with factory default

wizfi250_command

    – After then connect WizFi250-EVB with your Arduino Board

2. Check the position of the 0ohm resistor in WizFi250-EVB

wizfi250_0ohm

 

After checking about points, download the WizFi250 Arduino Library. You can get it from WIZnet Github


To check WizFi250 SPI Signal

Preparation for SPI Signal check

1. Connect the Arduino and WizFi250-EVB
2. To use Oscilloscope, connect the cables to SPI pins (MOSI, SS, SCK, MOSO,GND) as below

wizfi250_spi

 

The general SPI waveform

When SPI Data is input, SS(CS) is asserted as low & SCK(CLK) frequents 8 times. Then the SPI data is transmitted using MISO & MOSI as shown in below figure.

spi_wave

 

spi_wave_1

 

The waveform when WizFi250 transmits the data to host MCU

spi_wave_250

 

Example code for SPI test

 


When input data is distorted or Arduino is reset

When you use Arduino Uno board with WizFi250-EVB, you can find the problem that Arduino board is rebooted without reason or serial data is distorted. This problem seems related to small SRAM size of the Uno board. When we try to print a bulk of log messages, we can see the wrong message is printed and the Uno board is rebooted. It seems the SRAM is overflowed.

As you see below, Uno board supports 2KB SRAM & 32KB Flash memory. Considering the space for bootloader, you can use 31.5KB Flash memory.

arduino_chart

 

If you save the log messages into Flash memory instead of SRAM, you can solve above problem. For this, use PROGMEM macro. (You also use this way for other AVR MCUs)