Thursday 7 January 2021

Montana: Granite Software resources installed

In order to develop the Montana Granite Litems, a set of software resources are needed. Specifically, for developing the source code for the Arduino Nano 33 IoT, this software has been installed:

  1. Arduino IDE for Mac in its latest version (1.8.13)
  2. Support for Arduino SAMD Boards (32-bits ARM Cortex-M0+) in its latest version (1.8.11)
  3. ArduinoBLE library in its latest version (1.1.2)
Since, from a Bluetooth BLE perspective, the Litem is being supporting the role of GATT server, a GATT client is necessary to exchange data. In real world that client will be the Montana Yellowstone gateway, but in order to decouple litem and gateway developments a basic GATT client will be developed in the  Montana Granite project with the purpose of validating results.

The Granite GATT client will be developed in C# running on .NET Core Framework. For that purpose a VirtualBox Linux host with Ubuntu 20.04 Minimal Desktop distro has been deployed, and this software has been installed:
  1. packages-microsoft-prod.deb package, that adds Microsoft software repositories as packages sources
  2. dotnet-sdk-5.0 package
  3. Visual Studio Code for Linux in its latest version (1.52.1) via snap (sudo snap install --classic code)
  4. C# Visual Studio Code extension
  5. git package
  6. nuget package
BlueZ, the Linux Bluetooth protocol stack, was included in the Ubuntu distro.

Tuesday 5 January 2021

Montana: Arduino Nano33 IoT selected for Granite project

In order to develop the Montana Granite project, ie, a Litem based on Bluetooth Low Energy communication, a state-of-the-art in technology have been done. Through all the available modules in the market, two seemed the more promising:

Though the first one offered more flash to a lower price, the second one has been chosen by evaluating positively the stability and support of the Arduino products. Moreover, the Nano 33 is slightly smaller than the Expressif board.

A Nano 33 IoT board has been bought, the Arduino IDE has been installed and support to Microchip SAMD based boards has been added as explained here (specifically, the Nano 33 IoT board is based on a Microchip SAMD 21 SoC). 

The board pinout is similar to the previous Nano boards as can be checked here. A good getting-started project, based on the ArduinoBLE library, can be checked here. Lastly, though the BLE UUIDs should be defined as private, the list of assigned UUIDs can be checked here.

Montana projects started

A new branch in the project repository addressed to develop two new subprojects has been created. The new subprojects are:

  • Litem (Mount) Granite project, addressed to develop a set of Litems based on Bluetooth Low Energy (BLE) devices, specifically on Arduino Nano 33 devices. The code is located in the subdirectory SteamProject/software/litems/ble/arduino-nano33/granite of the GitHub repository (direct access clicking here).
  • Gateway Yellowstone (river) project, addressed to develop a gateway developed on .NET Core using BLE as communication channel. The code is located in the subdirectory SteamProject/software/gateways/dotnet/yellowstone/ of the GitHub repository (direct access clicking here). Yellowstone project is intended to be developed in C#.