Library for controlling the WNC 14A2A from the K64F Freedom Board. It fulfills platform specific pure virtual methods from the WncControllerLibrary.

Dependencies:   WncControllerLibrary

Dependents:   WNC14A2AInterface

Fork of WncControllerK64F by Fred Kellerman

Use this interface to connect to and interact with the WNC M14A2A LTE Cellular Data Module which is provided by Wistron NeWeb Corporation (WNC) when using ARMmbed v5. The interface provides a Networking interface that can be used with the AT&T Cellular IoT Starter Kit that is sold by Avnet (

To demonstrate the use of the Interface, a series of example programs have been provided. Links to these examples are provided below. All examples can be compiled using both the on-line compiler and the ARMmbed CLI (command line interface, see

NOTE: This library/class is specific to the AT&T Cellular IoT Starter Kit which uses a FRDM-K64F. The users compiler should be configured to use the FRDM-K64F platform.

Example Programs

Import the example programs below and follow the in each to run the example program.

  • several examples of the interface using easy_connect.
  • SMS demonstration program that demonstrates SMS usage
  • Sockets demonstration program demonstrating using TCP sockets to interact with others
  • As new example program are developed, this README will be updated


The WNCInterface class currently supports the following version(s):

  • MPSS: M14A2A_v11.21.162331 APSS: M14A2A_v11.27.162331


This library is released under the Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License and may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


RevisionDateWhoCommit message
33:0ec8be33d86d 2017-06-22 fkellermavnet waitUs() was calling wait_ms(), fixed now. Nothing was using waitUs() yet anyways, so the bug is benign. default tip
32:93703ebed512 2017-04-19 JMF Debug output was using the UART which caused collisions with stdio who may be using the same UART. Implemented a WNCDebug class that allows the user to define where to send the debug info--UART, STDOUT, STDERR.
31:d9558aefb9e0 2017-04-17 JMF The changes in this commit only update the UART serial routines from MODSERIAL to BufferedSerial. The BufferedSerial library has better support in mbed v5. MODSERIAL doesn't compile properly.
30:11d88f24cde3 2017-04-06 jmf ...
29:76e8acbafc80 2017-04-06 JMF Switched to standard 'Serial' used in Mbed v5.4
28:4a3244fcc463 2017-04-06 JMF just re-imported it
27:b2be9ca45c05 2017-03-24 JMF Updates to account for compiler changes.
26:36b2f37a8f52 2017-03-09 JMF Fixed several compile errors that occurred when the mbed compiler was upgraded.
25:7d8047f02ec9 2016-12-06 JMF updated the compiled lib
24:7244f8c64aa0 2016-11-17 Added tag att_cellular_K64_wnc_14A2A_20161117 for changeset 43a36c66c574
23:43a36c66c574 2016-11-17 fkellermavnet Removed direct usage of debug UART for debug. Added check for debug uart NULL pointer. att_cellular_K64_wnc_14A2A_20161117
22:9b9cb0d95f51 2016-11-16 fkellermavnet Added check for NULL for debug uart for toggle of wake-pin.
21:10cae290b2d1 2016-10-10 fkellermavnet Removed the power save mode turn off.
20:fcc6b61a5610 2016-10-07 fkellermavnet Added toggle of wakeup pin to try an prevent the drop of the 'A'.; Added cmd to turn off power saving mode, this is thought to maybe be the cause of the no response.
19:846140c6589f 2016-09-23 fkellermavnet Changed cell status check to return earlier if a no response is detected.
18:f5ad6168ad55 2016-09-23 fkellermavnet Found WNC is giving an error sometimes for sock close.
17:632fb326d28f 2016-09-23 fkellermavnet Re-arranged error handling 1 more time.
16:0933aa0fe01e 2016-09-21 fkellermavnet Patched up SMS message parsing, the WNC makes it really really hard due to the way it formats its strings.
15:68d73d402cb0 2016-09-16 fkellermavnet Fixed prior bug with term.
14:82ea5368db2f 2016-09-16 fkellermavnet Added firmware revision reporting to the init.
13:ef379cdd57aa 2016-09-16 fkellermavnet term mode interface change.
12:70c96763e8f7 2016-09-15 fkellermavnet Added a no response to the state of the WNC
11:6f9962fe976a 2016-09-14 fkellermavnet Changed read to return -1 when WNC fails.
10:71f7128b15bb 2016-09-13 fkellermavnet Updated nested lib.
9:e1c6615bae24 2016-09-10 fkellermavnet Updates to library revision.
8:4a921487e7d3 2016-09-09 fkellermavnet Fixed small buffer reading in base class.
7:b0a0d05ce6e5 2016-09-09 fkellermavnet Updated WncControllerLibrary
6:94ac7f9b927b 2016-09-09 fkellermavnet Merged .lib http string changes from Jim's commits.
5:2d5687bcf629 2016-09-09 fkellermavnet Updated WncController.
4:78f8ec2a0d00 2016-09-09 JMF Adding to the WNCInterface library
3:9ab9902d6a93 2016-09-09 JMF further cleanup.
2:e37b93f16371 2016-09-06 fkellermavnet Added new read method, fixed old one.
1:02894d5af4cd 2016-09-02 fkellermavnet Re-arranged library hierarchy.
0:98d149685c95 2016-09-02 fkellermavnet Separate library for platform specific WNC controlling.