Demand Peripherals     Robotics and Automation Made Easy

Contributing Code

pcdaemon: Pcdaemon is the user-space daemon that provides an intuitive API for devices and services connected to your automation system. It can control the peripherals in an FPGA with pccore loaded, and can even has a "peripheral" for client connection to an Internet Relay Chat server.

The core of pcdaemon and all of the Peripheral Control plug-in modules ("user space drivers") are released under the GNU Public License Version 2. We welcome new plug-in modules and bug fixes and will pull them into the pcdaemon git repository after a little testing.

The contributor retains copyright and full attribution is always given. Note that plug-in modules are used as shared-object files and are not statically linked to the pcdaemon server. This means you can release them under a license other than GPLV2 if you wish. Please contact for more information.


Peripheral Control Verilog Peripherals: Demand Peripherals is what Wikipedia calls a "single-vendor commercial open source" company. As such we must retain copyright for our Verilog code and we can not accept Verilog code sent to us without a contract.

While bug reports and feature requests are the best way to help you do have a couple of choices if you want to add your Verilog code to our code base. We suggest you donate patches or minor pieces of code directly to Demand Peripherals. A form for this is available here.

Since Demand Peripherals charges for commercial licenses it seems entirely fair that we should pay for contributed Verilog peripherals. The contributed code has to be complete and tested and at least six instances of the peripheral must fit in a pccore built for a Spartan 3E-100. The standard payment for peripherals meeting these requirements is two thousand dollars, to be paid on the first use of the peripheral in a commercial license issued within two years of the contribution. The contract for paid contributed code is available here.

Please see the forums for ideas on peripherals we would like to acquire.


Hardware Design: Hardware design include FPGA cards, peripheral cards, utility cards, and prototyping cards.>/p>

Contributed designs can use Eagle or KiCad, retain full copyright of the contributor, and do not need to be licensed under the Creative Commons license that Demand Peripherals uses. We may ask that you send a working prototype of the card for our testing. We typically send the card back after testing is complete.

Please see the forums for new card ideas.