Connects and buttons:
MCU controlled LEDs:
DWM1000 controlled LEDs:
The node can be used as:
To configure the node connect it to a computer (I will assume a computer running linux but it should work on mac and windows as well). The node will be recognised as a serial port. The name of the serial port can be found with dmesg:
$ dmesg [ .... ] [22942.980255] usb 3-2: new full-speed USB device number 13 using xhci_hcd [22943.109845] usb 3-2: New USB device found, idVendor=0483, idProduct=5740 [22943.109852] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [22943.109855] usb 3-2: Product: Loco Positioning Node [22943.109858] usb 3-2: Manufacturer: Bitcraze AB [22943.109861] usb 3-2: SerialNumber: 1C0030000F51485336373420 [22943.110697] cdc_acm 3-2:1.0: ttyACM3: USB ACM device $
The serial port can be open with your favorite serial console, picocom:
$ picocom /dev/ttyACM3
The node will print startup messages:
==================== SYSTEM : CPU-ID: 1c0030000f51485336373420 TEST : Initializing pressure sensor ... [OK] TEST : Pressure sensor self-test ... [OK] TEST : EEPROM self-test ... [OK] TEST : Initialize DWM1000 ... [OK] CONFIG : EEPROM configuration read and verified CONFIG : Address is 0x1 CONFIG : Mode is Anchor CONFIG : Tag mode anchor list (6): 0x01 0x02 0x03 0x04 0x05 0x06 SYSTEM : Node started ... SYSTEM : Press 'h' for help.
You can type h for help:
Help ------------------- 0-9 - set address a - anchor mode t - tag mode s - sniffer mode d - reset configuration h - This help
All settings will take effect after reset. they are saved in an I2C EEPROM onboard. 'd' allows to erase this memory in case it would be corrupted.
Building and flashing is described in the repository. It is possible to flash the board both using SWD and DFU.
To make the project type:
When developing on the node you will want to flash with an SWD debuger as it is faster and allow for debugging the code. The project is configured by default to use StLink-V2 but it can use any debugger compatible with OpenOCD. To flash with SWD type:
For just flashing the latest version or for ocasional development flashing via DFU is good enough and does not required any additional hardware. Flashing via DFU requires dfu-utils (>=0.8) and Python (>=2.7). To enter DFU mode hold down the DFU button (see 6 above) while power on or resetting the board. To flash the firmware via DFU type:
Schematic of the Loco Positioning Node: loco_node_revd.pdf.