Inspirel banner

YAMI4 on Arduino Due

Arduino Due

Arduino Due is an extremely capable prototyping board with the ARM Cortex-M3 microcontroller.

Thanks to the consistent programming environment prepared by the Arduino team, the Due board is software-compatible withe the basic Arduino Uno - and we already know that YAMI4 works on Arduino Uno.

In other words, you can rely on all the tips and guidance that was prepared for the Uno and benefit from better performance, computing and I/O capability that is offered by the ARM-based Due board. In fact, the same programming environment (the Arduino IDE, version 1.5.8 or better) can be used to program both Uno and Due with a single installation of the YAMI4 library. See the instructions on how to install and use YAMI4 with the Arduino Uno board.

Memory tuning

The Arduino Due has a lot more memory than Uno and for this reason there is no need to tune the library with the same constraints in mind. The tuning constants are defined in the YAMI4.h header file:

/* max size of output message payload */
#define MAX_OUTGOING_MESSAGE_PAYLOAD 250u

/* max size of input message payload */
#define MAX_INCOMING_MESSAGE_PAYLOAD 250u

It is possible to handle much bigger messages than this, so you might want to change these values. Note, however, that since this variant of the YAMI4 library uses only UDP communication, the packets will never be bigger than the maximum size of the UDP packet anyway - for this reason the optimal value will be something around 512 bytes for both incoming and outgoing buffers.

Note that it might be necessary to completely reinstall the YAMI4 library after modifying these values as the IDE tends to reuse the already compiled library files.

Stay tuned for descriptions on how to use YAMI4 on other single board devices.