Main Content

Device Driver Blocks

Create a device driver block to access specific features of your hardware board

A device driver block is a specialized form of the MATLAB System block that generates custom C/C++ device driver code when deployed to an Arduino® hardware board. Device driver blocks provide users easy access to hardware board features, such as communication protocols or hardware libraries, not available in the Simulink Support Package for Arduino Hardware.

You can develop a device driver block from a template System object™ and then share the completed blocks with other users.


arduino.supportpkg.getAVRLibraryRootGet Arduino AVR library root directory path
arduino.supportpkg.getAVRRootGet Arduino AVR file root path
arduino.supportpkg.getBoardInfoGet properties of Arduino board in active Simulink model
arduino.supportpkg.getIDERootGet Arduino IDE file root path
arduino.supportpkg.getLibraryRootGet Arduino library root directory path
arduino.supportpkg.getSAMDLibraryRootGet Arduino SAMD library root directory path
arduino.supportpkg.getSAMDRootGet Arduino SAMD file root path
arduino.supportpkg.getSAMLibraryRootGet Arduino SAM library root directory path
arduino.supportpkg.getSAMRootGet Arduino SAM file root path


Prerequisites for Developing Device Driver Blocks

Learn the system requirements and recommended skills to develop device driver blocks for Arduino hardware boards.

Structure of Device Driver System Object

Understand the concepts and operation of device driver blocks implemented using System object.

Create a Digital Write Block

Create a Digital Write block using a System object.

Create a Digital Read Block

Create a Digital Read block using a System object.

Block Mask

Create block masks for your device driver blocks.

Create Custom Device Driver Block for Arduino Library

Create a custom device driver block for Arduino hardware.

Simulation with Device Driver Blocks

Choose and implement a data simulation mode for device driver blocks.

Sharing Device Driver Blocks with Other Users

Package and distribute your device driver blocks.

Measure Servo Motor Shaft Angle Using a Device Driver Block in Connected I/O

A guide to enable Connected I/O on a Simulink® system object block that contains hardware specific code allowing access to hardware specific features.