Multitech xDot Blinky ==== [xDot](https://www.multitech.com/brands/multiconnect-xdot) is a low-power RF module, that provides long-range, low bit rate M2M data connectivity to sensors, industrial equipment and remote appliances. This is well suited for IoT applications using LoRaWAN protocol. # Prerequisites 1. MacOS 1. [xDot Micro Development Kit](https://www.multitech.com/brands/multiconnect-xdot) 2. [CLion](https://www.jetbrains.com/clion/download/#section=mac) (optional) # System packages 1. `brew update` 1. `brew install git mercurial` 1. `sudo easy_install pip` 1. `sudo pip install virtualenv` 1. `sudo pip install multitech_dot_flash` > For more details about the custom ARM Mbed Multitech xDot and mDot flash utils checkout [this repo](https://github.com/sensidev/multitech-dot-flash). # Setup Mbed offline compiler Check out the [Arm Mbed tools docs](https://os.mbed.com/docs/v5.7/tools/index.html) ## Install Arm Compiler 5 1. `brew tap PX4/homebrew-px4` 2. `brew update` 3. `brew install gcc-arm-none-eabi-49` > Related gist https://gist.github.com/joegoggins/7763637 ## Clone the github repo 1. `git clone git@github.com:sensidev/xdot-blinky.git` 2. `cd xdot-blinky` ## Install Mbed python packages & deploy 1. `virtualenv ../virtualenv` 2. `source ../virtualenv/bin/activate` 3. `pip install mbed-cli` 3. `pip install -r mbed-os/requirements.txt` 4. `mbed-cli deploy` > pip packages and mbed deploy are already part of the `flashit` script. # Flash the xDot 1. Plug the xDot Micro Development Kit board into an USB port. 2. Connect to the serial port with `screen /dev/cu.usbmodem1423122 115200` 2. Open another terminal tab. 3. Compile and flash the binary with `flashit -t=xdot` 3. Wait until the "Flashing XDOT device for xdot_l151cc target" message appears. 4. Check the heavy blinking led indicating the flashing procedure on xDot board. 5. After it's finished, press the reset button from the xDot board. 6. Notice the blinking led on the xDot board at half a second intervals. 7. Notice the logs from `screen` terminal tab, indicating the light level in (lux) read from the ISL29011 sensor every half a second. # Other Examples 1. https://github.com/sensidev/mdot-max44009 # Useful resources 1. https://github.com/ARMmbed/mbed-cli 2. https://os.mbed.com/platforms/MTS-xDot-L151CC/ 3. https://os.mbed.com/platforms/MTS-mDot-F411/ 4. https://stackoverflow.com/questions/46245738/in-clion-header-only-library-file-does-not-belong-to-any-project-target-code