Weather Station Based On ChipKIT

ChipKIT Uno32 by Digilent is an easy-to-use platform for developing microcontroller-based applications. It uses chipKIT-core development environment and Arduino IDE for compatibility with existing code examples, tutorials and resources. Pin-compatible with many Arduino shields that can operate at 3.3V.
It contains:

  • PIC32MX320F128H processor
  • 128K Flash, 16K RAM
  • Up to 80 MHz operating speed
  • 42 available I/O lines
  • USB or externally powered
  • USB cable required for programming (not included)

chipkit-uno32-obl-500-big-500x361

This kit is now discontinued and replaced by chipKIT uC32.

By following this tutorial you will be able to build a weather station based on chipKIT and using Bosch BME280 module, a fully integrated environmental unit that combines sensors for pressure, humidity, and temperature in a tiny 8-pin metal-lid LGA package of size 2.5 x 2.5 x 0.93 mm³. This module seems popular due to many features such as its support for standard I2C and SPI interfaces and availability of supporting open-source Arduino libraries.

R-B, the maker behind this project, uses BME280 to read barometric pressure, relative humidity, and temperature measurements then the readings will be sent via I2C bus and finally displayed on a Nokia 5110 LCD.

p_20161109_153854-600

Hardware Setup:

You will need these parts in order to build this project:

  • ChipKIT Uno32
  • BME 280
  • Nokia 5110 LCD:  It is a 48×84 pixels matrix LCD driven by the low-power PCD8544 controller chip. It is powered by 3.3V and includes on-chip generation of LCD supply and bias voltages, thus requiring minimum external components for its operation. The PCD8544 receives display data and commands from a microcontroller through a serial bus interface.

The complete hardware setup for this project is shown in the following figure:

Connections between chipKIT Uno32, BME280 and Nokia 5110 LCD
Connections between chipKIT Uno32, BME280 and Nokia 5110 LCD
Software

You will need to install the following libraries prior to develop the firmware for this project.

Output

The program displays ambient temperature in Centigrade, humidity in %, and atmospheric pressure in hectopascal (hPa) units.

Weather station displaying temperature, humidity, and pressure shown in hPa unit.
Weather station displaying temperature, humidity, and pressure shown in hPa unit.

Full description of how to connect the modules together, how to set the I2C connection and more detailed information are available at the project page.
Just download the complete program, get the needed parts and you are ready to build your own weather station! You can check other tutorials by R-B here.

18V, 5A buck-boost DC/DC delivers 95% efficiency

161115edne-linear3119

LTC3119 is a synchronous current mode monolithic buck-boost converter that outputs up to 5A of continuous output current in buck mode from a wide variety of input sources, including single- or multiple-cell batteries, unregulated wall adapters as well as solar panels and supercapacitors. By Graham Prophet @ edn-europe.com:

The device’s 2.5V to 18V input voltage range extends down to 250 mV once started. The output voltage is regulated with inputs above, below or equal to the output and is programmable from 0.8V to 18V. User-selectable Burst Mode operation lowers quiescent current to 35 µA, improving light load efficiency and extending battery run time.

18V, 5A buck-boost DC/DC delivers 95% efficiency – [Link]

ArduWorm, Arduino Yún Malware

Since Internet of Things market is growing exponentially and the use of embedded and pervasive devices is increasing, this may introduces some security threats in the network.

A group of Spanish researchers at the Computer Security Lab, Universidad Carlos III de Madrid have developed a malware, ArduWorm, that targets Arduino Yún, a common platform used in IoT. This malware can bypass all the security provided within Arduino by causing a memory corruption. According to the researchers this malware will be “able to get the control of a Linux-based microprocessor integrated in the device with full privileges, which allows it to install a backdoor and spread as a worm through the compromised network”.

Modern smart devices such as smart phones or tablets are used in social networking, instant messaging or e-commerce. Therefore, these devices store a huge amount of personal and valuable information that is attractive for attackers.

arduino-yun-designboom01

Arduino Yún, is an Arduino board that was specifically designed for IoT applications. It contains an Atheros Microprocessor (MPU) holding a Linux based OpenWrt operating system. This Atheros MPU manages one Ethernet interface and one Wifi card, which make it a suitable device for IoT scenarios. The board has a USB-A port, micro-SD card slot, 20 digital input/output pins, a 16MHz crystal oscillator, a micro USB connection, an ICSP header, and 3 reset buttons.

A security analysis of the Arduino Yún shows that it contains many architectural flaws and since this AVR-based chip has limited resources compared with modern MCU and MPU based on ARM or x86 architectures, classical protections against memory corruption, such as stack overflow protection or memory layout randomization can not be easily deployed.

Schematic view of AVR memories
Schematic view of AVR memories

The key of this hack is to get the AVR to run out of RAM. Researchers wrote more and more data into memory until they reached the heap, the memory for control data.
Although the code you want to run is available in flash and it is immutable, recent researches proved that using Return-Oriented Programming (ROP) could inject code into the flash memory. These kind of ROP tricks came in handy for the researchers to write a worm.

Thus, the exploit uses code reuse attacks (Return Oriented Programming and return to-lib) to benefit from a memory corruption vulnerability. ArduWorm has also some infection capabilities and it can automatically spread through neighbor nodes.

During the last few years, malware in tablets and smartphone devices has become one of the main concerns of security researchers. According to Mcafee’s 2015 threat reports up to 1.2 million different malware pieces targeting mobile platforms were detected. A similar report published by the AV company PandaLabs, stated that during 2015 an average of 230.000 different samples were detected on a daily basis.

Researchers are developing ArduWorm as a proof of concept proven in their experimental setup, and they hope that it can motivate research in the design of defensive mechanisms for Arduino and IoT devices.

More details about this malware proof of concept are available at this research paper.

Marvin, A Plug & Play IoT Development Board

Internet of Things became one of the most important technology trends nowadays, and everyday we have a new board or tool that helps people to create IoT application. Today, we introduce you to “Marvin”, a new IoT board developed at RDM Makerspace.

Marvin in his natural habitat of sensors, cables and power
Marvin in his natural habitat of sensors, cables and power

Marvin is an easy to use, plug and play development board for rapid prototyping of IoT solutions with a full size USB port. It is compatible with the open source Arduino platform and works with LoRa communication on LoRa networks.

The board is designed as a USB stick, so you can program it directly into your computer, and once you are done you can plug it into a power bank easily without having to bother with any cables in the process. Marvin is based on the Microchip RN2483 as a LoRa module with 868 & 434 MHz frequency bands, so you can use it anywhere outdoor in Netherlands, and other countries.

bfcf039917ec49a4c69fcd6afc020f2e_original

Marvin is also compatible with Grove System, modular, ready-to-use tool sets. Similar to LEGO, it takes a building block approach to assembling electronics. The Grove system consists of a base shield and various modules with standardized connectors. A wide range of Grove modules are available for use within the Grove System.

LoRa, stands for Long Range Low Power, appears to be one of the most popular LPWAN standards. It is a very efficient, light weight way of communicating small messages wireless. The LoRa module is a hardware chip, that is most of the time sleeping, which means you save loads of power.

Advantages of the LoRa Network
Advantages of the LoRa Network

Marvin board specifications:

  • MCU – Atmel/Microchip ATmega32u AVR MCU (same as Arduino Leonardo board)
  • Connectivity – LoRa via Microchip RN2483; Supports both 868 MHz and 433 MHz frequency bands, on-board antenna
  • USB – 1x USB, 1x micro USB port for power and programming
  • Debugging – USB, and ISP header
  • Expansion – 5x Grove connectors
  • Power Supply – 5V via USB port
  • Dimensions – N/A, but similar to USB flash drive

There are five steps to create an IoT project, first connect Marvin to your PC and add sensors, then write your code and upload it to Marvin, finally connect to the power source and enjoy testing your project.

b4ebcc80ee4eb6e5fdbdf83d511fd478_original

The project has been recently launched on kickstarter, and the developers had surpassed their €10,000 funding target with close to €16,000 raised so far. Ordering Marvin is available for €70 through the campaign page with many other offers.

How to connect a Solar Inverter in 10 minutes

Let’s connect a solar power inverter for AC voltage output in just 10 minutes.

How to connect a Solar Inverter in 10 minutes – [Link]

Connect Raspberry Pi Easily To IoT with Particle

particle-verticalParticle is an Internet of Things device platform that enables businesses to quickly and easily build, connect and manage their connected solutions. Particle launched on Kickstarter in 2013 with the vision of making the Internet of Things easy and accessible.

Particle was listed as one of Fast Company’s Most Innovative Companies of 2015 and has been featured in a number of Gartner reports on IoT solutions.

Particle announced that they have been working with the Raspberry Pi Foundation to provide free IoT cloud support for the 10,000,000 Raspberry Pi devices already out in the world.

particle-pi-image

All Raspberry Pi devices will be able to connect to the Particle Cloud, and to benefit from key IoT features such as secure messaging, over-the-air updates, simplified GPIO control, data visualization, cloud integrations, and batch script execution out of the box.

The Raspberry Pi + Particle integration will bring some unique features to the Raspberry Pi

Run simple Arduino code on your Pi

No more complicated tooling, setup, or scripting to perform simple tasks like trigger a pin, blink an LED, or read a sensor value. With Particle’s Raspberry Pi Agent, you can write simple Arduino and C/C++ code that compiles and runs as an executable on your Raspberry Pi. Take advantage of Particle’s hundreds of embedded libraries to make interacting with sensors and controlling your Pi’s GPIO a breeze.

local_build_ide-5

Remote Control of your Pi over the web
  • Over the Air Firmware Updates
  • Batch Script Execution
  • Remote Data Collection
  • Integrations with IFTTT, Google Cloud, and other popular web services through Webhooks.

Access to the Particle Cloud is free! Signing up for the beta is open now and if you are interested you should sign up soon since Particle will be providing access to the first 1,000 Particle accounts at the end of November (21 November) with remaining invitations sent in the following weeks.

Particle’s intention is to provide this integration as a free prototyping resource to all Raspberry Pi developers. Thus, you only start paying when you create a product with more than 25 devices. You can check pricing structure here.

Particle is a scalable, reliable and secure IoT cloud platform and there are already some companies that use Particle to connect and ship their products like IDEO and Keurig. It also has some hardware development kits that work amazingly with the platform.

For more details, you can check Particle documentation and Github. More about this integration is featured on Adafruit ASK AN ENGINEER series where Particle’s CTO Zachary Crockett answers questions and gives a live demo of Raspberry Pi on the Particle Cloud. Check it out!

Web Controlled IoT Notice Board Using Raspberry Pi 3

The concept of web controlled notice board is getting more popular day by day for its wide range of applications in the practical field. As an IoT project, simple web controlled notice board can be made using a Raspberry Pi. Saddam at CircuitDigest designed the project where you can send the notice message through web browsers and it will be displayed on a 16×2 LCD display connected to the Pi.

In this Web Controlled Notice Board, we have created a local web server for demonstration, this can be a global server over the internet. At the Raspberry Pi, we have used 16×2 LCD to display message and Flask for receiving the message over the network. Whenever Raspberry receives any wireless message from a Web browser, it displays on the LCD.

Web Controlled IoT Notice Board : How It Works
Web Controlled IoT Notice Board : How It Works

Parts List:

  1. Raspberry Pi 3 (any model)
  2. Wi-Fi USB adapter (if you’re not using Raspberry Pi 3)
  3. 16×2 LCD
  4. Bread Board
  5. Power cable for Raspberry Pi
  6. Jumper wires
  7. 10K Pot

Circuit Diagram:

The circuit is very easy to make and uses Raspberry Pi as the brain. Few external components are used. You just need to connect the display to Raspberry Pi as per following instructions:

RS, RW and EN pins of LCD are directly connected to pin 18, GND and 23. Data pins of LCD D4, D5, D6, D7 are directly connected to Raspberry Pi’s GPIO 24, 16, 20, 21. A 10K pot is used to control the brightness of LCD.

Circuit Diagram of Web Controlled Notice Board Using Raspberry Pi 3
Circuit Diagram of Web Controlled IoT Notice Board Using Raspberry Pi 3

NOTE: If you are not using Raspberry Pi 3, you must use a USB to Wi-Fi adapter for lower versions of Raspberry Pi as they don’t have inbuilt Wi-Fi like Raspberry Pi 3.

The Coding Part:

Coding is the most important part of this project. Here you need only two codes:

  1. One is an HTML code to create the web page.
  2. Another one is a Python script, that uses Flask as mentioned earlier.

In the HTML code, a simple text box and a submit button are created so that you can enter a Notice Message in TextBox and then submit it to the server by clicking on Submit button.

The Python script is used to send data to the server (Raspberry Pi) and show the data i.e Notice Message on the LCD display. One thing to keep in mind, you should install Flask first using the command:

$ pip install Flask

Now install required libraries for Flask, and define display ports:

from flask import Flask
from flask import render_template, request
import RPi.GPIO as gpio
import os, time

app = Flask(__name__)

RS =18
EN =23
D4 =24
D5 =16
D6 =20
D7 =21
... ......
..... ......

NOTE: You need to copy-paste the HTML code in some text editor and save the file with .HTML extension. Then put this HTML file in the same folder where you have put your interpreted Python Code file.

So this is how you can send a message from your computer or smartphone to the Raspberry Pi LCD and make an IoT-based Wireless Notice Board controlled over The Web.

CHIP Computer Project: CPU Temperature Monitor with OLED display SSD1306

Today educ8s.tv is going to connect an OLED display to the CHIP 9$ computer in order to monitor its CPU temperature in real time.

I received the CHIP single board computer about a year ago. It is an impressive board, it costs $9 and it offers a 1GHz CPU, 256MB of RAM wifi Bluetooth and many more things. You can watch my review of the CHIP computer by clicking on the card here. As you can see the CHIP computer is a lot smaller than the Raspberry Pi 3 board and of course it costs a lot less. One year later, the software developed for the CHIP computer is mature and we can easily build some projects with it

CHIP Computer Project: CPU Temperature Monitor with OLED display SSD1306 – [Link]

Introducing “Buy Parts” Electronics-Lab New Feature

In partnership with OEMSecrets, we are pleased to launch a new section in our website. “Buy Parts” is a price-comparison search engine that helps you save time and money, by finding the cheapest price and the best offer while buying electronic components online.

capture

This tool provides an electronic components comparison from leading distributors and manufacturers in the electronics market, such as Farnell, element14, Mouser, TIstore, etc. It also offers datasheets and part images from suppliers to give you a better understanding of products you are purchasing.

The new search engine comes with these features:

  • Price comparison to help you find the cheapest price.
  • Quantity filter to find you the total cost of the part.
  • Quick datasheet downloads to confirm part specifications.
  • Order with ease with our add to basket ‘buy now‘ buttons.
  • Line by line comparison results dedicated to save your time.
  • Part images available for visual verification before ordering.
  • Quick-find supplier navigation to find favourites.
  • Currency conversions, your zone your currency.

capture2

It is very simple to use. Just enter a part name in the search box and start saving time and money!