Category Archives: State of things

State of #VSCP

It’ been quiet on all VSCP fronts for a while.  Well VSCP is anyway probably the least written about project in the world in relation to time alive and efforts put into it. And that is OK as long as things move forward (and they do – slowly).

We approach 18 years of VSCP now in August. I never could see that coming when I started this project.  I think I have worked almost daily during this time on the project. Crazy if you think about it.

A lot of other projects has emerged (and died) now with the buzz of IoT.  It’s a bit like waves of knowledge coming to people unused to embedded development who never ask questions to people that has been into embedded development for ages. First everything  should connect to the cloud, then people realised that that was not the best solution, it was impossible to realize actually,  border routers was introduced, we called them (home) gateways before, then web standards where abandoned for binary protocols and so on. Soon someone will realize that things will we both wireless and connected with cables and that small devices really have limited resources and then we probably end up in something like what VSCP has been about all the time. Well, it’s the way things work in our industry. Hype, hype, hype. Happy, happy, sad.

Here is the current state.


OK VSCP. Changes has been made to the VSCP daemon. The mongoose tcp/ip code is on the way out and is replaced with some code derived from the Civetweb project.  A fun thing is that this derived code is also the ancestor to the Mongoose code to. Good thing is that now all the VSCP Daemon code will be MIT licensed.  Freedom for you.

The derived code is published as a separate project sockettcp (still needs to be documented) and this is code that makes it easy to code tcp clients/servers that use TSL/SSL or unsecure connections. Works on Windows and Linux.

The VSCP Daemon tcp/ip interface will therefore be fully TLS/SSL from the next version.

Encryption will also be introduced in another layer to both the winsock and the tcp/ip interfaces. Much like what is available today in the multicast and UDP interfaces. This makes it possible for clients that don’t have the ower to use full TSL/SSL to still implement secure connections.

VSCP Daemon

Yes I changed the name to “VSCP Server” for a while. Just like “VSCP Dameon” better. so I changed back. Probably will use the term  “Border Router” for this piece of software more in the future.


Most if the documentation (still some work left to do on VSCP Works) has now been moved to Markdown and is available on Gitbook (old paths work). Docs are licensed under Creative Commons BY 4.0 now. Search and pdf/ebook availabilities is the good things that come with this change. Source for the docs are available on Github (vscp-doc-….) and it is now easy to post corrections and changes as for all Git projects.


To add classes and types has been something that has been getting harder and harder over time. The defines for them are all over the place. A change/addition means editing all these places. This has been changed now so all files are auto-generated including the class/type part of the VSCP spec. JSON/XML/sql… and other formats will be available soon for dynamic downloads.

Well there is a lot more changes in the code and it will all be included in the next release that will be available later this summer.


VSCP will use the snap package system. Easy install. Easy use. Debian packages is still in the pipeline to.


I will not ask directly for help here any more. It’s been a useless question to ask all times I tried (many now… 😉 ). That is OK.  If you been hanging around the project you know you are welcome to contribute. The ever growing todo list is here.

That’s all for now. Midsummer here tomorrow.  A day without any VSCP related work all together.

Have fun!

State of #VSCP “things”

Time for a status report again.

My hope was to have a LTS release ready before the summer but I never reached that point.  But things are what they are. There are mainly two reasons for the delay. First I don’t want to rush some big changes in the core structure that force me to do incompatible updates later with code needed for update paths. This mostly relate to the database. Next I want to move as much of the code as possible to MIT licensed which means I have to remove and rewrite some stuff.   Hopefully something will be available soon after the summer.

The multicast channel support is now fully implemented.  This means one can set up groups on the VSCP multichannel group that act as subnets using a specific port.  AES128/AES192/AES256 encryption is available. The multicast announce is also fully in place now. Python and c/c++ samples available.

A  new UDP interface has been implemented. Also here are AES128/AES192 and AES256 encryption available. Python and c/c++ samples available.

Support classes for encryption and frame packaging has been added to the vscphelper lib to make it easier to handle this new functionality.

pyvscp is a pip installable Python module that add VSCP functionality to Python. The main interfaces is in place but more will come and also more documentation. It’s very easy to interface the VSCP server and VSCP with this module. I personally love it.

The libvscphelper library is now packaged as a deb as the first component that will be available on this form. It is needed to be installed to use most of the functionality of pyvscp.  VSCP Works and the vscp server till also be packed in their own deb’s for easy installation.

node.js bindings installable with npm is next and I know there is c# bindings brewing also. Probably have to dig into Java soon also if someone does not volunteer for that job.

A lot of other this to have hap-end of course.

Now I will go on a four-week leave. I am not used to that long vacations and right now I don’t actually know how to survive such a long time without coding. But I have promised my wife to try to to be honest I probably need it. I will check mail occasionally though but wil probably not answer mails on a daily basis.

So all friends out there. Have fun!