Skip to content
This repository has been archived by the owner on Jan 11, 2020. It is now read-only.


Repository files navigation

Basecamp is deprecated now. And only for archival purposes. If you want to take over this project contact me at:

There are a lot of alternatives for the ESP32 by now that also work with the ESP8266

Here are alternatives that are in active development:


Basecamp - ESP32 library to simplify the basics of IoT projects Originally written by Merlin Schumacher ( for c't magazin für computer technik Licensed under GPLv3. See LICENSE for details.

Attention: Do not use the master-branch for production use! Use only the releases!


This library has few dependencies:



Async MQTT Client



Exhaustive documentation will provided in the next few weeks. An example can be found inside the example folder.

First Setup:

At the first start - when you initially flash the device, the ESP32 will generate an unique password which is displayed at the debug console upon every start. In setup mode (when the ESP32 is acting as an access point for setup), the password for the "ESP_$macOfEsp32" wifi network will be set to this value. It will never change, except the configuration gets broken - then a new password will be generated.

Basic example

#include <Basecamp.hpp>
Basecamp iot;

void setup() {
    //The mqtt object is an instance of Async MQTT Client. See it's documentation for details.

    //Use the web object to add elements to the interface
    iot.web.addInterfaceElement("color", "input", "", "#configform", "LampColor");
    iot.web.setInterfaceElementAttribute("color", "type", "text");


void loop() {
	//your code