WiFiCreds v1.0.3
π WiFiCreds v1.0.3 Released!
Secure Your Arduino Wi-Fi Projects with Confidence π
π
Release Date: July 31, 2025
π§© What is WiFiCreds?
WiFiCreds is a simple and modular Arduino library that allows you to manage Wi-Fi credentials securely and separately from your main project code β ideal for open-source sharing, classrooms, and client projects.
No more hardcoding credentials into your sketches!
β Highlights
- π Keeps SSID and password out of your codebase
- πΌ Supports multiple credential sets (e.g., home, office, guest)
- π§ Smart default: Automatically picks the first credential set when no name is specified
- π¦ Designed for ESP32, ESP8266, Raspberry Pi Pico W, Arduino UNO R4 WiFi, and more
- π§ͺ Built-in validation to avoid connection errors
- π Clean API:
WiFiCreds::getSSID(),WiFiCreds::getByName("office"),WiFiCreds::isValid(), etc. - π οΈ Multiple examples included for quick testing
π What's New in v1.0.3
- π Support for multiple credential sets with named access
- π Enhanced documentation and examples
- π§ Updated versioning across
Doxyfile,library.properties, and example sketches - π§Ό Improved structure and clarity in the README
π§ How to Use
- Install the library via Arduino Library Manager or manually from GitHub
- Create your
credentials.hfile inWiFiCreds/src/:
const CredentialSet CREDENTIAL_SETS[] = {
// First set is always the default
{
.name = "home",
.ssid = "MyHomeWiFi",
.password = "HomePassword123"
},
{
.name = "office",
.ssid = "OfficeNetwork",
.password = "OfficePassword456"
},
{
.name = "guest",
.ssid = "GuestWiFi",
.password = "GuestPassword789"
},
// Terminator entry - must be last!
{
.name = nullptr,
.ssid = nullptr,
.password = nullptr
}
};- In your sketch, include the library and call:
#include <WiFiCreds.h>
WiFi.begin(WiFiCreds::getSSID(), WiFiCreds::getPassword());
// OR use a specific profile
const char* officeSSID = WiFiCreds::getSSID("office");
const char* officePASS = WiFiCreds::getPassword("office");π What's Included
- π Modular credential handling with optional named access
- βοΈ Static access functions for performance and simplicity
- π§ͺ Examples for multiple boards and credential sets
- π§Ύ Full Doxygen documentation
- π Git-safe setup with
.gitignoresupport
π Best Practices
- π Always add
credentials.hto your.gitignore - β
Use
WiFiCreds::isValid()before connecting - π§± First credential set is used by default if no name is given
π¨βπ» Author
Made with β€οΈ by Rithik Krisna M
π GitHub Repository
π¬ Submit an Issue
π‘οΈ This library is designed for development and educational use. For production-grade applications, implement advanced credential storage and encryption strategies.