(Improvements, tips, more basics, etc are welcome here!)
What follows is a list of tips and differences for using the DigiX vs using the Arduino Due - for most users we've set everything up (if you're using our modified IDE) so it will work how you expect - but if you have questions about pin assignments, serial ports, etc - here are some answers.
Otherwise - Here is a great getting started guide that applies to the DigiX just as well: http://arduino.cc/en/Guide/ArduinoDue
Buttons:
The DigiX comes with two hardware buttons:
RESET speaks for itself, and is equivalent to the RESET button found on other Arduino boards. Note that this button will NOT reset the Wifi module. It this is what you need, it can be achieved in a few different ways, please refer to this page.
ERASE does a full erase of the MCU's program space flash memory - leaving only the read-only USB bootloader - which makes the port show up as a Bossa Programming Port - but it can be programmed from the IDE just the same.
The reason for it is that the regular DigiX bootloader runs in program space, so if your program crashes (overrun, 100% cpu, etc) it won't be able to be reprogrammed - you can then hit erase (and then reset) to go back to the read only bootloader, program, and be back in the game.
Tips:
If the COM port isn't showing in the Arduino IDE - unplug and replug the board. If that doesn't work - while plugged in, hold down the erase button on the board for a moment and then unplug and replug - you may then have to select it from the com port menu as it may be on a different port - but it is a sure way to get it to respond even if your sketch crashed the USB stack.
Since the DigiX has only one USB port and it uses a CDC serial stack the DigiX does not reset when the port is opened, using the code below in setup() can pause the sketch until you connect and send a character from the serial monitor:
Serial.begin(9600); //DigiX trick - since we are on serial over USB wait for character to be entered in serial terminal before continuing while(!Serial.available()){ Serial.println("Enter any key to begin"); delay(1000); }
Watchdog/WDT vs Standard DigiX in board menu
The watchdog version is setup to allow the watchdog timer to work. If you don't want to use a watchdog timer or don't know what one is then use the standard version, otherwise your board will keep restarting.
If you want to use the watchdog timer here is a great example and post about it: http://digistump.com/board/index.php/topic,1356.msg6174.html#msg6174
Differences when using the modified Arduino IDE:
If you have installed the DigiX additions to the Arduino IDE (either in the form of the Digistump version of the IDE or the add-on files) and you use the “DigiX” board option to program your DigiX then you should be aware of the following differences:
Differences when using the unmodified Arduino IDE:
If you have not installed the DigiX additions to the Arduino IDE (either in the form of the Digistump version of the IDE or the add-on files) and you use the “Arduino Due (Native Port)” option to program your DigiX then the following differences need to be taken into account: