I want to turn my Arduino MKR1000 into an Access Point. My code is the following:

#include <SPI.h>
#include <WiFi101.h>
#define PubNub_BASE_CLIENT WiFiClient
#include <PubNub.h>

WiFiServer server(80);
char ssid[] = "MKR1000";
int status = WL_IDLE_STATUS;

void setup() {
  Serial.print("Creating access point named: ");
  if (WiFi.beginAP(ssid) != WL_CONNECTED) {
    Serial.println("Creating access point failed");
    while (true);

void loop() {


void printStatus() {
  Serial.print("SSID: ");
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.println(" dBm");
  Serial.print("To connect, join the network and open a browser to http://");

After uploading this, in the serial monitor I get this:

Creating access point named: MKR1000
Creating access point failed

I'm new to this so I really don't know what's the problem. I hope someone knows what's going on.
Thank you in advance.

  • Hopefully you mean you want the board to function in AP mode for connected clients to exchange messages specifically with it. Trying to actually make it a wifi access point in the sense of a wifi router is not a viable idea. – Chris Stratton Apr 4 '18 at 16:58
  • Yeah sorry, that's what I meant. – user9026955 Apr 6 '18 at 14:50

I found this reference for Wifi.beginAP() in the Wifi101 library, which I hope is the correct one - apologies if it's not.

It says that beginAP() returns either WL_AP_LISTENING or WL_CONNECT_FAILED, so checking for WL_CONNECTED is not sensible.

Try this:

if (WiFi.beginAP(ssid) != WL_AP_LISTENING) {
  Serial.println("Creating access point failed");
  while (true);
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.