Very Simple Control Protocol
An open and free framework/protocol for IoT/m2m automation tasks.

About VSCP

VSCP stands for Very Simple Control Protocol. The word "Protocol" may be misleading. VSCP is much more and should probably be called a framework instead. VSCP is a highly scalable, a very low footprint, a free and open solution for

  • Device discovery and identification.
  • Device configuration.
  • Autonomous device functionality.
  • Secure update of device firmware
  • A solution from sensor to UI

Just as HTML is for browsing the Internet, VSCP is an application level protocol making things interact. It uses CAN, RS-232, Ethernet, TCP/IP, MQTT, 6LowPan or whatever as it's transport mechanism and work over cable and over the air.


VSCP documentation portal 

There is plenty of documentation available for VSCP & friends.

The VSCP Specification describe and define all parts of VSCP, use it as your main reference.

The VSCP daemon document describes the daemon (server) which can be used on pc's running Windows or Linux and on smaller devices like the Raspberry Pi, Beaglebone Black, Carambola etc.

The VSCP Firmware document describes the official VSCP firmware and how to use it to build a hardware device. The VSCP L1 framework is a variant.

The VSCP helper library describes the C library available on Windows/Linux which export functionality that makes it easier to build higher level VSCP communication code.

VSCP Works is a general and diagnostic graphic tool that can be used to discover nodes, configure nodes, update firmware of nodes and a lot more.

VSCP documentation portal 

Download VSCP

Below is code/binaries for VSCP & Friends.

Servers, libraries and utilities
vscp daemon (vscpd) repository releases
vscp helper lib repository releases
vscpworks repository releases

Level I Drivers
vscpl1drv-logger repository releases
vscpl1drv-can4vscp repository releases
vscpl1drv-socketcan repository releases
vscpl1drv-zanthic repository releases
vscpl1drv--vectorxl repository releases
vscpl1drv-vector repository releases
vscpl1drv-usb2can repository releases
vscpl1drv-tellstick repository releases
vscpl1drv-template repository releases
vscpl1drv-syslog repository releases
vscpl1drv-serial repository releases
vscpl1drv-rs485 repository releases
vscpl1drv-proximity repository releases
vscpl1drv-lincan repository releases
vscpl1drv-peak repository releases
vscpl1drv-ixxatvc2 repository releases
vscpl1drv-ccs repository releases
vscpl1drv-apox repository releases
vscpl1drv-lirc repository releases
vscpl1drv-can232 repository releases

Level II Drivers
vscpl2drv-logger repository releases
vscpl2drv-automation repository releases
vscpl2drv-socketcan repository releases
vscpl2drv-mqtt repository releases
vscpl2drv-tcpiplink repository releases
vscpl2drv-table repository releases
vscpl2drv-dm repository releases
vscpl2drv-variable repository releases
vscpl2drv-udp repository releases
vscpl2drv-sim repository releases
vscpl2drv-rpimax6675 repository releases
vscpl2drv-rpilcd repository releases
vscpl2drv-raweth repository releases
vscpl2drv-parallel repository releases
vscpl2drv-lmsensors repository releases
vscpl2drv-btdetect repository releases
vscpl2drv-wire1 repository releases
vscpl2drv-template repository releases

Javascript and web utils/libs
vscp-js repository releases
vscp-ux repository releases
vscp-mv repository releases

node.js utils/libs
node-vscp repository npmjs
node-vscp-class repository npmjs
node-vscp-type repository npmjs
node-vscp-tcp repository npmjs
node-canal repository npmjs
node-float-helpers repository npmjs

node-red nodes
node-red-contrib-socketcan repository node-red libs.
node-red-contrib-vscp repository node-red libs.
node-red-contrib-canal repository node-red libs.
node-red-contrib-vscp-tcp repository node-red libs.

Python utils/libs
pyvscpclasses repository releases
pyvscptypes repository releases
pyvscp repository releases
pyvscphelper repository releases
vscp-python-send-heartbeat repository releases
vscp-python-send-file-measurement repository releases
vscp-python-p1-power-meter repository releases
vscp-python-sensor-bme680 repository releases
vscp-python-digitemp repository releases
vscp-python-send-veml6070 repository releases
vscp-python-send-bh1750 repository releases
vscp-python-sensorpuck repository releases

Third party firmware/software
vscp-framework by Andreas Merkle repository releases
vscp-arduino by Andreas Merkle repository releases
vscp-cli-tools by Andreas Merkle repository releases
UiMagician (UI creator) by Dinesh Guleria repository releases
uvscpd by Maarten Zanders repository releases
swali by Maarten Zanders repository releases

vscp-firmware repository releases
Kelvin NTC10KA module repository home page
Paris module repository home page
can4vscp_frankfurt_rs232 repository home page
can4vscp_kelvin_1wire repository home page
can4vscp_sanfrancisco_barometer repository home page
can4vscp_vilnius repository home page
can4vscp_beijing repository home page
can4vscp_accra repository home page
can4vscp_humidity repository home page
can4vscp_odessa repository home page
can4vscp_frankfurt_gprs repository home page
can4vscp_newyork_lcd_display_controller repository home page
can4vscp_frankfurt_eth repository home page
can4vscp_frankfurt_ble repository home page

Step by step instructions on how to set up the system on different platforms is here.

If you want to develop your own VSCP hardware modules you can find firmware code and samples here. The Kelvin and the Paris modules are the main reference code for hardware developers. This is Microchip PIC18 based code but mostly general so it can be used as a starting point for other architectures as well. You find reference code for other processors in the firmware repository.


VSCP hardware is intelligent devices that implement the VSCP mechanism for discovery, device configuration and firmware update. As VSCP is an application level protocol this can be CAN-based, RS-232 based, Ethernet-based, Wifi-based or whatever based devices.

There is a lot of devices developed by the community and for most schema and firmware source is available. Grodans Paradis AB and Rusoku Technologies is currently the two sources for commercial modules.

Grodans Paradis AB  Rusoku Technologies