For this last blog in the series Investigating ARM Cortex® M33 core I decided to explore the expansion features of the LPC55S69-EVK. This board has three expansion ports (PMOD, Arduino Duo, Mikroe click) and I picked the Mikroe expansion port. Why? Only because I had good experience with these boards with the Hexiwear project.
And because I have been doing some work this month with AWS IOT I wanted to get my LPC55S69-EVK onto my office WiFi network for the Christmas holidays. I know that the MCUXpresso SDK for lpcxpresso55s69 version 2.6.3 has a built-in WiFi example named qca_demo, and so that is what I am investigating today.
That WiFi example supports three WiFi shield boards, and I picked the Mikroe WiFi 10 click board. It’s part number MIKROE-3432 and available from all of the usual catalogue distributors.
It was a very simple matter to plug the board into the LPC55S69-EVK, and then import the qca_demo project into MCUXpresso IDE with the SDK Import wizard. I’m still using MCUXpresso IDE v11.0.1 and SDK v2.6.3 (but both have been updated this week – 24 December 2019 at the time of writing this blog).
And it was ridiculously easy to get the board onto my office WiFi network. Out of the box the qca_demo example is built for a different shield board. And so (following the guidance in the readme.txt file with the project) I modified the header file wifi_shield.h with a #define for the WIFI10CLICK shield:
The demo also is hard-coded to support a specific WiFi SSID and the necessary passphrase. It is set in the main.c source module, and of course it is necessary to modify this for my office WiFi network. Again, these are configured as #defines for the project:
Well, that was all that is necessary to get WiFi up and running! The project builds to about 140 kbytes of code (.text section) and about 25 kbytes of RAM (.bss section) in the debug build with no optimisation, and build for debug console through the UART. It is downloaded to the board via the inbuilt LPC-LINK2 debugger on the LPC55S69-EVK and when it runs, qca_demo sets up a command line interface (“CLI”) through the UART.
The readme.txt file in the project defines the commands that are implemented by the CLI. Here is some output from the board listing the commands, and the output from the board when I’ve run the ‘s’ Scan command. The board reports two WiFi networks, one of which is my office network Ozymandias24.
The command sequence ‘s’, ‘c’, ‘d’ will scan, connect and then get an IP address via DHCP from my office WiFi access point. Thereafter the demo illustrates some typical ‘internet’ protocols such as ‘p’ IMCP echo request, ‘g’ HTTP Get request on port 80, and ‘R’ DNS resolve.
I cannot express how quickly and easily I was able to get this board onto my WiFi network. Kudos to NXP and Mikroelektronika for a job well done!
This is the last video in the series. I’m working on some plan for future videos and so, if you have any suggestions for future investigations, or comments on this video, then please leave them below. And (hint) the more likes the blogs and videos get, the more time I’m going to spend on the next series…
I wish you all a peaceful, successful 2020…. Mark, embeddedpro®.