Demand Peripherals     Robotics and Automation Made Easy

Robotics and Automation Made Easy

The Demand Peripherals peripherals and interface cards make it easy to build a Linux based robot or other automation. Our key difference is that our system is complete. That is, it includes the hardware, firmware, and API software so your Linux application can directly control the peripherals. No more buying cards from SparkFun or Adafruit and having to write all of the software layers up to your application.

The API is ASCII commands over a TCP connection. This means you can write your Linux application in almost any programming language: C, C++, Java, Perl, PHP, or Python. We even have BASH wrappers around the commands so you can program or test your automation from the commands line.


A Customer Defined Robot Controller

An FPGA is at the core of the Demand Peripherals system. An FPGA's flexibility means that we don't have to determine which peripherals to put on your controller, You do!

The FPGA card has four connectors that can connect to eight interface cards. Connect the interface cards, load the FPGA image, start the API daemon, and you're set to go. Select your interface cards from the list here, and select the peripherals to control those cards from the list here.

The picture to the right shows a Baseboard4 FPGA card, a six digit LCD, card, and a quad relay card. A Y-cable connects the two cards to one connector on the FPGA card. A set of four Y-cables is included with the Baseboard4.

For Hobbyists

KBot by Keithen Hayenga
Almost a defining characteristic of a hobby robot is that it is constantly changing. One week you want a text LCD for output and the next week you want RGB LEDs. The Demand Peripherals FPGA based robot controller is ideal for hobbists since it so easy to swap one periheral for another or swap one interface card for another.

Changing peripherals is easy. Just go to the support page Build Your FPGA Image, select your new periperal set, tell us where to email the FPGA image and press Submit. The email address associated with your purchase of the FPGA card gives you access to the backend service that builds FPGA images. There is no limit on how many FPGA images you can request.

For Industry

Demand Peripherals can dramatically improve your time-to-market for new robots or other automation since there is no MCU code to write and interface card schematics are open-source.

The design cycle for building a microcontroller based robot is eight to twelve months just to get to the point that you can start writing the high-level Linux application. The problem is that you usually have to start from scratch for the circuit design and all of the MCU code.

A typical workflow when using Demand Peripherals is to build a prototype using our off-the-shelf cards. This prototype will be API complete and ready for use by the high level application programmers. Once the application is underway on the prototype hardware you can have your electrical engineers collect the DPI schematics and arrange them on one board and start the board layout and fabrication. The advantage in this approach is there is no MCU firware to write and you can have an API complete prototype in a week.

Buying a Baseboard4 FPGA card gives you a license to use an FPGA image on Baseboard4. However when building your own FPGA card you will need to purchase a license to use the peripherals in a Demand Peripherals FPGA image. This license costs seventy-five hundred dollars and includes the following:
      - Ability to distribute the FPGA image
      - Non Creative Commons use of the schematics
      - Non GPL use of the dpserver source code
      - License for the patent pending circuit of the ESPI
      - Five hours of telephone support

Need help with the schematic capture and board layout? Let us know. Demand Peripherals can help build your prototypes.


For More Information ...

A detailed description of the system operation and architecture can be found here.

A list of the peripherals and their descriptions can be found here.

A list of interface cards can be found here.

A complete description of the API can be found here.

You can specify and build a custom FPGA image with your selection of peripherals here.


FPGA Defined Peripherals
User Interface
FPGA Configuration
FPGA Buttons & LEDs
Text LCD and Keypad
Quad WS2812 Interface
Quad Slide Pot
Tone Generator
IR Recv/Xmit
6 Digit LCD
RC Decoder
Keyfob RF Decoder
Rotary Encoder Interface
Motion Control
Dual DC Motor Controller
Dual Quadrature Decoder
Quad 13 Bit Servo
Bipolar Stepper Controller
Unipolar Stepper Controller
Simple Input / Output
Quad Binary Output
Quad Binary Input
Octal Input/Output
32 Channel Binary Output
32 Channel Binary Input
Octal 12-bit ADC
Quad Ping))) Interface
Octal SRF04 Interface
Quad Event Counter
Generic I2C
Generic SPI
Octal 8-Bit DAC
Quad Digital Potentiometer
Quad PWM Output
Quad PWM Input
4 Bit Pattern Generator
Real Time Clock
Dual Watchdog Timers

Interface Cards
User Interface
Audio Amplifier
IR Recv/xmit
Six Digit LCD Display
Keyfob RF Receiver
Rotary Encoder
Quad Switch Card
Text LCD / keypad
Quad Slide Pot
Motion Control
Dual 7-amp H-bridge
Quad Open Drain Driver
Quad 10 Amp Relay Card
Input / Output
Octal 8-Bit DAC
Quad Digital Potentiometer
Octal 12-bit ADC
Octal SRF04
Generic I2C
Generic SPI
USB 2.0 Hub
Real Time Clock
Slot Expander
Octal Input/Output
32 Channel Input
32 Channel Output
Power Distribution Card
15 Amp Power Distribution
5 Volt Switching Regulator
ATX Power Break-Out Card
Disk Drive Power Break-Out
MP43 Aluminum Mounting Plate
WW2 Prototyping Card
WW1 Small Prototyping Card