© Copyright 2012 by Al Williams ( Find out more at Distributed under the terms of the GNU General Public License


This file is part of GP3/Arduino.

GP3/Arduino is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <>.


The GP3/Arduino is a coprocessor for the Arduino that adds additional analog and digital I/O easily via two Arduino pins. It works with the SoftwareSerial device or any other Stream-based serial port

There are two versions of this library. GP3 uses the SoftwareSerial library directly or you can provide a port object using any compatible library. To use, import as usual. You also need to import SoftwareSerial.h at the top of your sketch using and include statement.

Construct a GP3 object with the receive and transmit pins you want to use and you are ready to go.

The other version (GP3PORT) does not include SoftwareSerial which should make your sketches smaller if you are using a different port library. However, then you must provide a port object. The regular GP3 library will work either way GP3PORT only works with a port object you supply (even if it is a SoftwareSerial port).

 All Classes Files Functions Defines