Ayuda con código proyecto Arduino Dmx

Hola, estoy intentando subir un código a una placa Arduino Nano, es un proyecto que supuestamente funciona ya que está todo bien detallado, esquemas, circuito, código, pero me da un error. A la hora de subir el código creo que tengo todo bien seleccionando, la placa y el puerto, he probado a subir otro código ejemplo y si que lo hace.
En la página donde descargué el código también viene la librería hardwareserial.cpp pero no sé donde instalarla, he probado a meter el archivo cpp en /Users/macuser/Documents/Arduino/libraries/HardwareSerial pero me dice que la librería encontrada es erronea, y he visto que la manera de instalarla sería mediante el sketch en un zip pero solo tengo el archivo cpp,
He probado en Mac, metiendo el código .cpp en la carpeta de la foto que adjunto.
He probado en windows y el .cpp lo pongo dentro de la carpeta de arduino librería, creo una carpeta que se
llama Hardwareserial y lo meto dentro pero me sigue dando error.
Aquí está toda la información junto al código:

y este es el error que me da:

Arduino:1.8.1 (Mac OS X), TD: 1.35, Tarjeta:"Arduino Nano, ATmega328"
HardwareSerial0.cpp.o (symbol from plugin): In function `Serial':
(.text+0x0): multiple definition of `__vector_18'
sketch/DMX_servo_v1_0.pde.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2: error: ld returned 1 exit status
exit status 1
Error compilación en tarjeta Arduino Nano.
Este reporte podría tener más información con
"Mostrar salida detallada durante la compilación"
opción habilitada en Archivo -> Preferencias.

Alguien me puede echar una mano?
Muchas gracias.

http://forum.arduino.cc/index.php?action=dlattach;topic=498383.0;attach=224748