Skip to content

WiFiCreds v1.0.3

Choose a tag to compare

@me-RK me-RK released this 31 Jul 17:52
· 6 commits to main since this release

πŸš€ WiFiCreds v1.0.3 Released!

Secure Your Arduino Wi-Fi Projects with Confidence πŸ”

Version
πŸ“… 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

  1. Install the library via Arduino Library Manager or manually from GitHub
  2. Create your credentials.h file in WiFiCreds/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
    }
};
  1. 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 .gitignore support

πŸ“Œ Best Practices

  • πŸ” Always add credentials.h to 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.