From Sand to Circuits – How Intel makes integrated circuits [PDF]

intel

Here is a nice PDF document from Intel explaining how integrated circuits are made.

From Sand to Circuits – How Intel makes integrated circuits [PDF] – [Link]

World’s first broadband infrared LED by Osram

2016-11-03-eete-jh-osram_0

Designed for everyday food analytics, the SFH 4735 LED emits broadband infrared light in a wavelength range from 650 to 1,050 nanometers. by Julien Happich @ edn-europe.com

The component is well suited as a light source for near-infrared spectroscopy, for example to assess the quality of food thanks to mini spectrometers that could be developed as an add-on for smartphones.

World’s first broadband infrared LED by Osram – [Link]

Temperature Measurement with NTC Thermistors

temperature-measurement-ntc-thermistors-fig3

Philip Kane @ jameco.com discuss about how to measure temperature with NTC thermistors. He writes:

Thermistors (thermal resistors) are temperature dependent variable resistors. There are two types of thermistors, Positive Temperature Coefficient (PTC) and Negative Temperature Coefficient (NTC). When the temperature increases, PTC thermistor resistance will increase and NTC thermistor resistance will decrease. They exhibit the opposite response when the temperature decreases.

Temperature Measurement with NTC Thermistors – [Link]

A LEGO-Compatible Digital Weather Billboard

Internet of LEGO “IoL” is an interactive LEGO city built and designed by Cory Guynn, a cloud computing and IoT enthusiast. This project combines computer and electronics  engineering with our favorite childhood toy, LEGO!

Through the IoL blog, Cory shares a collection of circuit projects, coding examples, and tutorials which use Arduino, Raspberry Pi, NodeJS, Node-RED, and LEGO.

cover

A recently added project is a digital billboard that broadcasts the weather information from IoL local weather station. It uses a Raspberry Pi running Node-RED to collect weather data from the local station and display it on an OLED screen powered by an ESP8266.

The hardware materials needed for this project:

  1. Raspberry Pi
  2. WeMos D1 mini
  3. OLED 128×64 I2C screen
  4. 2x LEDs
  5. 2x 220 ohm resistors
  6. Breadboard and wires
  7. LEGO bricks!

And the required software:

WeMos D1 mini is a cheap mini wifi board based on ESP8266 and compatible with Arduino and NodeMCU. It has 11 digital I/O pins that support PWM, I2C, and interrupts, and has only one analog input with a microUSB connector. The WeMos D1 is available for only $4 and is supported by many shields.

WeMos D1 mini top and bottom faces
WeMos D1 mini top and bottom faces

The 128X64 OLED is about 1.3″ display, it is very readable due to its high contrast. This display is made of 128×64 individual white OLED pixels, each one is turned on or off by the controller chip. No backlight is required because the display makes its own light, which reduces the power required to run the OLED.

Adafruit Monochrome 1.3" 128x64 OLED graphic display
Adafruit Monochrome 1.3″ 128×64 OLED graphic display

OLED’s driver chip, SSD1306 can communicate in two ways: I2C or SPI. The OLED itself require a 3.3V power supply and 3.3V logic levels for communication.

The display uses I2C connection at this project, so you will need to solder the two jumpers (SJ1/2) on the back of the OLED, then use the ‘Data’ pin as ‘I2C SDA’ pin and ‘CLK’ pin as ‘I2C SCL’. The WeMos D1, OLED, LEDs, and resistors are connected as shown in the figure.

billboard-fritzing

To simplify configuring WeMos D1, a special firmware called “ESPEasy” has been used. It is a free and open-source web configurable software framework for IoT, which allows the device to be configured using the web browser instead of writing codes.

ESPEasy can be uploaded to the WeMos D1 using the Arduino IDE by installing the ESP8266 board support from Boards Manager, and then uploading the ESPEasy firmware as described in this tutorial.

ESPEasy Firmware on Arduino IDE
ESPEasy Firmware on Arduino IDE

MQTT is a lightweight machine-to-machine publish/subscription messaging protocol. It works like Twitter where each device will subscribe and/or publish to a topic, much like a #hashtag, and the payload will then contain the data being transmitted.

Mosquitto is a free open source broker that works perfectly on a Raspberry Pi. It is a MQTT server manages the MQTT message flow, and connects with all devices.

The last step is configuring the Raspberry Pi on the weather station for sending the information to the billboard. An easy way for that is using Node-Red, a visual tool for wiring together hardware devices, APIs and online services for IoT applications.

Node-Red is pre-installed on the Raspbian Jessie image. Run the software and download this flow. It will accept an MQTT message on the topic “/sensors/iolcity/weather/#” and transmit it to the WeMos on the topic “/billboard/cmd”. Function nodes will format the message using JavaScript.

Node-RED Billboard MQTT Flow
Node-RED Billboard MQTT Flow

You can use it with your own weather station or any other sources of data, just change the MQTT input nodes to match your topics. To build a weather station check this IoL project and this ChipKIT-based station. Alternatively, you could get weather data using the Weather Underground service with the Node-RED node.

Further information and detailed description are available at the original project page.

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]