POEM Dash 2G/3G Worldwide


POEM Dash for Sprint, AT&T, T-Mobile and more


Dash Quickstart Guide 2019


SKU: DashU201 Category: Tags: , , , ,

POEM Technology’s:DASH An IoT development platform

The Dash v1.2 is a fully open source reference design and prototyping platform for developers to rapidly test and move applications to market. The Dash makes connectivity simple and enables embedded applications to access peripherals and sensors through an array of GPIO pins and serial interfaces. The on-board microcontrollers implement user and system functions separately for ease of development. Battery management includes charging and fuel gauge functions, making the Dash ideal for low power applications.  Each DASH includes a sim card from Hologram to get you connected immediately. Hologram also offers a free developer account to test your design and develop your portal. Features: (see the data sheet for detailed pin usage and configuration)

  • Four Serial Interfaces
    • 2 UART’s
    • 1 CAN
    • 1 SPI (with a second optional configuration)
    • 1 I2C (with a second optional configuration)
  • 23 GPIO pins
  • 19 PWC/DAC channels
  • 8 ADC channels
  • 10 Wakeup Pins

What to do after “Hello World”?

Make a signal strength detector using a DASH and the Arduino IDE.

So you have your IoT sensor ready to deploy. Will it work? Is there a carrier available and is the signal strong enough to ensure a good connection? Sometimes when we install iLevel systems, the location is remote from the nearest cell tower and the cellular signal is insufficient. This handy device allows us to check the signal strength on ANY carrier supported by the DASH. These carriers include Verizon, AT&T, Sprint, T-Mobile and many more. The first step is to connect the antenna from your DASH dev kit to the DASH. Next, connect the DASH to the Arduino IDE via the USB cable provided with your DASH. Select the DASH in the Boards Manager and the hologram.io USB loader in Tools. In the Arduino IDE, these few lines are sufficient to generate a simple led indication.

The code uses the Hologram Cloud API to handle the cellular connection and its properties. Most of it is self-explanatory, but it bears description. Step 1 is to check whether the DASH has a tower connection using HologramCloud.isConnected(). If this call returns True, HologramCloud.getSignalStrength() will then return a value for the Received Signal Strength Indication (RSSI). The value ranges from 0 to 99, with three special values: 0, 1 and 99. A value of 0 indicates a very weak signal of -113 dBm or less; a value of 1 indicates a weak signal of -111 dBm; a value of 99 indicates no signal at all. Intermediate values from 2 to 30 indicate signal strength from -109 dBm to -53 dBm in 2 dBm steps. Values from 31 to 98 indicate a strong signal of -51 dBm or greater. The variable ss contains the signal strength code that HologramCloud.getSignalStrength()returns. If ss is 0 or 1, the code turns on the RGB LED bright red. When ss is between 2 and 31, the RGB LED is a turquoise color (color value 0x18ff68). When ss is between 31 and 98, the RGB LED is bright green (color value 0x008000). The final part of the code handles the no connection state by pulsing the system led. It will continue in this state even if the connection appears, so I initialize it off at the beginning of the loop. Now I have a handy device that will show a weak or strong signal on any supported carrier. A battery to power the DASH is all that is necessary to have a useful portable carrier detector. Now, when I want to install a DASH-based device in a particular location, I just plug the battery in and wait a minute or two to see if the DASH will connect.


Hello, Carrier!

POEM Technology, LLC

void setup() {
   HologramCloud.connect(); }  void loop() {
   if (HologramCloud.isConnected() ) {
     int ss = HologramCloud.getSignalStrength();
     if (ss > 30 && ss < 99) {
       HologramCloud.setRGB(0x008000);     }     else if (ss > 1 && ss < 31) {
       HologramCloud.setRGB(0x18ff68);     }     else {
       HologramCloud.setRGB("red");     }   }
   else {
     Dash.pulseLED(200, 200);