mangOH Yellow

The mangOH Yellow is an embedded Linux development board by Sierra Wirless based on the mangOH reference design, and includes built-in Wi-Fi and BLE, an NFC tag, and cellular modem for a variety of connectivity options. The mangOH Yellow features numerous onboard peripherals and sensors to measure all manner of data, featuring an accelerometer, gyroscope, and magnetometer, as well as pressure, humidity, temperature, air quality, and ambient light sensors. The board also features several LEDs, a buzzer, GPS, and a touch button.

Users are expected to have a moderate understanding of working with a mangOH Yellow and embedded Linux systems prior to use with Atmosphere. It's recommended to read the Sierra Wireless Resources for the mangOH Yellow for information on configuring the board and accessing its default user credentials.

Project Specifics

mangOH Yellow projects start with the following sensor elements imported from the Element Library:

BoschBMI160Element icon for the element library

Bosch BMI160

BoschBME680Element icon for the element library

Bosch BME680

mangOHYellowGPSElement icon for the element library

mangOH GPS

TexasInstrumentsOPT3002Element icon for the element library

TI OPT3002

Connectivity Layer in Atmosphere Projects

Projects created for the mangOH Yellow within Atmosphere Studio don’t require a connectivity aspect built into them in order to communicate with Atmosphere. Instead, the application generated from Atmosphere uses the native connectivity running on the mangOH Yellow – such as Wi-Fi or cellular – to send data to the cloud.

Additional information on connecting the mangOH Yellow can be found in the sections below.

Hardware Specifics

Some devices may have limitations or design restrictions that cause unexpected behavior when used with Atmosphere. Specific information and details pertaining to the mangOH Yellow and its performance on Atmosphere is noted below.

Enabling Wi-Fi

The mangOH Yellow doesn’t have Wi-Fi enabled by default. The following steps will initialize the onboard Wi-Fi:

  1. From a terminal of your choice, edit /etc/wpa_supplicant.conf to resemble the following configuration:
     ctrl_interface=/var/run/wpa_supplicant
     ctrl_interface_group=0
     update_config=1
    
     network={
     ssid="YOUR_SSID"
     psk="YOUR_PASSWORD"
     }
    
  2. Run the following commands from the terminal:
    • /legato/systems/current/modules/files/brcmutil/etc/init.d/cywifi.sh init
    • /legato/systems/current/modules/files/brcmutil/etc/init.d/cywifi.sh start
    • wpa_supplicant -B -Dnl80211 -iwlan0 -c /etc/wpa_supplicant.conf
    • udhcpc -R -b -i wlan0

This will initialize the Cypress Wi-Fi driver, connect to your network, and obtain an IP address. After this, you should be able to ping google.com and get responses.

This process must be run each time the mangOH Yellow boots. If the board is rebooted, the Wi-Fi will revert to being disabled.

Transferring Files

The mangOH Yellow does not have SFTP, so SCP must be used to transfer files onto its filesystem.

Printing to Debug Console

Debug print information can be accessed using the logread utility. On your mangOH Yellow terminal, execute logread for a full log dump since boot. To view a continuously updating stream of logs in real time, run logread -f.

To filter for only atmosphere logs, run logread -f | grep atmosphere.

Default Pin Mapping

Atmosphere configures each peripheral to a default pin for every supported device, based on ideal pairing of pins and their usage. The default pin configuration is set for convenience and enables each peripheral to work naturally without needing to be modified.

mangOH Yellow projects start with the following pin configuration:

Pin Description Notes
P_IOT_24 Pin 24 on the IoT Expansion header  
P_IOT_25 Pin 25 on the IoT Expansion header  
P_IOT_26 Pin 26 on the IoT Expansion header  
P_IOT_27 Pin 27 on the IoT Expansion header  
P_BUTTON_GENERIC Generic white user button (SW500)  
P_LED_GENERIC Generic yellow LED  
P_LED_R Red tri-color LED  
P_LED_G Green tri-color LED  
P_LED_B Blue tri-color LED  
P_IOT_20_ADC Pin 20 on the IoT Expansion header Can only be used for ADC

The default pin for any peripheral can be changed within an element's properties, from an element that references that particular peripheral.

Peripherals

Below is information regarding the mangOH Yellow’s exposed peripherals.

I2C

I2C can be accessed using pins 23(SCL) and 22(SDA) on the IoT Expansion header. This is referred to as I2C5 in Atmosphere Studio. The other four I2C ports are used internally.

ADC

ADC can be accessed using P_IOT_20_ADC (pin 20) on the IoT Expansion header. This pin ranges from 0v to 1.8v.

Programming Method

Programming an Atmosphere project onto the mangOH Yellow involves putting a project’s firmware file onto it and running the file as an executable application.

Setup Configuration

Prior to putting an firmware onto the mangOH Yellow, ensure you have the following setup configuration:

  • The project has been compiled in Atmosphere.
  • The mangOH Yellow is powered on.
  • An Internet connection is maintained.
  • You have a method for putting the firmware onto the mangOH Yellow via SCP.

Programming Instructions

With setup complete, you can program the mangOH Yellow:

  1. From Atmosphere Studio’s Embedded tab, click the Program Firmware button from the tab’s toolbar. This downloads a firmware.zip that contains the project’s compiled firmware.
  2. Put the zip file onto the mangOH Yellow using SCP.

Once the download/transfer is complete, the mangOH Yellow has the project zip file on it, which hasn’t yet been unzipped and can’t be run. Steps to run the application are included below as part of registering the mangOH Yellow.

Registering to Atmosphere

Connecting the mangOH Yellow to Atmosphere involves generating an API token in Atmosphere, and providing that token in a terminal when an application attempts to execute. Once the token is provided, the mangOH Yellow will register to Atmosphere automatically as long as the Internet connection is maintained.

To run an Atmosphere application and register the mangOH Yellow:

  1. While in Atmosphere open the account menu from the navigation bar and click Security.
  2. In the Security section’s Authentication Tokens area, click the Generate Token button to make a new API token. This will be the token you use to provide the mangOH Yellow with the credentials to connect to Atmosphere. mangOH Yellow API Token

Once you’ve created an API token, it then has to be provided once you run the app.

  1. Unzip the firmware by running unzip firmware.zip from a terminal. This extracts the firmware installer into a directory named atmosphere.
  2. Navigate inside the atmosphere directory.
  3. Run chmod +x ./setup.sh to make the setup script executable.
  4. Run ./setup.sh.
  5. When the file attemptes to execute, you’ll be prompted to enter an API key. This is the API token you generated earlier. Enter the key and submit.

Once the API token is entered, the application executes and initiates communication with Atmosphere and the mangOH Yellow registers itself as a device. The application then installs itself as a system service on the mangOH Yellow. If the mangOH Yellow is powered off and on again, the application will run on boot with other system services; the above steps only need to be completed once in order to run the application and register the mangOH Yellow.

The complete registration process should resemble the following command line output:

root@swi-mdm9x28-wp:~# unzip firmware.zip
Archive:  firmware.zip
   creating: atmosphere/
  inflating: atmosphere/atmosphere.update
  inflating: atmosphere/projectConfiguration.sh
  inflating: atmosphere/setup.sh
root@swi-mdm9x28-wp:~# cd atmosphere/
root@swi-mdm9x28-wp:~/atmosphere# chmod +x setup.sh
root@swi-mdm9x28-wp:~/atmosphere# ./setup.sh
== Atmosphere IoT MangOH Yellow Setup ==

Please enter your API Key:
1ab234c5-6d78-1234-abc1-d23456ef78a9
Registering Project MangOH Yellow User Button Demo to https://platform.atmosphereiot.com...
Registration Successful...
Stopping all custom apps except for atmosphere...
App 'button' is not installed.
App 'buzzer' is not installed.
App 'helloYellow' is not installed.
App 'imu' is not installed.
App 'leds' is not installed.
App 'light' is not installed.
App 'vegasMode' is not installed.
Installing Atmosphere System Service...
Unpacking package: 100% ++++++++++++++++++++++++++++++++++++++++++++++++++
Applying update: 100% ++++++++++++++++++++++++++++++++++++++++++++++++++
SUCCESS

Guides and Tutorials

Get started using the mangOH Yellow with Atmosphere by walking through the following guides:

mangOH Yellow Guides
Getting Started with mangOH Yellow

Demo Projects

Atmosphere includes a variety of mangOH Yellow demo projects for users of all levels. Check them out by clicking the demo’s name to open the project in Atmosphere.

Name Description
mangOH Yellow Sensor Demo Demonstrates the onboard sensors of the mangOH Yellow by reading the sensor data and sending the values to the cloud.
mangOH Yellow GPS Demo Demonstrates using the onboard GPS of the mangOH Yellow. The board’s location is read once per second and set as its geolocation in the cloud.
mangOH Yellow User Button Demo Demonstrates the user button on the MangOH Yellow. When the button is pressed, temperature is read and sent to the cloud, and the board’s blue LED is toggled.
mangOH Yellow LED Controller Demonstrates toggling the mangOH Yellow’s onboard LEDs via cloud command elements, and controls each LED using a button from within the mobile app.

Videos

The Atmosphere video library contains the following videos on the mangOH Yellow:

Getting started video coming soon!

Resources

The following additional resources and downloadable files are available for the mangOH Yellow: