Skip to content

grodansparadis/vscp-firmware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

484 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Tests Project Status: Active – The project has reached a stable, usable state and is being actively developed.

VCSP Firmware

Last updated: 2026-02-19

VSCP logo

VSCP firmware contains examples for different hardware architectures of how to implement the Very Simple Control Protocol (VSCP, http://www.vscp.org).

Files are organized under hardware architecture with common file folders on each level where common files for vscp (folder /common) and common files for a specific architecture (folder /{arch}/common) reside.

Most important files for implementers are:

  • /common/vscp_firmware.* (for Level I nodes) and
  • /common/vscp_firmware_level2.* (for Level II (and Level I) nodes)

which both implements the VSCP protocol. The first alternative is created for very space limited devices, the second is for devices with more normal resources.

There are also some references to vscp_class.h and vscp_type.h which reside in the vscp_software repository in the path /src/vscp/common. It is preferred to include these files from that second repository (and not to make redundant copies if possible).

Documentation on how to build your own nodes from this code is here

Local module documentation for the helper library is available in docs/vscp-firmware-helper.md. Local module documentation for the VSCP FIFO helper is available in docs/vscp-fifo.md. Local module documentation for the Level I firmware core is available in docs/vscp-firmware.md. Local module documentation for the AES module is available in docs/vscp-aes.md. Local module documentation for the Level II firmware framework is available in docs/vscp-firmware-level2.md. Local module documentation for the VSCP link protocol is available in docs/vscp-link-protocol.md. Local module documentation for serial protocol definitions is available in docs/vscp-serial.md. Local module documentation for the bootloader is available in docs/vscp-bootloader.md. Host-side firmware update flow for bootloader integration is available in docs/vscp-bootloader-host-sequence.md. Reusable VSCP link protocol callback bring-up checklist is available in docs/examples/vscp-link-protocol-callback-checklist.md. Reusable VSCP Level I firmware porting checklist is available in docs/examples/vscp-firmware-porting-checklist.md.

Recent updates

  • Added vscp_fwhlp_parseStringValue behavior notes in docs/vscp-firmware-helper.md, including base-prefix handling (0x, 0, 0b) and endptr token parsing semantics.

CI

The main reference implementations for VSCP over CAN is the Paris and the Kelvin modules. Both can found here along with other open source products. All modules are available as ready made modules, bare pcb's and software and hardware is and will always be fully open and free. All design documents are open and available.

License

The whole source code is published under the MIT license. Consider the different licenses of possible third party libraries too!

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed as above, without any additional terms or conditions.

Copyright 2000-2026 Ake Hedman akhe@grodansparadis.com, Grodans Paradis AB

About

Firmware for the VSCP project

Topics

Resources

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors