An Arduino library to ease the use of the ESP32 in IoT projects
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
data Improve config form styling Sep 18, 2018
.gitmodules Add dependencies Jan 17, 2018
Basecamp.cpp Merge pull request #67 from FloEdelmann/web-ui-title Oct 22, 2018
Basecamp.hpp Add files via upload Aug 29, 2018
Configuration.cpp Configuration now supports memory-only mode Apr 30, 2018
Configuration.hpp Add ConfigurationKey entries for other predefined keys Aug 17, 2018
LICENSE Initial commit Nov 8, 2017 Updated README Feb 9, 2018
WebServer.cpp Made WebServer more reusable May 1, 2018
WebServer.hpp Made WebServer more reusable May 1, 2018
WifiControl.cpp Allow setting custom AP name Aug 17, 2018
WifiControl.hpp Allow setting custom AP name Aug 17, 2018
data.hpp Make executable Sep 18, 2018
debug.hpp Interface changes Dec 21, 2017
keywords.txt Use correct separator in keywords.txt Jan 5, 2018
library.json Basecamp 0.1.8 Feb 16, 2018
log.hpp Add mqttGuard and Interface Mar 10, 2018
mqttGuard.cpp Typo + documentation extended Mar 10, 2018
mqttGuard.hpp Typo + documentation extended Mar 10, 2018
mqttGuardInterface.cpp fixed typo in mqttGuardInterface include that prevented building on l… May 31, 2018
mqttGuardInterface.hpp Add mqttGuard and Interface Mar 10, 2018


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