User Tools

Site Tools


digix:tutorials:basics

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
digix:tutorials:basics [2013/09/07 01:53]
digistump
digix:tutorials:basics [2014/03/14 22:57] (current)
digistump
Line 4: Line 4:
  
 Otherwise - Here is a great getting started guide that applies to the DigiX just as well: http://​arduino.cc/​en/​Guide/​ArduinoDue 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 [[wifi#​tips|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:** **Tips:**
  
-If the COM port isn't showing in the Arduino IDE - unplug and replug the board. If that doesn'​t work - unplug, hold down the erase button on the board for a moment and then 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.+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:
  
 +<​code>​
 +  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);​
 +  }
 +</​code>​
 +
 +
 +**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:** **Differences when using the //​modified//​ Arduino IDE:**
Line 18: Line 46:
   - Pin numbers on the board are the pin numbers for the IDE.   - Pin numbers on the board are the pin numbers for the IDE.
   - Flip over your board for alternative functions for the pins. All pins are usable though 110-113 have 10k pull ups (and can be used for JTAG) on them and 104,105 are connected to the WiFi module for (optional) hardware flow control. Those pins can be disconnected from the WiFi module using the solder jumpers on the bottom (by cutting the trace between the jumpers).   - Flip over your board for alternative functions for the pins. All pins are usable though 110-113 have 10k pull ups (and can be used for JTAG) on them and 104,105 are connected to the WiFi module for (optional) hardware flow control. Those pins can be disconnected from the WiFi module using the solder jumpers on the bottom (by cutting the trace between the jumpers).
-  - Pin 106 can be tied to WiFi reset is desired by the solder jumper on the back.+  - Pin 106 can be tied to WiFi reset if desired by the solder jumper on the back.
   - Pins 52 (CSN) and 53 (CE) are shared with the nRF24L01+ module - remove the module to use them for other things.   - Pins 52 (CSN) and 53 (CE) are shared with the nRF24L01+ module - remove the module to use them for other things.
   - Pin 51 can be tied to the nRF module'​s IRQ line by the solder jumper on the back.   - Pin 51 can be tied to the nRF module'​s IRQ line by the solder jumper on the back.
Line 34: Line 62:
   - The "​Arduino Due (Programming Port)" option does not work, as the DigiX only has one USB interface.   - The "​Arduino Due (Programming Port)" option does not work, as the DigiX only has one USB interface.
   - Pins 90-113 are not usable.   - Pins 90-113 are not usable.
 +
 +====== Additional Documents ======
 +
 +  * Schematic: http://​digispark.s3.amazonaws.com/​DigiX-V1-Final-Production.pdf
 +  * Main MCU data sheet: http://​www.atmel.com/​Images/​doc11057.pdf
 +  * EEPROM Datasheet: http://​ww1.microchip.com/​downloads/​en/​DeviceDoc/​21713M.pdf
 +  * Wifi Info: [[digix:​tutorials:​wifi|Setting up the WiFi connection (first time use/new location):​]]
 +  * Mesh info: [[digix:​tutorials:​mesh|]]
digix/tutorials/basics.1378543994.txt.gz · Last modified: 2013/09/07 01:53 by digistump