WiFi 9 Click is fully embedded stand-alone Wi-Fi module, equipped with the PAN9420 a 2.4 GHz ISM band Wi-Fi-embedded module which includes a wireless radio and an MCU for easy integration of Wi-Fi connectivity into various electronic devices. This module combines a high-performance CPU with Wireless radio and integrated memory, which offers many features like webpage storing of HTML or image data, possibility to work in access point or infrastructure mode, and dual UART interface for communication with the host controllers.
WiFi 9 click is supported by a mikroSDK compliant library, which includes functions that simplify software development. This Click board™ comes as a fully tested product, ready to be used on a system equipped with the mikroBUS™ socket.
This board is featuring PAN9420 a 2.4 GHz 802.11 b/g/n embedded Wi-Fi module with integrated stack and API that minimizes firmware development and includes a full security suite. The module is specifically designed for highly integrated and cost-effective applications. The module includes a fully shielded case, integrated crystal oscillators, and a chip antenna.
The WiFi 9 click comes equipped with the PAN9420, a full embedded Wi-FI module from Panasonic. The module combines a high-performance CPU, high-sensitivity wireless radio, baseband processor, medium access controller, encryption unit, boot ROM with patching capability, internal SRAM, and in-system programmable flash memory. The module’s integrated QSPI flash memory is available to the application for storing web content such as HTML pages or image data.
Parallel support of access point and infrastructure mode allows easy setup of simultaneous Wi‑Fi connections from the module to smart devices and home network routers. The pre‑programmed Wi-Fi SoC firmware enables client (STA), micro access point (µAP), and Ad‑hoc mode (Wi-Fi Direct) applications. With the transparent mode, raw data can be sent from the UART to the air interface to smart devices, web servers, or PC applications.
For working with PAN9420 module at your disposal are two data UART interfaces, one for command and another for transparent data. In order to enable simultaneous communication between the module and host MCU through one UART on mikroBUS™ socket we have added 74HC4052 multiplexer from Nexperia USA Inc.
For selecting between UART0/UART1 you may use ADR pin (ADDRES):
ADR pin state | Module pins | Selected Interface |
---|---|---|
LOW | TXD0/RXD0 | UART0 |
HIGH | TXD/RXD | UART1 |
On the WiFi 9 click board several status LED’s are implemented for easiest visual monitoring of the module states like MCU heartbeat, IP connectivity, Errors, WiFi connection and Booting.
The PAN9420 supports Over-the-Air firmware updates. In order to make use of this feature, the customer needs to ensure that the appropriate preconditions are fulfilled and that a suitable environment is provided, particularly with regard to:
The PAN9420 module is operated at 3.3V. Having in mind its absolute maximum ratings, it is not advisable to use the Click board™ with MCUs that use logic voltage levels up to 5V.
Specifications:
Type | WiFi |
Applications | Contains all necessary IoT functionality perfectly suited for IoT applications which require simultaneous support of Access-Point- and Infrastructure mode |
On-board modules | Full featured standalone WiFi module PAN9420 from Panasonic, a 2.4 GHz ISM module which includes a wireless radio and an MCU |
Key Features | Full-featured embedded network stack, integrated webserver, over-the-air firmware updates, integrated QSPI flash memory for customer web contents or configuration file storing |
Interface | GPIO,UART |
Compatibility | mikroBUS |
Click board size | L (57.15 x 25.4 mm) |
Input Voltage | 3.3V |
PinOut Diagram:
This table shows how the pinout on WiFi 9 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
OnBoard Settings And Indicators:
Label | Name | Default | Description |
---|---|---|---|
T1 | RESET | - | Reset button for firmware rebooting |
LD1 | MCU | - | MCU status (heartbeat) LED |
LD2 | IP | - | IP connectivity (allocated IP) status LED |
LD3 | ERROR | - | Error (active during booting) status LED |
LD4 | STAT | - | Wireless (Wi-Fi) status LED |
LD5 | READY | - | MCU ready (booting ready) status LED |
LED GREEN | PWR | - | Power LED Indicator |
WIFI 9 Click LED Status Legend:
LED | Application | LED Function |
---|---|---|
MCU | OFF: Shut-off BLINK (1sec): Firmware active |
MCU status (heartbeat) |
IP | OFF: no IP assigned ON: IP assigned |
IP connectivity in Infrastructure mode |
ERROR | OFF: no error ON: error appeared |
MCU Firmware Error |
STAT | OFF: no AP connection BLINK (0.2 s): Scanning for AP BLINK (0.4 s): trying to connect to AP BLINK (1.2 s): WLAN Error ON: Associated with AP |
WLAN connectivity in Infrastructure mode |
READY | OFF: Shut-off ON: Firmware ready | Firmware application is ready |
PWR | ON: Click board is powered on OFF: Click boards is missing power |
Power LED Indicator |
Software Support:
We provide a library for the WiFi 9 click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
Library carries generic command parser adopted for WiFi 9 command based modules.
Generic parser
Key functions:
wifi9_cmdSingle
- Sends provided command to the module.wifi9_setHandler
- Handler assignation to the provied command.wifi9_modulePower
- Turn on module.Examples description
The application is composed of three sections :
void applicationInit() { // TIMER INIT wifi9_configTimer(); // DRIVER INIT wifi9_uartDriverInit((T_WIFI9_P)&_MIKROBUS1_GPIO, (T_WIFI9_P)&_MIKROBUS1_UART); wifi9_coreInit( wifi9_default_handler, 1500 ); // MODULE POWER ON wifi9_hfcEnable( 0 ); wifi9_modulePower( 1 ); wifi9_selectUart(_WIFI9_SELECT_CMD_UART); Delay_ms( 4000 ); mikrobus_logWrite( "---------------------", _LOG_LINE ); mikrobus_logWrite( "---- System Info ----", _LOG_LINE ); mikrobus_logWrite( "---------------------", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_FIRMWARE[0]); Delay_ms( 500 ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_MAC_ADDR[0]); Delay_ms( 500 ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_SERIAL_NUM[0]); Delay_ms( 500 ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_RADIO_VER[0]); Delay_ms( 500 ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_BOOTL_VER[0]); Delay_ms( 500 ); wifi9_cmdSingle(&_WIFI9_CMD_GET_SYSTEM_HW_REV[0]); Delay_ms( 5000 ); mikrobus_logWrite( "--------------------------", _LOG_LINE ); mikrobus_logWrite( "---- Start NETCAT app ----", _LOG_LINE ); mikrobus_logWrite( "--------------------------", _LOG_LINE ); mikrobus_logWrite( "> Reads the current Station status", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_GET_WLAN_STATE_STA[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Set Station to ON status", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_WLAN_STATE_STA_ON[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Sets Station SSID and PASSWORD", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_WLAN_CFG_STA[0]); Delay_ms( 4000 ); mikrobus_logWrite( "> Turn OFF - Netcat module", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_NETCAT_STATE_OFF[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Turn ON - Netcat module", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_NETCAT_STATE_ON[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Sets the Netcat module as a server with port 1234", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_NETCAT_CFG_SERVER[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Excludes Netcat authentication", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_SET_NETCAT_AUTH_OFF[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> Gets the current received IP address", _LOG_LINE ); wifi9_cmdSingle(&_WIFI9_CMD_GET_NET_CFG_STA[0]); Delay_ms( 2000 ); mikrobus_logWrite( "> At the moment, a netcat server at port 1234 has been built", _LOG_LINE ); mikrobus_logWrite( "> The module is transferred to BIN-UART - for data collection", _LOG_LINE ); wifi9_selectUart(_WIFI9_SELECT_BIN_UART); Delay_ms( 5000 ); }
Additional Functions :
All additional functions such as timer initialization and default handler.
Notes :
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
MikroSDK:
This Click board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.
Resources:
Downloads: