Skip to content

Blynk-Technologies/Blynk-NCP-Driver

Repository files navigation

Blynk.NCP low-level driver

A shared interface to the services provided by Blynk.NCP

version downloads issues ci status license Stand With Ukraine

Blynk.NCP is a solution that off-loads connectivity to a Network Co-Processor (NCP) while your application logic resides on the Primary MCU. This implies a dual-Microcontroller Unit (MCU) architecture.

When to use Blynk.NCP?

Using Blynk.NCP is recommended if one of these is true:

  • You're building a new IoT product with specific requirements for the Primary MCU, and you're adding a separate connectivity module
  • You are using Blynk for retrofitting your existing products
  • You have included an AT command-based module, but you struggle to make it work right or to achieve your product goals
  • You are looking for ridiculously low risks, integration efforts, and time to market, along with improved reliability of your products
Core Features
  • Blynk.Inject: connect your devices easily using Blynk IoT App ( Android, iOS) or 🌐 Web Dashboard
    • BLE-assisted device provisioning for the best end-user experience
    • WiFiAP-based provisioning for devices without BLE support
    • Network Manager: WiFi (up to 16 saved networks), Ethernet, Cellular (depending on the hardware)
    • Advanced network connection troubleshooting
  • Secure Blynk.Cloud connection that provides simple API for:
    • Data transfer with Virtual Pins, reporting Events, and accessing Metadata
    • Time, Timezone and Location with an ability to track local time when the device is offline, including DST transitions
  • Blynk.Air - automatic Over The Air firmware updates using Web Dashboard
    • Both NCP and the Primary MCU firmware updates
    • Direct firmware upgrade using iOS/Android App before device activation
Extra Features

Additional services provided by the Blynk.NCP:

  • ⏳ soon Persistent automation scenarios - work even if the device is offline
  • ⏳ soon Non-volatile storage for the Preferences library
  • ✅ ready NCP-assisted fail-safe OTA updates
  • ✅ ready Connectivity-related device state indication - requires a monochrome/RGB/addressable LED attached to the NCP
  • ✅ ready User button (also used for configuration reset) - requires a momentary push button attached to the NCP
  • ✅ ready Factory testing and provisioning
  • 🤔 later Generic File System storage
  • 🤔 later Generic UDP/TCP/TLS socket API

Minimum System Requirements

C99 compiler | 1KB RAM | 8KB Flash | 38400 8N1 UART

Integrations

Based on this low-level NCP driver, Blynk also provides first class support and examples for multiple platforms.
This includes a reference implementation of NCP initialization, re-initialization, primary MCU OTA updates and other features.

Documentation

Disclaimer

The community edition of Blynk.NCP is available for personal use and evaluation.
If you're interested in using Blynk.NCP for commercial applications, feel free to contact Blynk. Thank you!