Tag Archives: IoT

Volterman, Your Personal Smart Wallet

With the rapid growth of technology, smartphones and e-payments are replacing cards, cash, and wallets. However, developers are still trying to keep wallets relevant in the 21st century, and Volterman is the newest attempts. Besides WiFi hotspot and power bank, Volterman also provides novel security features to protect your phone and wallet from loss.

Similar to other smart wallets, Volterman has a GPS tracking capability, so you can find it easily in case it lost. Through Bluetooth connectivity, it connects to the smartphone to ensure that you will not forget one of them. An alarm will start ringing to notify you and pick up what you have missed.

The new innovative idea on Volterman is a small built-in camera. It captures everyone trying to open the wallet while “lost mode” is running. The pictures are sent directly to the paired smartphone, meaning that you will know who is using your wallet and where is he. With an embedded SIM card, you are also able to track your wallet via the website.

Volterman’s Embedded System Specification

Inside the wallet, there is a full computing system to do all the stuff. The main components are:

  • CPU: ARM Cortex A9
  • Memory: 512MB RAM, and 32GB ROM
  • SD card: 64GB embedded card
  • Bluetooth: 5.0
  • Camera: 4MP
  • Mobile Network: Worldwide 2G, 3G
  • Wi-Fi: 802.11 BGN, Hotspot
  • GPS: A-GPS, GLONASS
  • Connector: magnetic connecter by Volterman
  • Power Bank: 2000mA, 2600mA, 5000mA, in addition to the capability of wireless charging.
  • Input voltage: 5V, 1A
  • Output voltage: 5V, 500mA

An interesting point is that the purchase price is covering the data charges for the GPS tracking and sending of photos to the Volterman server. According to the makers, Volterman will automatically connect to local networks in 98 countries, but at the moment the exact tariffs from country to country are unclear. However, it is offering up to 3 times cheaper internet cost than the regular price, with an early estimate of around $15 per 1 GB.

The Volterman comes in three different sizes: a small cardholder model $98 with 2,000-mAh power bank, a conventional bifold wallet $135 with 2,600-mAh power bank, or a larger travel size $157 designed to hold more cards, a passport and with a 5,000-mAh power bank.

After reaching more than one million dollars on IndieGoGo, Volterman is now ready for mass production and estimated to start shipping and the first quarter of 2018.

Take a look at the crowdfunding campaign video below:

Banana Pi M2 Magic, Smallest Banana Pi Board

Sinovoip had announced its new board Banana Pi M2 Magic. At first, it is an ARM SoC development board that features a high computing performance in a 51mm square portable design. In addition to onboard WiFi and Bluetooth, M2 Magic offers 8GB eMMc storage and DDR3 SDRAM of 512 MB. There is also an SD card slot for more storage, to install an OS for example.

Banana Pi M2 Magic

Banana Pi M2 Magic specifications:

  • SoC: Allwinner R16 or Allwinner A33, quad-core ARM Cortex-A7 processor with ARM Mali 400 MP2 GPU
  • System Memory: 512MB DDR3
  • Storage: 8 GB eMMC flash (option: 16, 32 or 64GB) + micro SD slot
  • Display Interface: 4-lane MIPI DSI connector
  • Camera Interface: CSI connector supporting up to 5MP sensor, 1080p30 H.265 video capture
  • Video Decoder: Multi-format FHD video decoding, including Mpeg1/2, Mpeg4, H.263, H.264, etc H.264 high profile 1080p@60fps
  • Audio: Onboard microphone
  • Connectivity: Wifi 802.11 b/g/n, Bluetooth 4.0 LE (AP6212)
  • USB: 1x USB 2.0 host, 1x micro USB 2.0 OTG port
  • Expansion: 40-pin header with GPIOs, UART, I2C, SPI, PWM…
  • Misc: Reset & power buttons, RGB LEDs,
  • Power Supply:
    • 5V @ 2A via DC power barrel
    • 3.7V Lithium battery support
  • Dimensions: 51 x 51 mm
  • Weight: 40 grams

Alongside the processor and the memory at the front side of the board, you will find a 40-pin GPIO header, a DSI display slot, an Antenna connector, a CSI camera slot, a USB OTG adapter, a USB2.0 port, a microphone and a DC power jack. On the rear side, there is an antenna, a PMIC AXP223, a battery interface and a microSD card slot.

Front and rear sides

This board is oriented for IoT applications in general. Since there is no HDMI interface, M2 Magic is suitable for headless use, or you can use the MIPI DSI display interface to connect a screen. It also doesn’t have an Ethernet interface, so you will have to use WiFi and Bluetooth connectivity.

The board will run Tina IoT Linux, which is a lightweight Linux distribution optimized for Allwinner R-Series processor.

Tina IoT Linux

Both A33 and R16 versions are available in the market. A33 version is for $23, while R16 is for $28. You can get it from any global distributor or cooperative partner of Banana Pi products. Finally, you can reach more information and data at the official wiki.

Ubuntu Core to the i.MX6 based TS-7970

Technologic Systems,Inc. announced that it will be partnering with Canonical to make Ubuntu Core available for their newest single board computer: the TS-7970. The TS-7970 is a high-performance single board computer based on the NXP i.MX6 CPU which implements the ARM® Cortex A9 architecture clocked at 1 GHz.

Bob Miller, founder of Technologic Systems said, “With the functionality of our TS-7970 and the flexibility of Ubuntu Core, I can see these powering virtually anything from industrial Internet of Things gateways, plant automation, network equipment, high definition digital signage, to remote monitoring stations.”

The TS-7970 is ideally suited for deployment into a wide range of robust industrial applications and is truly a high end general purpose single board computer ideal for smart devices, auto entertainment systems, medical systems, enterprise class intelligent control, plant automation, or any high-end embedded systems. Ubuntu Core is ideal for this environment because of its rich networking and protocol support. In addition, Ubuntu Core offers a secure, reliable, and remotely upgradeable platform to easily update and maintain IoT devices making for a more secure and cost-effective deployment.

IoT Projects Is Now Easier With Bolt IoT Platform

Internet of Things (IoT) is one of the most important technologies these days. It became an essential component of many hardware projects core. And in order to make it easier for developers, Bolt IoT platform appeared as a complete solution for IoT projects.

Bolt is a combination of hardware and cloud service that allow users control their devices and collect data in safe and secure methods. It also can give actionable insights using machine learning algorithms with just some few clicks.

The platform consists of three main components, Bolt hardware module, Bolt cloud, and analytics. The hardware module is a WiFi chip with a built-in 80 MHz 32-bit RISC CPU that operates at 3.3v. It also works as an interface for a set of sensors and actuators through GPIO and UART pins to collect data and react with it.

Bolt Hardware

The next part is Bolt cloud which used mainly for configuring, monitoring, and controlling connected devices. It is a visual interface enables users to setup hardware and prepare the system easily and quickly. In addition, there is a code editor to write and edit codes for the hardware. The special feature is that you can reprogram the system remotely!

Finally, the analysis and monitoring unit provide visualized insights based on machine learning algorithms. The collected data are stored securely on the cloud, and the reports are presented as graphs, charts, or any customized visualization.

Bolt IoT Platform Features

  • A Wifi or a GSM chip
    An easy interface to quickly connect your hardware to cloud over GPIO, UART, and ADC. Also, connects to MODBUS, I2C, and SPI with an additional converter.
  • Robust Communication
    Bolt is equipped with industry standard protocols to ensure a Secure and fast communication of your device data with cloud.
  • Security
    Bolt has built-in safeguards to secure all user data from unwanted third party intrusions and hacks.
  • Machine Learning
    Deploy machine learning algorithms with just a few clicks to detect anomalies as well as predict sensor values.
  • Alerts
    Utilize Bolt’s quick alert system providing invaluable information sent directly to your phone or Email. You can config the contact details and set the threshold.
  • Mobile App Ready
    Customize and control your devices through Mobile apps. Bolt gives you full freedom to design your own mobile app centered around your requirements to monitor and control.
  • Global Infrastructure and Easy Scalability
    Bolt lets you scale from prototype to millions of devices in just a few weeks time.
  • Over the air updates
    Simultaneously program or update all your Bolt powered IoT devices wherever they are. Bolt offers you unparalleled scalability and elasticity to help your business grow.

The scope of applications that may benefit from using Bolt is very wide, including environmental applications, smart cities, electricity management, and much more. Bolt is available for ordering in two packages, the first is for developers and the other is for enterprises. Developers option contains one Bolt unit with three free months of cloud services, and its cost is about $75.

At last, Bolt makers are launching a Kickstarter campaign on the 3rd of November 2017. If you are interested and want to know more about this platform, take a look at the official website and read this detailed features document. Update 6-11-2017 – They achieved the goal of $10,000 USD funding in just 5 hours from launch!

IoT cloud development kit is Wi-Fi and BT/BLE-ready

Together with partners Cypress Semiconductor and Murata, distributor Future Electronics has launched the Nebula IoT Development Kit, an IoT cloud ready board that allows developers to quickly prototype and deploy their IoT ecosystems. by Julien Happich :

Wireless connectivity is supported by the Murata 1DX module, which is powered by the Cypress CYW4343W Wi-Fi and BT/BLE combo SoC.

The SoC includes a 2.4 GHz WLAN IEEE 802.11 b/g/n baseband/radio and Bluetooth 4.2 support. In addition, it integrates a high-performance power amplifier (PA), a low-noise amplifier (LNA) for best-in-class receiver sensitivity, and an internal transmit/receive (iTR) RF switch, further reducing the overall system cost and 1DX module size

IoT cloud development kit is Wi-Fi and BT/BLE-ready – [Link]

More IoT with Compute Module 3 and Ubuntu Core OS

Canonical, the company behind Ubuntu, announced recently that its IoT OS, Ubuntu Core, is available on the Raspberry Pi Compute Module 3 – the general-purpose compute product from the Raspberry Pi Foundation. This OS, the smallest Ubuntu ever, is the perfect host operating system for IoT devices and large-scale cloud container deployments. Actually, the Raspberry Pi Compute Module 3 (CM3), is a micro-version of the Raspberry Pi 3. With its new features, it provides a simple and affordable single board computer.

In fact, this module is based on the Raspberry Pi 3 hardware, providing twice the RAM and roughly 10x the CPU performance of the original Module, launched in 2014. Even though CM3 is replacing the original Compute Module, but CM1 is still compatible with the new Compute Module IO Board V3, and remains available for sale.

CM3 takes care of the complexity of routing out the pins, the high speed RAM interface and core power supply. Also, it allows a simple carrier board to provide what is necessary for external interfaces and form factor. The module uses a standard DDR2 SODIMM form factor, sockets by several manufacturers, are easily available, and are inexpensive.

Software Defined Everything?

As a vision for Canonical, The CM3 with Ubuntu Core allows developers to create new IoT products and devices. As well as offering a potentially smaller and more efficient replacement for some devices that contain larger Raspberry Pi boards.

“Gaining official support for Ubuntu Core is highly significant for our Compute Module 3. It opens up a huge community of developers keen to leverage Ubuntu’s particular advantages in the IoT world; its resource-efficient footprint, versatility, and industry leading security benefits,” says Eben Upton, CEO at Raspberry Pi.

Finally, more comprehensive information on the Compute Modules is available in the this hardware documentation, and includes a datasheet and schematics. In addition, you can check this step-by-step tutorial to install Core OS on your Compute Module 3 by Ubuntu Developer.

Meet Spritzer, Sony New Arduino

Sony has recently launched one of its new products, Spritzer! Spritzer is an Arduino-compatible board for IoT applications that has built-in GPS, audio codec, and low power consumption.

While it is Arduino-compatible, the board allows any developer to easily start app development using the free Arduino IDE and an ordinary USB cable. In fact, the board features a processing chip with a unique combination of low power consumption and a rapid clock speed of 156MHz. Thus, it is extremely versatile and it can be deployed for a vast range of use cases.

For the first time, the company demonstrated the board at Tokyo Maker Faire last month with a drone utilizing the GPS and the 6-axis sensor support, a smart speaker utilizing the audio functions, a self-driving line-tracing miniature car, and a low-power smart sensing IoT camera using the camera interface of Spritzer.

Sony Spritzer specifications

  • MCU – Sony CDX5602 ARM Cortex-M4F ×6 micro-controller clocked at up to 156 MHz with 1.5MB SRAM
  • Storage – 8MB Flash Memory, micro SD card
  • GNSS – GPS, GLONASS, supported
  • Audio – 3.5mm audio jack
  • Expansion I/Os
    • Digital I/O Pins – SPI, I2C, UART, PWM ×4 (3.3V)
    • Analog Pins – 6ch (3.3V range)
    • Audio I/O – 8ch Digital MICs or 4ch Analog MICs, Stereo Speaker, I2S, CXD5247 audio codec with 192 kHz/24bit High-Resolution audio
    • 2x camera interfaces
  • USB – 1x micro USB port for programming
Spritzer Block Diagram

“You’ll have to connect external module to get Bluetooth, WiFi, and LTE, a display up to 360×240 resolution can be used via SPI, all sort of sensors can be connected via the expansion header, the board is suitable for microphone arrays, and it can be powered by batteries thanks to a charger circuit and fuel gauge inside CXD5247 audio codec / PMU chip.” – CNXSoft

More details about the board will be available by 2018. Until then, check this Japanese official page about Spritzer, or this translated page.

Movidius Deep Learning USB Stick by Intel

Last week, Intel launched the Movidius Neural Compute Stick, which is a deep learning processor on a USB stick.

This USB stick was not an Intel invention. In fact, Intel had acquired Movidius company that had produced last year the world’s first deep learning processor on a USB stick based around their Myriad 2 Vision Processor.

Neural Compute Stick is based around the Movidius MA2150, the entry level chip in the Movidius Myriad 2 family of vision processing units (VPUs). Using this stick will allow you to add some artificial visual intelligence to your applications like drones and security cameras. 

Movidius Neural Compute Stick form factor device enables you prototype and tune your deep neural network. Moreover, the USB form factor connects to existing hosts and other prototyping platforms. At the same time, the VPU provides machine learning on a low-power inference engine.

Actually, the stick role comes after training your algorithm where it is ready to try real data. All you have to do is to translate your trained neural network from the desktop using the Movidius toolkit into an embedded application inside the stick. Later on, the toolkit will optimize this input to run on the Myriad 2 VPU. Note that your trained network should be compatible with Caffe deep learning framework.

It is a simple process

  1. Enter a trained Caffe
  2. Feed-forward Convolutional Neural Network (CNN) into the toolkit
  3. Profile it
  4. Compile a tuned version ready for embedded deployment using the Neural Compute Platform API.

An outstanding feature is that the stick can work without any connection to cloud or network connection, allowing to add smart features to really small devices with lower consumption. This feature may be on of the revolutionary ideas to start combining IoT and machine learning devices.

Neural Compute Stick Features

  • Supports CNN profiling, prototyping, and tuning workflow
  • All data and power provided over a single USB Type A port
  • Real-time, on device inference – cloud connectivity not required
  • Run multiple devices on the same platform to scale performance
  • Quickly deploy existing CNN models or uniquely trained networks
  • Features the Movidius VPU with energy-efficient CNN processing

“The Myriad 2 VPU housed inside the Movidius Neural Compute Stick provides powerful, yet efficient performance — more than 100 gigaflops of performance within a 1W power envelope — to run real-time deep neural networks directly from the device. This enables a wide range of AI applications to be deployed offline.” — Remi El-Ouazzane, VP and General Manager of Movidius.

At the moment, the stick SDK in only availble for x86, and there are some hints to expand platforms support. Meanwhile, developers are hoping to have ARM processor support since many of IoT applications rely on ARM processor. However, this may be not possible since the stick is an Intel product.

This stick is available for sale now, and costs $79. More information about how to get started with the stick is available on the Movidius developer site. Also check this video by Movidius:

 

Visual Studio Code Extension for Arduino is now open sourced!

Visual Studio Code is the cross-platform, open sourced advanced code editor by Microsoft.

Recently, after being interested in IoT and hardware, Microsoft is now searching for tools to make building IoT devices easier. It added an Arduino extension to its Visual Studio Code to enable a better eco-system for IoT developers using Arduino. By making some research about some challenges usually developers face, Microsoft found out that giving more access to new features and capabilities will be a pain killer for IoT enthusiasts. Later on, Microsoft had opened the source of the Arduino extension and placed it on GitHub.

 

Our Arduino extension fully embraces the Arduino developer community and is almost fully compatible and consistent with the official Arduino IDE. On top of it, we added the most sought-after features, such as IntelliSense, Auto code completion, and on-device debugging for supported boards.

Core functionalities of Arduino extension

  • IntelliSense and syntax highlighting for Arduino sketches
  • Built-in board and library manager
  • Verify and upload your sketches in Visual Studio Code
  • Built-in example list
  • Snippets for sketches
  • Built-in serial monitor
  • Automatic Arduino project scaffolding
  • Command Palette (F1) integration of frequently used commands (e.g. Verify, Upload…)
  • Integrated Arduino Debugging (New)

Of course, you can download this extension from Visual Studio Code Marketplace at: https://aka.ms/arduino.

Fortunately, Microsoft had open sourced this project on GitHub under MIT License. Thus, if you are developer, you are more than welcome to participate in developing this extension and here how you can help:

  • File a bug, submit a feature request, you can find the current bug/issue list and feature requests at GitHub’s issue tracker.
  • Join developers and users’ discussions at chat on gitter.
  • Fork the repository, fix bugs and send pull requests
  • Fork the repository, add your new cool features and send pull requests.

Finally, more detailed instructions are available at the Visual Studio Code Repo at GitHub.

Temperature Controlled Stair lights With Raspberry Pi

Ever wished to know the temperature on your way to breakfast after waking up in the morning? Now you can find it out in a fascinating way as Lorraine Underwood at The MagPi magazine designed a temperature controlled colorful stair lights system with raspberry pi. In this tutorial, we’re going to discuss that project.

Temperature Controlled Stair Lights
Temperature Controlled Stair Lights

Required Parts

  • Strip of 50 neopixels
  • A 5V power source for the lights
  • 2 x terminal blocks
  • 2 x male to female jumper cables
  • A raspberry pi zero with SD card with Raspian installed
  • Power supply for the Pi zero (temporary)

 

Make sure that the raspberry pi power supply gives exactly 5 volts and is capable of outputting 2.5A current.

Make The Circuit

At first, examine your LED strip and find out which pin is what. Connect two wires to GND, one wire to Din, and one wire to +5V pin. Now, connect the 5V pin to the “+” terminal of the female jack and GND pin to the “-” terminal. Tighten the screws of the terminal block to ensure that the wires are connected properly.

Connect the Din and GND pin of the LEDstrip to the GPIO 18 and GND of the Raspberry Pi respectively, using the male-to-female jumper wires. Please note that Broadcom numbering (BCM) is used in this tutorial, not the physical numbering. It will look like below after making the connections:

Connecting Wires To The LED Strip
Connecting Wires To The LED Strip

Set Up The Weather API

You need to set up a weather API in order to get the outside temperature in your area. In this tutorial, forecast.io is used as they allow you to make 1000 queries per day free of cost. Go to forecast.io and select Developer option. Then, click sign up to create a developer account and provide your email address. A secret key will be sent to that address. Store it securely as you’ll need in the next step.

Prepare The Raspberry Pi

At first, you need to install the Adafruit NeoPixel library rpi_ws281x. Go here and follow the instructions to install the required files on your raspberry pi. Once installed, navigate to the examples folder, run any script you wish, and check if the LED strip is functioning properly.

Now, save the below script as stair_lights.py in the Raspberry Pi:

#!/usr/bin/python3
from urllib.request import urlopen
import json
import time
from neopixel import *

apikey="get_your_own_key" # get a key from https://developer.forecast.io/register
# Latitude & longitude - current values are Lancaster University
lati="54.005546"
longi="-2.784876"

LED_COUNT = 50 # Number of LED pixels.
LED_PIN = 18 # GPIO pin connected to the pixels (must support PWM!).
LED_FREQ_HZ = 800000 # LED signal frequency in hertz (usually 800khz)
LED_DMA = 5 # DMA channel to use for generating signal (try 5)
LED_BRIGHTNESS = 8 # Set to 0 for darkest and 255 for brightest
LED_INVERT = False # True to invert the signal (when using NPN transistor level shift)

def color(strip, color, start, end): 
 for i in range(start, end+1):
 strip.setPixelColor(i, color)
 strip.show() 
 
strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, LED_FREQ_HZ, LED_DMA, LED_INVERT, LED_BRIGHTNESS)
strip.begin()

count = 0
try:
 while True: 
 #get the data from the api website
 url="https://api.forecast.io/forecast/"+apikey+"/"+lati+","+longi+"?units=si"
 meteo=urlopen(url).read()
 meteo = meteo.decode('utf-8')
 weather = json.loads(meteo)

currentTemp = weather['currently']['temperature']

#negative number will always be on 
 color(strip, Color(0, 0, 255), 0,7) # Blue
 
 #what's the temp?
 if currentTemp > 0:
 color(strip, Color(75, 75, 255), 8, 15) # light Blue
 if currentTemp > 5:
 color(strip, Color(0, 255, 0), 16, 23) # dark Green
 if currentTemp > 10:
 color(strip, Color(75, 255, 75), 24, 31) # light Green
 if currentTemp > 15:
 color(strip, Color(255, 100, 0), 32, 39) # yellow 
 elif currentTemp > 20:
 color(strip, Color(255, 50, 0), 40, 47) #orange 
 elif currentTemp > 25:
 color(strip, Color(255, 0, 0), 48, 50) # Red 
 #check every 5 minutes (change to crontab)
 time.sleep(300)
 
except KeyboardInterrupt:
 print("Exit")
 color(strip, Color(0,0,0), 0, 49)

Enter your own secret key in the apikey field on the 7th line. Also, replace the longitude and latitude values on line 9 and 10 with the coordinates of your area. Now save the file and you are almost done.

To start the script automatically after each reboot and check the outside temperature every five minutes, set up a cron task by entering the following command:

sudoE crontab -e

A file will be opened and add the following lines at the end of the file:

*/5 * * * * /usr/bin/python3 /home/pi/stair_lights.py
@reboot /usr/bin/python3 /home/pi/stair_lights.py

Save the file and exit.

The Color Scheme

The following table shows which color represents which temperature range. You can modify the script to change the current color scheme.

Temperature (°C) Lights (Nos) Color
 0 – 4  9 – 16 Light Blue
 5 – 9 17 – 24 Dark Green
 10 – 14 25 – 32 Light Green
 15 – 19 33 – 40 Yellow
 19 – 24  41 – 48 Orange
 25+  48 – 50 Red