AS923 LoRa GPS Tracking with MatchX MatchBox Gateway and RAK811 LoRa GPS Tracker Board

RAK811 Cayenne LPP Data

Earlier this month, I installed Match MatchBox LoRa outdoor gateway close to the roof, and showed how easy it was easies to setup with MatchX Cloud. Basically, you just register to the cloud, enter the serial number, and the gateway is automatically based on your location. I’m in South East Asia, so the gateway was configured with AS923. I’ve now had time to play with the gateway using Rak Wireless RAK811 LoRa tracker board, and eventually managed to get the tracker location to show up on a map. It was my first experience with LoRaWAN, and I had to learn a lot, and overcome many issues from outdated software development tools, different data formats, and some interoperability issues between all components involved. I’ll document all that in this review, and hopefully it will help others. RAK811 LoRa GPS Tracker Unboxing Before going into LoRa configuration, I’ll show what I got with RAK811 node. It comes with an “IoT Made Easy” …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

MatchX MatchBox LoRa Gateway Setup (for AS923) and Installation

Waterproof LoRa Gateway

At the end of last year, I received MatchX Matchbox LoRaWAN gateway, but only quickly checked out the hardware, as I was still unclear about regulations in South East Asia, and did not have any nodes to play with. Understanding Regulations and LoRaWAN Frequency Plans Since then, the government published some notifications about the 920-925 MHz band we are supposed to follow here. It’s in Thai language, and I can’t still read/understand it, but I got some translation help, and some key points include: paragraph 5 : for 920-925MHz non-RFID radio equipment (1) max EIRP not more than 4 watts (2) if EIRP < 50mW, no need for any license (3) if EIRP < 500mW, a license is required for importing, selling, and making your own equipment (4), and you must be in accordance with NBTC technical standard. (5) must not interfere with any licensed application. Interfering equipment must be prevented for any usage. I’ve also learned that LoRaWAN defines frequency …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Flashing Firmware to Rockchip Devices in Linux with rkdeveloptool Open Source Utility

Rockchip rockusb mode

It’s been possible to flash firmware to Rockchip devices in Linux with upgrade_tool command line tool for many years, but the utility is closed-source and only supports “RK Firmware” files that are also used for OTA firmware updates, but not “raw firmware” that you’d flash directly to micro SD cards for example. This week-end as I played with ROC-RK3328-CC board, I encountered some instability issues with micro SD cards, so I instead relied on an eMMC flash module. The only problem was that Firefly Team only releases “raw firmware” files, so I was unable to use upgrade_tool, and instead found out rkdeveloptool  open source utility was used to flash raw firmware images in Firefly’s Wiki. The first step is to connect a male to male USB  Type A cable (like that one on eBay)  between the board and the host computer, and connect a USB power adapter to the board. At least that’s what I had to do here, because …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Visual Studio 2017 with an Embedded Linux Arm Device

This is a non-sponsored guest post written by Marc Goodner: Principal Program Manager, Microsoft, and Jeremias Cordoba: Innovation Engineer, Toradex. Today many embedded devices run some flavor of Linux as their primary operating system. This poses a challenge to developers who run Windows on their development machine. This article explains a new way to use the latest Visual Studio for C++ development on an embedded Arm Devices from a Windows Host PC using containers for the build environment. The device we are deploying to is from the Toradex Colibri Family of System on Modules using the NXP i.MX 6ULL SoC, which features an Arm Cortex A-7. As a demo project we will connect a Bluetooth Sensor with the Toradex Colibri Module. Please note that Visual Studio support for this case is in an early state, you will see improvements from Microsoft and Toradex in the coming months. Prerequisites Colibri i.MX 6ULL with Wi-Fi/BT and an Aster Carrier Board TI SensorTag (Bluetooth low energy) …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Digitize Handwritten Notes with a $10 LCD Writing Pad and CamScanner App

Despite writing about high-tech technology with processors, software, IoT, artificial intelligence news everyday, I’m still very much a pen and paper kind of guy when it comes to taking notes. But this morning, I figured out it’s possible to digitize your notes on the cheap without having to use actual ink and paper, as 8.5″ digital LCD writing pads now cost as little as $10 shipped, and although those are pretty dumb devices with just an erase button and no connectivity nor storage, you can “scan” your notes using CamScanner app for Android and iOS. Specifications for the $10 model: 8.5″ LCD display with 25%-30% reflective ratio Pen Input pressure – 10-20g Power Supply – CR2016 button battery (included) Dimensions – 228 x 147 x 5mm (ABS plastic) Weight – About 110g This will reduce the amount of paper you use and store, and possibly have a positive impact of the environment, although estimating the latter is always harder than …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

My Attempt at Getting Started with Zephyr Project OS on ESP32

Zephyr Project is a real-time operating systems for the Internet of Things (IoT) that was introduced in early 2016, and supported/hosted by the Linux Foundation. It runs on a fairly large number of MCU boards from different architecture (x86, Arm, RISC-V, etc..), and Linaro even launched 96boards IoT compliant hardware like BLE Carbon board that are designed to run Zephyr Project. More recently, Linaro CEO revealed several commercial products are shipping with Zephyr Project OS, so I thought it might be a good time to give it a try. Target Board – Wemos Lolin32 I only had STM32 Bluepill, and some ESP32 boards, so I went with the latter since it comes with WiFi. But instead of re-using some of my existing boards, I asked Banggood whether they could send Wemos Lolin32, which they did. They sell it for $7.99 shipped, but any other ESP32 board should do. The board comes with two headers that you can solder if you …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

IOTA Tangle is a Blockless Distributed Ledger for the Internet of Things – Running a IOTA Full Node on Rock64 Board

IOTA-Wallet-Light-Node-vs-Full-Node

A lot of efforts is going into distributed ledger technologies like the blockchain, and while I keep hearing blockchain is the future, there’s a lot of hype, and so far I have not seen that many practical use cases. But recently I saw Open Source Foundries – a new company announced at Linaro Connect US 2017 – participated in the IOTA blockchain BoF at the OpenIoT Summit 2018 showing a demo publishing sensor data to the IOTA Tangle. So maybe we have a practical application here… Sadly, there’s no video recording of the IOTA blockchain BoF, so instead let’s go to the IOTA website to find out more. What is IOTA? That’s the short description of the solution: An Open-Source Distributed Ledger The first open-source distributed ledger that is being built to power the future of the Internet of Things with feeless microtransactions and data integrity for machines. The key technology behind IOTA (Internet of Things Applications) is called the Tangle: …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Running out of RAM in Ubuntu? Enable ZRAM

htop-zram

Whenever I ran out of RAM on a Linux system, I used to enable swap memory using the storage device to provide an extra bit of memory.  The main advantage is that it’s does not require extra hardware, but come at the cost of much slower access, and potential issues or wear and tear, unless you only use it temporary. This week-end, I compiled Arm Compute Library on ODROID-XU4Q board, and the first time it crashed because the system ran out of memory, so I enable swap on the eMMC flash module to restart and complete the build successfully. However, I was told it would have been better to enable ZRAM instead. So what is ZRAM? Wikipedia explains: zram, formerly called compcache, is a Linux kernel module for creating a compressed block device in RAM, i.e. a RAM disk, but with on-the-fly “disk” compression. So it’s similar to swap, expect it operates in RAM and compresses memory. It’s also possible …

Support CNX Software – Donate via PayPal or become a Patron on Patreon