Khoi Hoang

Name
Khoi Hoang
Location
Mississauga, Ontario, Canada
GitHub
https://github.com/khoih-prog

Libraries

AsyncDNSServer_STM32 Asynchronous DNS Server Library for STM32F/L/H/G/WB/MP1 using LAN8720 or built-in LAN8742A Ethernet
AsyncHTTPRequest_Generic Simple Async HTTP Request library, supporting GET, POST, PUT, PATCH, DELETE and HEAD, on top of AsyncTCP libraries, such as AsyncTCP, ESPAsyncTCP, AsyncTCP_STM32, etc.. for ESP32 (including ESP32-S2), ESP8266 and currently STM32 with LAN8720 or built-in LAN8742A Ethernet.
AsyncUDP_STM32 Fully Asynchronous UDP Library for STM32 using LAN8720 or built-in LAN8742A Ethernet.
AsyncWebServer_STM32 AsyncWebServer for STM32F/L/H/G/WB/MP1 using LAN8720 or builtin LAN8742A Ethernet
BlynkESP32_BT_WF Enable inclusion of both ESP32 Blynk BT/BLE and WiFi libraries. Then select one at reboot or run both. Eliminate hardcoding your Wifi and Blynk credentials and configuration data saved in either LittleFS, SPIFFS or EEPROM.
BlynkEthernet_Manager Simple Ethernet Manager for MultiBlynk for Teensy, SAM DUE, SAMD21, SAMD51, nRF52, ESP32, ESP8266, etc. boards, with or without SSL, configuration data saved in ESP8266/ESP32 LittleFS, SPIFFS, nRF52 LittleFS/InternalFS, EEPROM, DueFlashStorage or SAMD FlashStorage.
BlynkEthernet_STM32_WM Simple Blynk Credentials Manager for STM32 boards using built-in LAN8742A Ethernet, LAN8720, ENC28J60 or W5x00 Ethernet shields, with or without SSL, configuration data saved in EEPROM.
BlynkGSM_Manager Simple GSM shield Credentials Manager for Blynk and ESP32 / ESP8266 boards, with or without SSL, configuration data saved in LittleFS / SPIFFS / EEPROM.
Blynk_Async_ESP32_BT_WF Simple WiFiManager for Blynk and ESP32 with or without SSL, configuration data saved in either SPIFFS or EEPROM. Enable inclusion of both ESP32 Blynk BT/BLE and WiFi libraries. Then select one at reboot or run both. Eliminate hardcoding your Wifi and Blynk credentials and configuration data saved in either LittleFS, SPIFFS or EEPROM. Using AsyncWebServer instead of WebServer, with WiFi networks scanning for selection in Configuration Portal.
Blynk_Async_GSM_Manager Simple GSM shield Credentials Manager for Blynk and ESP32 / ESP8266 boards, with or without SSL, configuration data saved in LittleFS / SPIFFS / EEPROM.
Blynk_Async_WM Simple Async WiFiManager for Blynk and ESP32 (including ESP32-S2, ESP32-C3), ESP8266 with or without SSL, configuration data saved in either LittleFS, SPIFFS or EEPROM
Blynk_Esp8266AT_WM Simple WiFiManager for Blynk with MultiWiFi Credentials, for Mega, SAM DUE, SAMD21, SAMD51, nRF52, STM32, Teensy, etc. boards running ESP8266/ESP32-AT shields. Configuration data saved in EEPROM, EEPROM-emulated FlashStorage_STM32 or FlashStorage_SAMD, SAM-DUE DueFlashStorage or nRF52 LittleFS.
Blynk_Teensy Enable Blynk support of Teensy boards, especially latest Teensy 4.0, using WiFi, Ethernet, BT/BLE and GMSM/GPRS shields
Blynk_WiFiManager Simple WiFiManager for Blynk and ESP32 (including ESP32-S2, ESP32-C3), ESP8266 with or without SSL, configuration data saved in either LittleFS, SPIFFS or EEPROM
Blynk_WiFiNINA_WM Simple WiFiManager for Blynk and Mega, UNO WiFi, Teensy, SAM DUE, SAMD21, SAMD51, STM32, nRF52, etc. boards running WiFiNINA shields, configuration data saved in EEPROM, FlashStorage, DueFlashStorage, LittleFS/InternalFS
DDNS_Generic DDNS Update Client Library for SAM DUE, nRF52, SAMD21/SAMD51, STM32F/L/H/G/WB/MP1, AVR Mega, megaAVR, Teensy, etc. besides ESP8266/ESP32, using ESP8266-AT/ESP32-AT WiFi, WiFiNINA, Ethernet W5x00, ENC28J60, LAN8742A oe Teensy NativeEthernet
DoubleResetDetector_Generic "Library to detect a double reset, using EEPROM, DueFlashStorage, FlashStorage_SAMD, FlashStorage_STM32 or LittleFS/InternalFS for AVR, Teensy, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, nRF52, etc. boards. Now using efficient FlashStorage_STM32 library and supporting new STM32 core v2.0.0 as well as v1.9.0
DS323x_Generic Library for DS3231/DS3232 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal
ESPAsync_WiFiManager ESP32 (including ESP32-S2 and ESP32-C3), ESP8266 WiFi Connection Manager using AsyncWebServer, with enhanced GUI and fallback Web ConfigPortal.
ESPAsync_WiFiManager_Lite Light-Weight MultiWiFi/Credentials Async WiFiManager for ESP32 (including ESP32-S2 and ESP32-C3) and ESP8266 boards. Powerful-yet-simple-to-use feature to enable adding dynamic custom parameters.
ESP32TimerInterrupt This library enables you to use Interrupt from Hardware Timers on ESP32-based (including ESP32-S2 and ESP32-C3) boards
ESP32_ISR_Servo This library enables you to use Interrupt from Hardware Timers on an ESP32 board to control multiple servo motors.
ESP8266TimerInterrupt This library enables you to use Interrupt from Hardware Timers on an ESP8266-based board.
ESP8266_AT_WebServer Simple WebServer library for AVR, Teensy, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, nRF52 boards running ESP8266/ESP32 AT-command shields with functions similar to those of ESP8266/ESP32 WebServer libraries
ESP8266_ISR_Servo This library enables you to use Interrupt from Hardware Timers on an ESP8266 to control servo motors.
ESP_AT_Lib An ESP8266/ESP32-AT library for Arduino providing an easy-to-use way to manipulate ESP8266/ESP32-AT library. For AVR, Teensy, SAM DUE, SAMD21, SAMD51, STM32, nRF52 boards running ESP8266/ESP32 AT-command shields.
ESP_AT_WiFiManager WiFi/Credentials Manager for nRF52, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, etc. boards running ESP8266/ESP32-AT-command shields with fallback web configuration portal. Credentials are saved in EEPROM, SAMD FlashStorage, DueFlashStorage of nRF52 LittleFS.
ESP_AT_WM_Lite Light-Weight WiFi/Credentials Manager for AVR Mega, SAM DUE, SAMD, nRF52, STM32, etc. boards running ESP8266/ESP32-AT-command shields. Powerful-yet-simple-to-use feature to enable adding dynamic custom parameters.
ESP_DoubleResetDetector Library to detect a double reset within a predetermined time, using RTC Memory, EEPROM, LittleFS or SPIFFS for ESP8266 and ESP32
ESP_MultiResetDetector Library to detect a multi reset within a predetermined time, using RTC Memory, EEPROM, LittleFS or SPIFFS for ESP8266 and ESP32
ESP_WiFiManager Library to configure MultiWiFi/Credentials at runtime for ESP32 (including ESP32-S2 and ESP32-C3) and ESP8266 boards. With enhanced GUI and fallback web ConfigPortal.
ESP_WiFiManager_Lite Light-Weight MultiWiFi/Credentials Manager for ESP32 (including ESP32-S2 and ESP32-C3) and ESP8266 boards. Powerful-yet-simple-to-use feature to enable adding dynamic custom parameters.
EthernetWebServer Simple Ethernet WebServer, HTTP Client and WebSocket Client library for AVR, Teensy, SAM DUE, SAMD21, SAMD51, nRF52, ESP32, ESP8266 boards using Ethernet shields W5100, W5200, W5500, ENC28J60 or Teensy 4.1 NativeEthernet
EthernetWebServer_SSL Simple TLS/SSL Ethernet WebServer, HTTP Client and WebSocket Client library for Teensy, SAM DUE, SAMD21, SAMD51, nRF52, ESP32, ESP8266 boards using Ethernet shields W5100, W5200, W5500, ENC28J60 or Teensy 4.1 NativeEthernet. It now supports Ethernet TLS/SSL Client.
EthernetWebServer_SSL_STM32 Simple TLS/SSL Ethernet WebServer, HTTP Client and WebSocket Client library for STM32F/L/H/G/WB/MP1 boards running WebServer using built-in Ethernet LAN8742A, Ethernet LAN8720, W5x00 or ENC28J60 shields. It now supports Ethernet TLS/SSL Client.
EthernetWebServer_STM32 EthernetWebServer_STM32 is a simple Ethernet WebServer, HTTP Client and WebSocket Client library for STM32F/L/H/G/WB/MP1 boards using built-in Ethernet LAN8742A, LAN8720, Ethernet W5x00 or ENC28J60 shields
Ethernet_Manager Simple Ethernet Manager for Teensy, SAM DUE, SAMD21, SAMD51, nRF52, ESP32 (including ESP32-S2), ESP8266, etc. boards, with or without SSL, configuration data saved in ESP8266/ESP32 LittleFS, SPIFFS or EEPROM, nRF52 LittleFS/InternalFS, EEPROM, DueFlashStorage or FlashStorage_SAMD.
Ethernet_Manager_STM32 Simple Ethernet Manager for STM32F/L/H/G/WB/MP1 boards with Ethernet LAN8720, W5x00, ENC28J60 or built-in LAN8742A shields, with or without SSL, configuration data saved in EEPROM. With DoubleResetDetect feature.
FlashStorage_STM32 The FlashStorage_STM32 library aims to provide a convenient way to store and retrieve user's data using the non-volatile flash memory of STM32F/L/H/G/WB/MP1. It's using the buffered read and write to minimize the access to Flash. It now supports writing and reading the whole object, not just byte-and-byte. New STM32 core v2.0.0 is also supported now.
Functional-Vlpp Provides function templates to better support C++ functional programming across platforms.
GSM_Generic Enables GSM/GRPS network connection using the Generic GSM shields/modules. Supporting ESP32 (including ESP32-S2, ESP32-C3), ESP8266, Teensy, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, nRF52, etc. boards.
MDNS_Generic mDNS Library for nRF52, SAMD21, SAMD51, SAM DUE, STM32F/L/H/G/WB/MP1, AVR Mega, etc. boards using Ethernet W5x00
megaAVR_TimerInterrupt This library enables you to use Interrupt from Hardware Timers on an Arduino megaAVR board, such as UNO WiFi Rev2, AVR_NANO_EVERY, etc.
MultiResetDetector_Generic Library to detect a multi reset, using EEPROM, DueFlashStorage, FlashStorage_SAMD, FlashStorage_STM32 or LittleFS/InternalFS. For AVR, Teensy, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, nRF52, etc. boards. Now using efficient FlashStorage_STM32 library and supporting new STM32 core v2.0.0 as well as v1.9.0
MySQL_MariaDB_Generic Connects to MySQL or MariaDB using ESP8266/ESP32, nRF52, SAMD21/SAMD51, STM32F/L/H/G/WB/MP1, Teensy, SAM DUE, Mega, etc. board with W5x00 or ENC28J60 Ethernet or WiFiNINA modules/shields. W5x00 can use Ethernet, EthernetLarge, Ethernet2 or Ethernet3 library. ENC28J60 can use either EthernetENC or UIPEthernet Library
NB_Generic Enables NB-IoT/LTE-M/CAT M1 network connection using the Generic NB-IoT modules (u-blox SARA R4, etc.) and boards
NRF52_MBED_TimerInterrupt This library enables you to use Interrupt from Hardware Timers on an NRF52-based board using mbed-RTOS such as Nano-33-BLE.
NRF52_TimerInterrupt This library enables you to use Interrupt from Hardware Timers on an nRF52-based board
NTPClient_Generic Library for NTPClient to connect to an NTP time-server
SAMD_TimerInterrupt This library enables you to use Interrupt from Hardware Timers on SAMD-based boards such as SAMD21 Nano-33-IoT, Adafruit SAMD51 Itsy-Bitsy M4, SeeedStudio XIAO, Sparkfun SAMD51_MICROMOD, etc.
SAMDUE_TimerInterrupt This library enables you to use Interrupt from Hardware Timers on an SAM-DUE-based board
SinricPro_Generic Library for https://sinric.pro - Simple way to connect your device to Alexa
SmallProjects Small Projects to demonstrate the usage of Khoi Hoang's libraries, such as ISR-based timers for ESP8266, ESP32 and Arduino Mega, Nano, etc.
STM32_TimerInterrupt This library enables you to use Interrupt from Hardware Timers on an STM32-based board
Teensy_TimerInterrupt This library enables you to use Interrupt from Hardware Timers on a Teensy-based board such as Teensy 4.x, 3.x, LC, 2.0, etc.
TimerInterrupt This library enables you to use Interrupt from Hardware Timers on an Arduino, Adafruit or Sparkfun AVR board, such as Nano, UNO, Mega, Leonardo, YUN, Teensy, Feather_32u4, Feather_328P, Pro Micro, etc.
TimerInterrupt_Generic This library enables you to use Interrupt from Hardware Timers on supported Arduino boards such as AVR, Mega-AVR, ESP8266, ESP32, SAMD, SAM DUE, nRF52, STM32F/L/H/G/WB/MP1, Teensy, Nano-33-BLE, etc.
Timezone_Generic Library to facilitate time zone conversions and automatic daylight saving (summer) time adjustments.
UPnP_Generic Automatically add port mappings to router using UPnP SSDP for Arduino boards, running on nRF52, SAMD21/SAMD51, STM32F/L/H/G/WB/MP1, Teensy, etc. besides ESP8266/ESP32, using ESP WiFi, WiFiNINA, Ethernet W5x00, ESP8266/ESP32 AT-command WiFi.
WebSockets2_Generic A WebSocket Server and Client library for Arduino, based on RFC6455, for writing modern Websockets applications. Now support ESP8266, ESP32 (including ESP32-C3; ESP32-S2 Saola, AI-Thinker ESP-12K, etc.), nRF52, SAMD21, SAMD51, SAM DUE, STM32F/L/H/G/WB/MP1, Teensy, etc. boards, with WiFiNINA, Teensy 4.1 NativeEthernet, Ethernet W5x00/ENC28J60/LAN8742A/LAN8720, ESP8266/ESP32-AT modules/shields, as well as SINRIC / Alexa / Google Home. Now with updated SSL CA Certs, Fingerprint and InSecure mode.
WebSockets_Generic RFC6455-based WebSockets Server and Client for Arduino boards, such as nRF52, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, Teensy, SAM DUE, etc. besides ESP8266/ESP32
WiFiManager_Generic_Lite Light-Weight MultiWiFi/Credentials Manager for Teensy, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, nRF52, etc. boards running Generic WiFi (WiFiNINA, WiFi101, ESP8266-AT, ESP32-AT, etc.) modules/shields. Powerful-yet-simple-to-use feature to enable adding dynamic custom parameters.
WiFiManager_NINA_Lite Light-Weight MultiWiFi/Credentials Manager for AVR Mega, Teensy, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, nRF52, etc. boards running u-blox WiFiNINA / WiFi101 modules/shields. Powerful-yet-simple-to-use feature to enable adding dynamic custom parameters.
WiFiNINA_Generic Enables network connection (local and Internet) and WiFiStorage for SAM DUE, SAMD21, SAMD51, Teensy, AVR Mega, STM32F/L/H/G/WB/MP1, nRF52, NINA_B302_ublox, NINA_B112_ublox, etc., in addition to Arduino MKR WiFi 1010, Arduino MKR VIDOR 4000, Arduino UNO WiFi Rev.2 , Nano 33 IoT.
WiFiWebServer Simple WiFi WebServer, HTTP Client and WebSocket Client library for AVR Mega, Teensy, SAM DUE, SAMD21, SAMD51, STM32, nRF52 boards using WiFi modules/shields (WiFiNINA, WiFi101, U-Blox W101, W102, ESP8266/ESP32-AT, etc.), with functions similar to those of ESP8266/ESP32 WebServer libraries.
WIOTerminal_WiFiManager SAMD51 WIO-Terminal MultiWiFi Connection Manager with enhanced GUI and fallback web ConfigPortal