Archive

Posts Tagged ‘IoT’

LTE Cat M and NB-IoT Shield for Arduino Features SIMCom SIM7000-Series Module (Crowdfunding)

February 20th, 2018 No comments

We’ve already covered several NB-IoT (and/or LTE Cat M1) Arduino shields with products like RAK Wireless WisLTE, Sixfab Arduino NB-IoT shield, or AIS NB-IoT shield, which all happen to come with Quectel modules.

A young self-taught engineer has decided to make his own Arduino eMTC/NB-IoT shield, but based on a SIMCom SIM7000-series module instead of a Quectel one found in the other aforementioned products.

NB-IoT Shield Connected to Arduino UNO Board

Board specifications:

  • Cellular Module (one of the list depending on your location)
    • SIM7000A LTE Cat M1 & NB-IoT module certified for AT&T and Verizon in the US
    • SIM7000C Cat M1/NB-IoT module with 2G/2.5G fallback for the Chinese maket
    • SIM7000E Cat M1/NB-IoT module with 2G/2.5G fallback for the European market
    • Note: The developer is also looking into SIM7000G module which should work globally, but the option is not available for now
  • Micro SIM card holder
  • GNSS – GPS/GLONASS with 2.5m accuracy supported by SIMCom modules
  • Antenna – 2x u.FL connectors for LTE and GPS
  • USB – Micro USB port for debugging and sending AT commands
  • Sensor – MCP9808 I2C temperature sensor with 0.25° typical accuracy
  • Expansion – Arduino headers (compatible with Arduino Uno, Arduino Mega, and Arduino Leonardo), extra I2C header

EAGLE schematics and PCB layout, documentation, and software example have already been pushed to Github.

The board launched on Indiegogo last month with the “Arrow Certified Technology” campaign aiming to raise at least $7,000, but since it’s a flexible funding campaign, mass production will happen regardless of the success of the crowdfunding effort. The $79 pledge for the shield may look expensive at first, but considering it ships with LTE & GNSS antennas, a stacking female header kit, a Hologram global IoT SIM Card with $40 of credit, price does not look too bad after all. Shipping fee does not appear to be included, and price is not mentioned, so you may have to pay an extra shipping fee when actual shipping is due around June 2018.

STMicro Introduces Two STM32 Discovery Kits with 2G/3G or 4G LTE-IoT Cat M1/NB1 Connectivity

February 17th, 2018 No comments

Embedded World 2018 trade fair will take place on  on take place on February 27 – March 1 in Nuremberg, Germany, and we’re starting to see some company announce new products and solutions for the embedded market.

STMicro has just announced their showcase their very first cellular development kits at the event, based on a display-less variant on their 32L496GDISCOVERY Discovery board with cellular add-on boards:

  • P-L496G-CELL01 Discovery kit with with a 2G/3G modem
  • P-L496G-CELL02 Discovery kit with with an LTE-IoT Cat M1 (eMTC) / NB1 (NB-IoT) / 2G model

Now the company has not started designed their own cellular modem, but instead relying on QUECTEL modems. Both kits share most of the same specifications:

  • MCU – STMicro STM32L496AGI6 Arm Cortex M4F [email protected] 80 MHz with 1 MB Flash, 320 KB RAM in a UFBGA169 package
  • On-board memory – 8 Mbit PSRAM
  • On-board + external storage – 32 KB I2 C EEPROM with OTP page preloaded with board ID and voucher code; micro SD card slot
  • USB – 1x micro USB OTG HS port, 1x micro USB port for debugging (see below)
  • Audio – SAI Audio CODEC, ST-MEMS digital microphones, stereo headset jack including analog microphone input
  • Camera I/F – 8-bit camera header
  • Expansion – Arduino Uno V3 and STMod+ connectors
  • Cellular Connectivity
    • P-L496G-CELL01 model
      • Quectel UG96 worldwide cellular modem penta-band 2G/3G module, 7.2 Mbps downlink, 5.76 Mbps uplink.
      • Pulse 2G/3G SMA antenna for frequency ranges: 850 / 900 / 1800 / 1900 / 2100 MHz
    • P-L496G-CELL02 model
      • Quectel BG96 worldwide cellular modem LTE Cat M1 (eMTC) & Cat NB1 (NB-IoT) & EGPRS module
      • SMA antenna
    • Modem reset red LED and modem signaling green LED
    • Switchable SIM interface, eSIM and MicroSIM

Click to Enlarge

  • Debugging – On-board ST-LINK/V2-1 SWD,JTAG debugger/programmer with USB re- enumeration capability: mass storage, virtual COM port and debug port
  • Misc – On-board current measurement, 2x user LEDs, 1x user and 1x reset push-buttons, 4-direction joystick with selection button
  • Power Supply – ST-LINK, USB VBUS, or external sources

Free software libraries and examples for the board will be available in STM32Cube package – soon including X-CUBE-CELLULAR software expansion packs – , and as usual, STM32 DISCOVERY boards are also supported by IAR, Keil and GCC-based IDEs, as well as Arm Mbed.

Back of STM32 Board with Arduino Headers, micro SD slot, and Audio Jack – Click to Enlarge

Each kit will come with an EMnify SIM card, specially designed for IoT applications and with a global reach of 133 countries. The SIM card can be managed from a dashboard, and a free 3-month trial data plan of 90 days will also included with the discovery kits. So it looks to be a competitor of Hologram SIM card, which I’ve recently been using in a Raspberry Pi 3G quick start guide.

 

Developers who are not familiar with C language will be able to run JavaScript scripts thanks to Espruino JavaScript interpreter for STM32 and through the Espruino Chrome Web IDE.  The company has also partnered with cloud services providers with their own strengths:

  • Grovestreams’ analytics capabilities can help bringing decision-making mechanisms to any software
  • Exosite for industrial and enterprise systems
  • AVSystem for M2M applications
  • Aimagin for scientific application with its MATLAB analytics
  • Ubidots for application building

All those providers offer a free trial account, and extras may be offer to users of either Discovery kit. Both kits are sampling now, and should be available for purchase in Q2 2018 at a currently undisclosed price. Visit P-L496G-CELL01 product page for more details, as the company has yet to setup a page for P-L496G-CELL02 kit.

Wibeee Power Monitoring Device Plugs right into Your Home’s Circuit Breaker Box

February 16th, 2018 8 comments

We’ve covered several smart plugs or switches capable of monitoring electricity consumption and displaying results right in a smarphone app, or computer’s web browser with products such as Sonoff S31 or Broadlink SP2 WiFi smart sockets, or Sonoff POW switch. Those work for individual plugs, but if you want to cover your full house, you’d need several of those, and in some case it may not be so convenient as no plugs may be available for example for lights or air conditioner.

Smilics Technologies has come up with an easier method, although less granular, thanks to their WIBEEE device that clips to your fuse / circuit breaker box using DINZERO “clip-on” technology, and available in single and  three phase models.

Single-phase and Three-phase Wibeee Devices

Main features:

  • Voltage Range – 85 to 265 V AC @ 50 ~ 60 Hz with 2% accuracy + variation in range of use depending on temperature, humidity, etc…
  • Current Range – 500mA to 65A with 2% accuracy + variation in range of use
  • Power Accuracy – 4% + variation in range of use
  • Connectivity – 802.11 b/g/n WiFi, AES128 encryption
  • Misc – Red LED for power, Blue LED for WiFi status
  • Power Consumption – 1.5 to 4.5W
  • Safety – Double isolation; II IEC/EN 61010-1:2010 protection class
  • Safety standards – UNE-EN61010-2-03, UNE-EN 61326-1:2006, EN 301 489-17 V2.2.1
  • Certifications – FCC, ETSI, IC
  • Temperature range – -10 to 45°C
  • Max altitude – 2000 meters

Hardware installation is explained in the video below, and it looks very easy not requiring a certified electrician for installation (although you may want to check your country regulations and/or home insurance company first).

Once the device is clipped to your fuse box, it will power on and start in access point mode. You can then install the Android or iOS app to complete configuration, or access the web dashboard from any browser using 192.168.1.150 IP address, where you’ll be able to see details daily power consumption, expected bill, and monthly power consumption.

Android app – Click to Enlarge

Power Consumption Chart & Data in Android Tablet – Click to Enlarge

You’ll find more details including a multilingual user manual on the product page. The downside is that it appears to be for sale in Spain only, and the only English speaking website I found is AlphaOmega Electronics which offers the single-phase version for 135 Euros, and the three-phase model for 190 Euros. Wibeee is also sold under the CIRCUTOR brand on Carlos Alcaraz online shop (Spanish only). If you’re interested in other smart power monitoring solution, you may want to browse Wibeee website as they have other products suitable for both home and industrial markets.

Via Gadgetoadicto

Particle Unveils Three nRF52840 Bluetooth 5 Boards: Argon (WiFi), Boron (LTE), and Xenon, as well as Particle Mesh Technology

February 14th, 2018 1 comment

In the last year or so, Bluetooth has gotten an upgrade with the release of Bluetooth 5. The new protocol works on several existing platforms, but if you want support for the full set of Bluetooth 5 features such as longer range and higher bandwidth, we’ve seen you need a recent chip such as Nordic Semi nRF52840.

However so far, AFAIK you had to buy Nordic Semi own development kit for play with nRF52840, and now Particle has announced not one, but three low cost development boards powered by nRF52840 chip starting at just $9, and supporting their newly announced Particle Mesh technology. So for some reasons, it appears they did not go with Bluetooth Mesh.

Argon, Boron, Xenon

Particle Xenon – Bluetooth 5 + Mesh

Xenon is the cheapest model with the following specifications:

  • SoC – Nordic Semiconductor nRF52840 Arm Cortex-M4F 32-bit processor @ 64MHz with 1MB flash, 256KB RAM
  • Storage –  2MB SPI flash
  • Connectivity (via nRF52840)
    • 802.15.4-2006 up to 250 Kbps
    • Bluetooth 5 @ 2 Mbps, 1 Mbps, 500 Kbps, 125 Kbps
    • Up to +8 dBm TX power (down to -20 dBm in 4 dB steps)
    • NFC-A tag
    • On-board PCB antenna
    • u.FL connector for external antenna
  • Expansion – 20x mixed signal GPIO (6 x Analog, 4 x PWM), UART, I2C, SPI
  • USB – 1x Micro USB 2.0 port full speed (12 Mbps)
  • Debugging – JTAG (SWD) Connector
  • Misc – RGB status LED, Reset and Mode buttons
  • Power Supply
    • 5V via micro USB
    • Integrated Li-Po charging and battery connector
  • Dimensions –  ~5.1 x 2.3 cm (Meets Adafruit Feather‘s dimensions and pinout)
  • Certifications – FCC, CE and IC; RoHS compliant (lead-free)

Particle Argon  – WiFi + Bluetooth 5 + Mesh

The Argon board has a similar designed as Xenon, except it adds a single core ESP32-S0WD for WiFi connectivity:

  • SoC
    • Nordic Semiconductor nRF52840 Arm Cortex-M4F 32-bit processor @ 64MHz with 1MB flash, 256KB RAM
    • Espressif ESP32-S0WD single core 32-bit LX6 microprocessor, up to 200 DMIPS with 448 KB ROM, 520 KB SRAM
  • Storage –  2MB SPI flash for nRF52840, 1MB SPI flash for ESP32-S0WD
  • Connectivity via SoCs
    • ESP32
      • 802.11b/g/n WiFi (2.4 Ghz) up to 150 Mbps
      • u.FL connector for external WiFi antenna
    • nRF52840
      • 802.15.4-2006 up to 250 Kbps
      • Bluetooth 5 @ 2 Mbps, 1 Mbps, 500 Kbps, 125 Kbps
      • Up to +8 dBm TX power (down to -20 dBm in 4 dB steps)
      • NFC-A tag
      • u.FL connector for external antenna
    • On-board PCB antenna for Bluetooth or WiFi (user selectable)
  • Expansion – 20x mixed signal GPIO (6 x Analog, 4 x PWM), UART, I2C, SPI
  • USB – 1x Micro USB 2.0 port full speed (12 Mbps)
  • Debugging – JTAG (SWD) Connector
  • Misc – RGB status LED, Reset and Mode buttons
  • Power Supply
    • 5V via micro USB
    • Integrated Li-Po charging and battery connector
  • Dimensions –  ~5.1 x 2.3 cm (Meets Adafruit Feather‘s dimensions and pinout)
  • Certifications – FCC, CE and IC; RoHS compliant (lead-free)

Particle Boron – LTE (NB-IoT / eMTC) + Bluetooth 5 + Mesh

Bron board have a again a similar design, but instead adds LTE IoT connectivity:

  • SoC – Nordic Semiconductor nRF52840 Arm Cortex-M4F 32-bit processor @ 64MHz with 1MB flash, 256KB RAM
  • Storage –  2MB SPI flash
  • Connectivity
    • u-blox SARA R410 LTE modem
      • LTE CAT M1/ NB1 module with global hardware support (MVNO support for US/Mexico only)
      • 3GPP Release 13 LTE Cat M1
      • EGPRS Power Class E2
      • Dual SIM support: Nano 4FF (unpopulated) and MFF2
    • 802.15.4-2006 up to 250 Kbps
    • Bluetooth 5 @ 2 Mbps, 1 Mbps, 500 Kbps, 125 Kbps
    • Up to +8 dBm TX power (down to -20 dBm in 4 dB steps)
    • NFC-A tag
    • On-board PCB antenna
    • u.FL connector for external antenna
  • Expansion – 20x mixed signal GPIO (6 x Analog, 4 x PWM), UART, I2C, SPI
  • USB – 1x Micro USB 2.0 port full speed (12 Mbps)
  • Debugging – JTAG (SWD) Connector
  • Misc – RGB status LED, Reset and Mode buttons
  • Power Supply
    • 5V via micro USB
    • Integrated Li-Po charging and battery connector
  • Dimensions –  ~5.1 x 2.3 cm (Meets Adafruit Feather‘s dimensions and pinout)
  • Certifications – FCC, CE and IC; RoHS compliant (lead-free)

All three boards support Particle Mesh, a mesh networking technology built on Thread, and “designed to connect the spaces in between existing Wi-Fi and cellular deployments with local networks that are low-cost, secure, and ultra-reliable”. Xenon boards can act as end-points or repeaters in the mesh network, while Argon and Boron boards would normally be used as WiFi/LTE gateways.

The company has priced the boards very aggressively at least during during the pre-order period with Xenon going for $9, Argon for $15, and Boron for $29, and shipping is free during the first 24 hours (9 hours left at the time of writing). The boards are expected to ship in July 2018, and after prices will go up to respectively $12, $19, and $39.

Particle also increased the free data allowance for their $2.99 cellular Device Cloud plan which now comes  with 3MB of data per month instead of just 1MB. If you exceed that amount, they’ve decreased the price per MB from $0.99 to $0.40 too.

Embedded Linux Conference & IoT Summit 2018 Schedule

February 13th, 2018 No comments

The Embedded Linux Conference 2018 and the OpenIoT Summit 2018 will jointly take place next month, on March 12 – 14, 2018 in Portland, Oregon, USA. The former is a “vendor-neutral technical conference for companies and developers using Linux in embedded products”, while the latter is a “technical conference for the developers and architects working on industrial IoT”. The Linux Foundation has already published the schedule, and it’s always useful to learn what will be discussed about even for people who won’t attend.

With that in mind, here’s my own virtual schedule with some of the talks I find interesting / relevant to this blog.

Monday, March 12

  • 10:50 – 11:40 – Progress in the Embedded GPU Ecosystem by Robert Foss, Collabora Ltd.

Ten years ago no one would have expected the embedded GPU ecosystem in Linux to be what it is now. Today, a large number of GPUs have Open Source support and for those that aren’t supported yet, improvements are happening at a rapid pace.

In just the last year Vivante GPUs have gained mainline support and Mali GPUs have seen good progress being made.

In this talk, Robert will cover GPUs in the embedded space and give an overview about their current status, what lies ahead and how the Open Source state of the art compares to the proprietary alternatives.

  •  11:50 – 12:40 – Zephyr LTS Release, What to Expect and Why are We Doing This by Anas Nashif, Intel

After eleven 1.x.x releases of Zephyr since the project has launched 2 years ago, the Zephyr project is planning to release Zephyr LTS in 2018 with many new features that have been in the works for the last year, stable APIs and with the goal of taking a subset of the released project code through various certification activities.

In this talk the status plans for Zephyr LTS will be presented and discussed and the next steps that the project will take after the LTS release.

  • 14:00 – 14:50 – Preempt-RT Raspberry Pi Linux by Tiejun Chen, VMware

As we know, the Raspberry Pi is a series of small single-board computers developed in the United Kingdom by the Raspberry Pi Foundation to promote the teaching of basic computer science in schools and in developing countries. Now it is very popular around our IoT world, and you can see many guys use Pi to build great things, and even it can play a role in the production environment. The official Raspberry Pi Linux maintains Linux kernel specific to Pi platform. But it does not include Preempt RT Linux support. Obviously, in some IoT cases we really need to meet hard real time requirement. In this presentation, we will review if-how we can integrate Preempt RT Linux patches to Pi Linux, an see what the problems are for this particular hardware platform.

  • 15:00 – 15:50 – OpenEmbedded/Yocto on RISC-V – New Kid on the Block by Khem Raj, Comcast

RISC-V a new open source ISA based architecture is rapidly gaining acceptance in embedded space. Several core packages e.g. gcc toolchain, linux kernel, binutils, newlib, qemu has already been ported for RISC-V. At this point, OpenEmbedded is one of first embedded linux distribution frameworks to support RISC-V architecture. This talk will cover the status of support as the core support has been upstreamed into OpenEmbedded-core, additionally SOC layer meta-riscv is also created which would serve as common layer for all RISC-V based SOCs.

  • 16:10 – 17:00 – Bluetooth Mesh with Zephyr OS and Linux by Johan Hedberg, Intel

Bluetooth Mesh is a new standard that opens a whole new wave of low-power wireless use cases. It extends the range of communication from a single peer-to-peer connection to a true mesh topology covering large areas, such as an entire building. This paves the way for both home and industrial automation applications. Typical home scenarios include things like controlling the lights in your apartment or adjusting the thermostat. Although Bluetooth 5 was released over a year ago, Bluetooth Mesh can be implemented on any device supporting Bluetooth 4.0 or later. This means that we’ll likely see very rapid market adoption of the feature.

The presentation will give an introduction to Bluetooth Mesh, covering how it works and what kind of features it provides. The talk will also give an overview of Bluetooth Mesh support in Zephyr OS and Linux and how to create new wireless solutions with them.

  • 17:10 – 18:00 – Drive your NAND within Linux by Miquèl Raynal, Bootlin (formerly Free Electrons)

NAND flash chips are almost everywhere, sometimes hidden in eMMCs, sometimes they are just parallel NAND chips under the orders of your favorite NAND controller. Each NAND vendor follows its own rules. Each SoC vendor creates his preferred abstraction for interacting with these chips.

Handling all of that requires some abstraction, and that is currently being enhanced in Linux! A new interface, called exec_op is showing up. It has been designed to match the most diverse situations. It should ease the support of advanced controllers as well as the implementation of vendor-specific NAND flash features.

This talk will start with some basics about NAND memories, especially their weaknesses and how we get rid of them. It will also show how the interaction between NAND chips and controllers has been standardized over the years and how it is planned to drive NAND controllers within Linux.

Tuesday, March 13

  •  10:50 – 11:40 – Comparing and Contrasting Embedded Linux Build Systems and Distributions by Drew Moseley, Mender.io

We will discuss the various options for creating embedded Linux operating systems. We will provide a basic description of each option, including an overview of the workflow for each choice. The talk will cover the advantages and disadvantages of each of these options and provide viewers with a matrix of design considerations to help them pick the right choice for their design. We will cover the following options:

  • Yocto/OpenEmbedded
  • Buildroot
  • OpenWRT/LEDE
  • Slimmed down desktop distributions (e.g. Debian, Raspbian, Ubuntu)

We will also touch upon other tools, such as crosstool-ng and ucLinux, which are peripherally related to building embedded Linux systems. The focus for this section will be to make the viewers aware of these tools as they frequently come up while researching embedded Linux so that you are better informed which tools are available.

  • 11:50 – 12:40 – The Things Network: An IOT Global Phenomenon by Bryan Smith, Tacit Labs

IoT has many connectivity options and systems based on Low Power Networks(LPN’s) such as LoraWAN are showing a great deal of promise. LoraWAN uses the ISM Band which doesn’t require a license for use.

The Things Networks (TTN) is a community about LoraWAN, Low Power Wide Area Network (LPWAN). It’s collaboratively built by passionate people, Open Source Software and Open Governance. The network has a manifesto and fair access policy that governs its use and management. In the session we’ll discuss:

  • The technology behind LoraWAN, TTN and similar networks.
  • TTN’s impact on public and private LPWAN’s.
  • The initiators and communities that install and build LoraWAN gateways.
  • Lastly we’ll discuss the impact of the deployments in real world use cases.

There will also be a live demo of a LoraWAN gateway and node in action on several public networks including TTN as well as others.

  • 14:00 – 14:50 – I + I2C = I3C: What’s in this Additional ‘I’? by Boris Brezillon, Bootlin (formerly Free Electrons)

The MIPI Alliance recently released version 1 of the I3C (pronounce ‘eye-three-see’) bus specification, which is supposed to be an improvement over the long-standing I2C and SPI protocols. Compared to I2C/SPI, I3C provides a higher data rate, lower power consumption and additional features such as dynamic address assignment, host join, in-band interrupts. For the last year or so, Free Electrons has been working with Cadence Design Systems on supporting this new kind of bus in Linux.

With this talk we would like to introduce this new bus and the concepts it brings to the table. We will also detail how we plan to expose the new features exposed by the I3C protocol in Linux and go through future possible improvements of the I3C framework that has already been submitted for review on the Linux kernel mailing list.

  • 15:00 – 15:50 – Android Common Kernel and Out of Mainline Patchset Status by Amit Pundir & John Stultz, Linaro

A quick overview of what the speakers ares going to cover in this session.

  • A brief background on Android common kernels – Out of tree Android patches and how they have evolved over time.
  • The current/active patchset introduction and status – Their use cases in Android and on-going upstreaming efforts if any.
  • A brief Intro to android-mainline-tracking tree.
  • Rebasing latest android-$LTS tree to latest linux release tag
  • Find/Report/Fix Android regressions or ABI breakages in mainline kernel.
  • 16:20 – 17:10 – Tock, The Operating System for a Programmable IoT by Amit Levy, Stanford University

Tock is an open-source operating system for low-power ARM Cortex-M microcontrollers that enables radically different kinds of embedded and IoT products.

In typical embedded systems, every line of code is fully trusted because embedded operating systems lack traditional isolation mechanisms like processes. Unfortunately, this makes developing secure products difficult, and running third-party applications virtually impossible.

Tock uses a language sandbox in the kernel and a process-like hardware enforced mechanism in userspace to isolate third-party and other untrusted code in the system.

In this presentation I’ll introduce Tock’s vision for IoT and how its isolation mechanisms work. Then, I’ll use examples of deployed systems and products using Tock to show how developers can use it to build more secure and extensible IoT systems today.

  • 19:00 – 20:00 – BoF: Open Source Hardware by Drew Fustini, OSH Park

Open Source Hardware BoF (Birds of a Feather) session for those interested in how Open Source Hardware design can benefit embedded Linux systems.

The session will start will start with a short presentation of a few slides to clarify terminology and highlight Open Source Hardware projects relevant to Linux. The panelists will then lead a discussion with the BoF attendees about the benefits and challenges of designing Open Source Hardware.

Jason and Drew can talk about the experience of working with community, manufacturers, and distributors to create an Open Source Hardware platform. Leon can speak about his experience of learning hardware design as a software engineer, and how he took his Raspberry Pi HATs from concept to product. John can speak about his experience leading an Open Source Hardware platform within a large corporation.

Wednesday, March 14

  • 11:05 – 11:55 – Landscape of Linux IoT Ecosystems by Christian Daudt, Cypress Semiconductor

IoT products are getting richer in their functionality daily, and as a result there is a trend for increased use of Linux in these products. As we are early in the IoT ecosystem cycle, there is a large number of projects and products vying for developer attention as frameworks and protocols to be used in new product development. This talk provides an overview of the options available and how they relate to each other. It covers OS stacks such as EdgeX Foundry, Automotive Grade Linux, Android Things, IoTivity, Tizen, etc.. as well as IoT-tailored cloud integrations from cloud vendors such as AWS, Google, Microsoft.

  • 12:05 – 12:55 – CPU Power Saving Methods for Real-time Workloads by Ramesh Thomas, Intel

Configurations created for real time applications mostly disable power management completely to avoid any impact on latency. It is however, possible to enable power management to a degree to which the impact on latency is tolerable based on application requirements. This presentation addresses how CPU idle states can be enabled and tuned to allow power savings while running real time applications.

The presentation will give a background of the issues faced by real-time applications when CPU power management is enabled. It will then explain tools, configurations and methods that can be used to tune applications and CPU power management in the kernel to be able to save power without impacting the deterministic latency tolerance requirements.

  • 14:30 – 15:20 – Debian for Embedded Systems: Best Practices by Vagrant Cascadian, Aikidev, LLC

As embedded hardware becomes more capable, Debian becomes an attractive OS for projects. Debian provides clear licensing, a solid technical foundation, and over twenty-five thousand software projects already available within Debian.

Unfortunately, embedded system projects may make changes to a customized Debian OS in ways that make it difficult to apply security updates or system upgrades. This can lead to an unmaintained fork of Debian with long-standing security vulnerabilities unfixed in the hands of end-users. Nobody likes bit-rot.

Many of these common pitfalls can be mitigated or avoided entirely by understanding Debian’s culture, infrastructure, technical norms, and contribution processes. These understandings will improve embedded systems using Debian over the long-term.

  • 15:30 – 16:20 – Civil Infrastructure Platform: Industrial Grade Open Source Base-Layer by Yoshitake Kobayashi, Toshiba Corporation, Software Development and Engineering Center

The Civil Infrastructure Platform (CIP) is creating a super long-term supported (SLTS) open source “base layer” of industrial grade software. The base-layer consists of the SLTS kernel and a basic set of open source software and standardization concepts. By establishing this “base layer,” the CIP Project will enable the use and implementation of software building blocks in civil infrastructure projects. Currently, all civil infrastructure systems are built from the ground up, with little re-use of existing software building blocks, which drains resources, money and time. In this devroom, we’ll share project strategy, use cases, roadmap, milestones and policies. We’ll also share technical details for each development activities for the base-layer that includes open source, real-time development tools, testing and answer questions.

  • 16:30 – 17:20 – 3D Printing with Linux and Xenomai by Kendall Auel, 3D Systems Corp.
Software running on embedded Linux with Xenomai is used to control a 3D printer. The lessons learned and practical advice will be shared in this presentation. There were many challenges to overcome. A complete 3D printing system requires precise motion control, thermal control, material delivery and monitoring, and coordinated data transfers. All concurrent real time processes must be coordinated and managed, while providing interactive response to user input. In parallel with the real time processing, the system must slice the 3D model into layers for printing, which is by its nature a compute-bound application. The dual-kernel architecture of Linux with Xenomai was ideal for maintaining low and predictable latencies for real time control, while allowing the complex and resource intensive slicing application to run in parallel.

Selecting the sessions was not easy as most talks are relevant, so I’d recommend checking out the whole schedule.

The Embedded Linux Conference & OpenIoT Summit require registration with the fees listed as follows:

  • Early Bird Fee: US$550 (through January 18, 2018)
  • Standard Fee: US$700 (January 19,  February 17, 2018)
  • Late Fee: US$850 (February 18, 2017 – Event)
  • Academic Fee: US$200 (Student/Faculty attendees will be required to show a valid student/faculty ID at registration.)
  • Hobbyist Fee: US$200 (only if you are paying for yourself to attend this event and are currently active in the community)

How to Use 3G and GPS on Raspberry Pi with ThaiEasyElec 3G HAT Expansion Board

February 11th, 2018 11 comments

Venus Supply is an embedded systems company based in Bangkok, Thailand that sells products through their ThaiEasyElec website/brand, as well as a act as a local distributor for popular DIY electronics items. I previously tested their ESPino32 ESP32 board, and the company has now send me another of their new product called “3G HAT Expansion for Raspberry Pi” and based on Quectel UC20-G that support 3G and GPS/GLONASS connectivity globally, meaning it should work in any country with 2G or 3G coverage.

After listing the specifications, going through unboxing and assembly with a Raspberry Pi 2/3 board, I’ll write some quick start guide to show what I had to do to use GPS and connect to 3G with a Hologram SIM card.

3G HAT Expansion for Raspberry Pi Specifications

  • Quectel UC20-G wireless module supporting
    • Cellular
      • 3G – UMTS @ 800/850/900/1900/2100 MHz
      • 2G – GSM @ 850/900/1800/1900 MHz
      • Data – HSPA+ up to 14.4 Mbps Downlink, 5.76 Mbps Uplink, EDGE, GPRS
      • Push-Pull SIM Card with ESD protection
      • Main + Diversity RP-SMA antenna connectors
    • GNSS
      • Qualcomm gpsOne Gen8 engine
      • GPS, GLONASS
      • RP-SMA antenna connector
  • Host interface – USB and UART
  • Audio – Audio codec, and 3.5 audio jack with microphone and mono audio
  • Misc
    • Auto start jumper (J3)
    • Software start/stop via GPIO17 or GPIO18 pin configurable via Jumper “P8”
    • Power switch
    • LED – Status LED, network, power
    • Back-up battery to reduce GPS fix time
  • Raspberry Pi Hat Compatible with 40-pin Raspberry Pi header

Unboxing

I received the kit in a carton box with three zipped packages: one for the board and accessories, and two for the GPS/GLONASS and 3G antennas which are not included by default.

Click to Enlarge

The GPS antenna comes with a 3-meter cable which should make it suitable to install in most cars or trucks, and the HAT package includes an extra zip bag with spacers, screws, nuts, and a 40-pin female header. I’ve also been told a 25cm micro USB cable should be included, but it seems they forgot it for my package…

Click to Enlarge

Looking closer at the board we can see Quectel UC20GB module in the center of the board, the three RP-SMA antenna connectors clearly marked with DIV, GNSS, and MAIN, the micro USB port for power and data, the 3.5mm audio jack, and in the top right connector J3 2-pin header to enable autostart, 3-pin P8 header to select GPIO 17 or GPIO 18 for software on/off, and the power key to manually start or stop the the module.

Click to Enlarge

They’ve also given access the the 40-pin RPi header using male pins, as a 4-pin UART connector.

The other side of the battery comes the audio codec board based on Nuvoton NAU8814Y mono audio codec, the SIM card slot fitted with a black dummy SIM card, a CR1220 coincell battery for GPS fix backup, and a 40-pin female header used for connection to the Raspberry Pi.

Click to Enlarge

I’ve been told the battery supploes power to the internal clock engine of the module, which can calculate the new position of satellites and get GPS fix faster  from data used up to 3 days ago.

3G HAT Assembly and Configuration with Raspberry Pi 2/3

Assembly is pretty straightforward,  first install the four spacers  on the Raspberry Pi board and fasten them with the nuts underneath the board, instead of the 40-pin female header on Raspberry Pi board, place the 3G HAT on top, and fasten the remaining four screws.
Connect the cellular antenna to the MAIN connector, and the GPS antenna to the GNSS connector. You’ll also need to flash Raspbian to a micro SD card. I’ll run the same Raspbian Stretch Lite image as I used with ANAVI Light pHAT starter kit.
If you want to follow the instructions provided by ThaiEasyElec (in Thai only for now, but easy enough to follow, and an English version is coming), you’ll need a GUI, so I’d recommend you install the full Raspbian Stretch image and connect an HDMI display, although you may run VNC client as well. I’ll do something a little different as I’ll do an headless setup instead, using Ethernet and SSH most of the time, but to test 3G, I’ll also disable Ethernet, so I also connected a USB to serial cable as shown below in order to access the serial console.

Click to Enlarge

Find a (short) micro USB to USB cable to connect the micro USB port of the HAT expansion board to the one of the USB ports of the Raspberry Pi to power on the board. I also had to remove the dummy SIM card, and insert my own SIM card with the contacts facing the board. After installation, we’ll see around 3mm of the SIM card, but that’s normal. Finally, you’ll need to decide how you want to manage the power: either with the power button, J3 jumper to autostart, or with pin 17 or 18 from the Raspberry Pi. I decided to move the jumper to J3 to always power on the module, but if you run on batteries, you’ll probably want to use the GPIO pin instead.

Verify the 3G HAT is Recognized in Linux

Now we are ready to start our Raspberry Pi board, and login to a terminal via SSH, serial, or in the desktop. We should find Quectel UC20 module with 05c6:9003 VID:PID with lsusb:

If you don’t see it, make sure the USB cable is connected, and you’ve powered the module up. I recommend you move the jumper to J3 at first like I did. Then you should see four ttyUSB devices:

Each are used by the module as follows:

  • /dev/ttyUSB0 – DM interface – Diagnose port (no used in this review)
  • /dev/ttyUSB1 –  NMEA interface – For GPS NMEA sentence output (read-only)
  • /dev/ttyUSB2 – AT interface (for GPS)
  • /dev/ttyUSB3 – Modem interface for PPP connections and AT command

Controlling GPS and Handling GPS Data

ThaiEasyElec uses Putty for Linux, but since I’m doing this headless I’ll install picocom intead:

Now we can connect to /dev/ttyUSB2 using 115200 8N1 to send some AT commands to the module:

The first command (AT+QGPS=1) turns the GNSS module on, and the second one (AT+QGPSEND) turns it off.

Let’s keep it on for now, and connect to /dev/ttyUSB1 @ 9600 baud to check NMEA output which should be updated every second when GPS is enabled:

That’s the meaning for each field:

  • GPGGA – Global Positioning System Fix Data, Time, Position and related fix data
  • GPRMC – Recommended minimum data
  • GPGSV – Detailed satellite data
  • GPGSA – Overall satellite data
  • GPVTG – Vector track and speed over the ground

GPGSA does not have data in the output above, simply because the GPS fix did not occur yet.

If you just want to enable GNSS each time the module is powered on, run the following command:

To disable this option, simply run the same command with 0 instead of 1. You can also query “autogps” status but running the command without the second parameter:

You’ll find more details about the GNSS AT command set for GPS and GLONASS in  Quectel UC20 GNSS AT Commands Manual (pdf).

Reading NMEA sentences is possible, but not really user friendly, and if we want to see a nice representation of the data we can run the GPS Daemon (gspd) and client (cgps) instad. Let’s exit both picocom sessions with GPS still running, and install the necessary packages:

The daemon will automatically run after installation, so let’s stop it…

… in order to run it with our own parameters, i.e. using /dev/ttyUSB1 NMEA interface:

Now we can run the client as follows:

After a few seconds should get a fix with details information (left) and data about the satellites (right).

I previously played with GPS using NavSpark mini GPS Module (Arduino compatible), and at the time  I could manage to get a GPS fix inside my room, but in this case I had to move the antenna outdoor to get signal. If you want to integrate such capability into your own app, you may want to study cgps source code.

It’s also possible to get the coordinate through /dev/ttyUSB2 terminal using QGPSLOC AT command with one of the following three modes:

  • Mode 0 – format = ddmm.mmmmN/S, dddmm.mmmmE/W
  • Mode 1 – format = ddmm.mmmmmmN/S, dddmm.mmmmmmE/W
  • Mode 2 – format = (-d)dd.ddddd,(-)ddd.ddddd

The fields from left to right: <UTC time>,<latitude>,<longitude>,<hdop>,<altitude>,<fix>,<cog>,<spkm>,<spkn>,<UTC date>,<nsat>

Short explanation for the not-so-obvious fields:

  • <hdop> – Horizontal precision, 0.5-99.9 (quoted from GPGGA sentence)
  • <fix> – GNSS positioning mode (quoted from GNGSA/GPGSA): 2 = 2D positioning; 3 = 3D positioning
  • <cog> – Ground heading based on true north. Format: ddd.mm (quoted from GPVTG sentence)
  • <spkm> – Speed over ground. Format: xxxx.x, unit: Km/h, accurate to one decimal place (quoted from GPVTG sentence)
  • <spkn> – Speed over ground. Format: xxxx.x, unit: knots, accurate to one decimal place (quoted from GPVTG sentence)
  • <nsat> –  Number of satellites, from 00 to 24 (the first 0 will also be transferred, quoted from GPGGA sentence)

3G HAT with Hologram SIM Card

Let’s now move to the cellular part of the module. I’ll use Hologram developer IoT SIM card, but any 3G SIM card should do.

Connection Method 1 – Sakis3G and UMTSkeeper

ThaiEasyElec documentation uses the two following programs to establish a 3G PPP connection:

  • Sakis3G is a parameter and hardware controller for connecting to the Internet.
  • UMTSkeeper is reconnecting with Sakis3G when the connection is down.

Booth can be found in umtskeeper package that we can install from a tarball:

We then need to install some extra packages:

We’re then told to launch Sakis3G in interactive mode to configure the connection. The look of it will depend whether you launch it from the dekstop, a SSH terminal, or a serial terminal. The interface looks really ugly (and messy) from the serial console, so instead I launched it from an SSH terminal:

We need to select 1. Connect with 3G, then 3. Custom tty…, and input /dev/ttyUSB3 for CUSTOM_TTY variable.

The next step auto-detected the correct APN (HOLOGRAM), so I just selected OK, and then was asked about APN_USER and APN_PASS.

Those parameters will also depend on your specific connection. Hologram does not use user and password, but simply pressing Enter will abort the configuration, so I entered 0 for both. After that, Sakig3G will try to connect and it worked!

Pressing Enter will bring us back to the main menu, where we can select Connection Information to find a few more details.

Let’s go back in the top menu, disconnect, and exit Sakis3G. Now we can run umtskeeper with the same parameters:

But the output does not look so good the very first time, since it complains about “no modem connected”:

But eventually we do get a connection. If you connect later, the Internet status message changes to:

Connection Method 2 – PPP Creator Script

While I was eventually successful, the first time I tried Method 1 I failed for some reasons, so at the time I looked for alternatives way to connect, and found Sixfab also used Hologram SIM card with their own RPi 3G/4G shield – also based a a Quectel module, and instead wrote ppp-creator.sh script.

So I downloaded it to my Raspberry Pi board, and executed it which created some other connection scripts.

Now we can run pppd call gprs command to establish a connection:

All good, and even simpler than the first method, although you may have to change the script in case you need APN username and password.

Testing the Connection

Whether we use method 1 or 2, we can now verify ppp0 is indeed up and connected.

I did that with Ethernet connected, so now I’ll disconnect Ethernet, turn it down, and start the script from the serial connection as a background process:

Again we can see on ppp0 is an active connection:

I can test outboud traffic with ping.

All good, but then I tried to connect via SSH using

But it failed to connection, maybe because 10.170.40.106 is a “local IP address”, and the “remote IP address” set to 10.64.64.64 is just a default address as shown in the log while running pppd call gprs.

SSH Tunelling with Hologram SIM card

I’m not familiar enough with 3G/4G connectivity to know if it’s a common issue but in the case of Hologram service we need to setup tunnelling to access via SSH (or another port/service). This can be done via SpaceBrige program or the command line, as you’ll find both methods on the relevant page on Hologram website.

I used SpaceBridge program in this case. You can download the client for Windows, Linux, or Mac OS. This is what I had to do in Ubuntu 16.04:

Now you’ll need to enable Tunneling for your device in Hologram dashboard, and get your Hologram API key, which you can generate and copy from your account.

Click OK, select your device(s), input your device port (e.g. 22 for SSH), and the local port on the computer to remotely access your Raspberry Pi over 3G.Click Done, and within a few seconds the tunnerl should be up and running.

I was finally able to connect the Raspberry Pi over SSH using the following command:

I could also get the GPS coordinate from there using cgps client.

If you want to stop the connection manually started with pppd call gprs, find the PID, and kill it:

In your actual project, you’ll want to control the connection using initd scripts or systemd.

I’d like to thanks Venus Supply / ThaiEasyElec for sending the product for review, it’s been fun to try out. If you’re interested you can purchase the board for 2350 THB (~$75) on their website, and may also consider adding the GSM/3G antenna for 120 THB (~$4) as well as the GNSS antenna for 350 THB (~$12).

SocioNext MN87900 is a Really Tiny 24 GHz Radio Wave Radar Module for the Internet of Things

February 9th, 2018 4 comments

In the past, we covered tiny microwave radar modules operating at 5.8 GHz and measuring just 32 x 23 mm. Those modules are normally used to detect motion, distance, and/or direction of movement.

Socionext has now introduced MN87900, a single low-power single-chip 24 GHz radio wave IoT sensor solution that even smaller at just 12x7mm with the chip, Tx and Rx antennas, crystal, and 40-pin to solder the module to your board. The solution targets IoT equipments, security systems, smart home appliances, autonomous vehicles and drones, medical devices, and more.

SocioNext MN87900 key specifications:

  • Sensor Type – CW, FSKCW, FMCW (moving or stationary)
  • Detection
    • Motion direction – approaching or leaving
    • Motion speed – up to 200 km/h
    • Range – 0.15 to 8 meters 80°@-3dB, expandable to 30 meters  with a radome horn, a metal shield that narrows the field of view.
  • Variable frequency width –  24.15±0.1 GHz
  • Transmission Power – 0.8mW
  • Host Interface – SPI
  • Power supply voltage – 2.5V
  • Current consumption – 200mA
  • Module size – 12mm x 7mm x 1mm
  • Weight – 145 mg
  • Temperature Range – -40°C to 85°C

The chip is said to offers multi-mode sensing capabilities for detecting stationary or moving objects and measuring the distance and direction of movement, including whether an object is approaching or leaving.

The company also mentions the module can detect very slow movements such as breathing, muscle activity, or heartbeats, and while in continuous operation the MN87900 radar sensor consumes 500mW, it’s possible to use intermittent operation to reduce power requirements. For example, using one-sixth bursts consumes 80 mW. Another advantage highlighted by the company is that the system does not violate privacy since it can detect people, objects and complex activities without using a camera combined with computer vision.

An API is available to make of CW (continuous-wave Doppler), FSKCW (frequency shift keyed continuous wave), and FMCW (frequency-modulated continuous-wave) capabilities to sense distance, direction, and relative velocity information.

The company did not close pricing for the module. You’ll find more technical details on the product page.

Categories: Hardware Tags: electronics, IoT, motion, radar, socionext

TECHBASE ModBerry​ M300 IoT Gateway Adds Support for NanoPi and Orange Pi Allwinner H5 Boards

February 8th, 2018 1 comment

Announced at the end of last year TECHBASE launched the ModBerry​ M300, a Linux IoT gateway powered by FriendlyELEC NanoPi NEO board equipped with Allwinner H3 Cortex A7 processor.

The company has now made four extra variants of the gateway with Allwinner H5 quad core Cortex A53 based development boards from FriendlyELEC and Shenzhen Xunlong:

  • Modberry M300 N2 – Based on NanoPi NEO2
  • Modberry M300 N2+ – Based on NanoPi NEO Plus2 adding 8GB eMMC flash, WiFi & Bluetooth 4.0, and an extra USB port over the N2 model
  • Modberry M300 O1 – Based on Orange Pi Zero Plus
  • Modberry M300 O2 – Based on Orange Pi Zero Plus2 adding 8GB eMMC flash, HDMI, one extra USB port, and Bluetooth 4.0 over the O1 model, but falling back to 10/100 Ethernet, while all three models above come with Gigabit Ethernet

To avoid confusion, the original NanoPi NEO model has changed name to ModBerry M300 N1. The specifications summary / comparison between the 5 models can be found in the table below.

Click to Enlarge

All Modberry gateways also support internal “ExCard” expansion modules and “modems” with the latest options including:

  • SuperCap​ expansion to provide constant power supply as a UPS option
  • OLED 0.96” & OLED 1.3″ screens
  • ESP32 module as a security chip, to add a firewall into control installation
  • Aluminum case​
  • Support for 2.5″ SATA drive or M.2 2242 SSD via JMS567 USB to SATA bridge

Existing options are listed below with RS485, M-Bus, analog output, digital output, Zigbee, GPS, 3D, LTE, and so on.

Click to Enlarge

The updated Modberry M300 models are available on demand with pricing depending on project requirements (options / volume). Datasheets and other documentation will be released mid February, at which time, you should also be able to get more details on Modberry microsite.