I don't have a sound board, but I had a similar issue with my adafruit camera.
I solved this by using one of the hardware serials available on the Due.
A similar approach might work for your sound board.
camera on Serial3 (on Due 14, 15)
and initialized it as
Due_VC0706 cam = Due_VC0706(&Serial3);
I had to modify the library
1) I made a copy of the library - calling it DueVC0706 and renaming the h file and cpp file .
Then edited the VC07060.cpp as follows:
(Note there might be multiple references to softserial and all have to be changed.)
old file
#include "Adafruit_VC0706.h"
// Initialization code used by all constructor types
void Adafruit_VC0706::common_init(void) {
swSerial = NULL;
hwSerial = NULL;
frameptr = 0;
bufferLen = 0;
serialNum = 0;
}
// Constructor when using SoftwareSerial or NewSoftSerial
#if ARDUINO >= 100
Adafruit_VC0706::Adafruit_VC0706(SoftwareSerial *ser) {
#else
Adafruit_VC0706::Adafruit_VC0706(NewSoftSerial *ser) {
#endif
common_init(); // Set everything to common state, then...
swSerial = ser; // ...override swSerial with value passed.
}
// Constructor when using HardwareSerial
Adafruit_VC0706::Adafruit_VC0706(HardwareSerial *ser) {
common_init(); // Set everything to common state, then...
hwSerial = ser; // ...override hwSerial with value passed.
}
and changed it to: (Also block changed all reference to Adafrui_VC0706 to Due_VC0706)
#include "Due_VC0706.h"
// Initialization code used by all constructor types
void Due_VC0706::common_init(void)
{
hwSerial = NULL;
frameptr = 0;
bufferLen = 0;
serialNum = 0;
}
// Constructor when using HardwareSerial
Due_VC0706::Due_VC0706(HardwareSerial *ser)
{
common_init(); // Set everything to common state, then...
hwSerial = ser; // ...override hwSerial with value passed.
}
Then edited the VC0706.h file as follows:
portion of old file
class Adafruit_VC0706 {
public:
#if ARDUINO >= 100
Adafruit_VC0706(SoftwareSerial *ser); // Constructor when using SoftwareSerial
#else
Adafruit_VC0706(NewSoftSerial *ser); // Constructor when using NewSoftSerial
#endif
Adafruit_VC0706(HardwareSerial *ser); // Constructor when using HardwareSerial
changed to
class Due_VC0706 {
public:
Due_VC0706(HardwareSerial *ser); // Constructor when using HardwareSerial