The ProductivityOpen P1AM is an automation platform compatible with Productivity1000 Series I/O modules, P1AM Series shields, and Arduino MKR format shields.

P1AM-100: This board uses the SAMD21G18 Microcontroller like the Arduino MKRZERO and other similar boards. It can be programmed in C/C++ using the Arduino IDE.

P1AM-200: This board uses the ATSAMD51P20 Microcontroller like the Adafruit Grand Central M4. It can be programmed in CircuitPython using a compatible text editor like Microsoft VS Code or in C/C++ using the Arduino IDE.

  • To change from programming in CircuitPython to Arduino, simply upload any program to the P1AM-200 using the Arduino IDE.
  • To change from programming in Arduino to CircuitPython, double tap the reset button and drag the .uf2 file into the P1AM200BOOT drive. It will reset and boot into CircuitPython.
  • Arduino Getting Started

    Arduino IDE Setup

    Select the Board and Port

    Select and Upload Blink Program

    P1AM Library Examples and API

    CircuitPython Getting Started

    To program in CircuitPython only a text editor is required. It is recommended to use Microsoft VS Code for programming in CircuitPython. Other supported IDEs can be found here.

    Updating the Board Libraries

    The P1AM-200 arrives will all libraries needed to use the board. However, it is recommended to update the libraries to the latest version.

    The CircuitPython Drive

    CircuitPython boards will enumerate as a USB Mass Storage Device named CIRCUITPY. This drive can be viewed with your operating systems file explorer and files can be opened in any supported text editor.
    Below are some important files and directories and their purpose.

    Serial Console

    CircuitPython boards will enumerate as a USB Serial Device. This can be used to interface with running programs or use the device with the REPL command line.
    Below are some common keyboard commands to interact with the REPL.

    Arduino IDE Setup

    Important Note: This installation process will require an internet connection. If you need an alternative install method for PCs not connected to the internet or with other restrictions, please follow the directions at this link.

    Install the most recent Arduino IDE version 2.x.x or later. Arduino website.

    Install From Library Manager

    Manual Library Install

    Boards Manager Install

    Boards manager link:

    P1AM-100 Driver Installation

    If you are having issues with the USB being discovered or not showing up correctly, installing the device driver may fix the issue.

    • Download the driver installer here.
    • Extract the .zip file to your PC.
    • Unplug any P1AM-100 systems from your PC.
    • Run P1AM-100_install.bat and follow the prompts to install the driver.

    Additional Resources