DIYODE—New Magazine for Electronics Enthusiasts

Interest in magazines has declined in the age of social media and blogging. However, some people are somewhat skeptical about the future of this industry, especially the printed magazines.

But surprisingly, a story published on EEVBlog forum about a new 100-page-long Australian magazine called DIYODE targets electronics enthusiasts with a printed and a digital edition seems to grab attention.


The first issue will be published on July 1st, 2017, and preorders are open for the first issue.
$7 for digital edition, and $10 for the printed one. Another option can save you some money is the annual subscription.
The new magazine is open for electronics hobbyist to submit their project ideas. If they like it, they will publish it. You can submit it using DIYODE website.

Sample of DIYODE content. Image adapted from an EEVBlog youtube video
Sample of DIYODE content. Image adapted from an EEVBlog YouTube video

The content will be around: community-submitted projects, DIY new projects, fundamental knowledge tips and thought-provoking ideas. Anyway, David from EEVBlog reviewed an exclusive early copy of it. You can watch the video to see some actual content before subscribing to the new magazine.


Mongoose OS Operating System for Connected Devices

Another OS for IoT applications called Mongoose OS. Like the other OS’s for IoT, Mongoose OS has some security features like:

  • Microchip ECC508A crypto chip support.
  • Supporting mbedTLS library from ARM.
  • Implementation of file system encryption and full SPI-flash encryption on ESP32.

Mongoose implements the API for: HTTP, WebSocket, MQTT and CoAP; for both client and server and with a rich API and a tiny footprint. Moreover, it integrates with Amazon AWS IoT service, Google IoT Core and Adafruit IO online service.

Talking about the SDK; Mongoose prefers to use native SDKs instead of building them from scratch by extending the original ones. The current supported microcontrollers are ESP32, ESP8266, STM32, TI CC3200. You can develop your code in C or JavaScript using mJS engine (part of Mongoose OS).

For device management and firmware building Mongoose uses a tool called mos. This tool works in Windows and Linux as a command line interface or a web UI.

In the video below there is an example of running a built-in web server using ESP WiFi module.


Last but not least, Mongoose supports the following hardware interfaces: Bitbang, GPIO, I2C, NeoPixel, SPI and UART. It can also performs remote management for the device such as: file system (list, get, put and remove), configuration, I2C, GPIO and OTA

An example of upgrading the firmware over the air (OTA) is explained in the video below :


LIN Protocol — One Wire Protocol for Automotive Applications

With the host of protocols available in electronics interfaces, choosing a protocol is a hard job. Some protocols are designed for long distance and reliable communication applications such as RS-485. Others are used for low cost and short range communication such as I2C, and so on.

The backbone car’s network is the Controller Area Network (CAN). CAN is reliable and adopted widely in automotive industry but it’s expensive to embed CAN interface in all aspects of the car’s sub-system. As a cheap alternative, today’s protocol LIN, is designed for low cost and multi-nodes automotive networks. LIN can be used to communicate with non-critical sub-systems such as: door-lock driver and window motors. Moreover, LIN is implemented to be a one wire interface.

LIN stands for Local Interconnect Network. According to the official LIN manual, the main properties of the LIN bus are:

  • single master with multiple slaves concept.
  • low cost silicon implementation based on common UART/SCI interface hardware, an equivalent in software, or as pure state machine.
  • self synchronization without a quartz or ceramics resonator in the slave nodes.
  • deterministic signal transmission with signal propagation time computable in advance low cost single-wire implementation.
  • speed up to 20 kbit/s.
  • signal based application interaction.

The LIN topology consists of one master and several slaves. The master provides the header which consists of a break and sync pattern (0x55) followed by an identifier.

The 0x55 Synch byte helps the slaves to be synchronized with the master clock. All messages are initiated by the master with unique ID; A slave will reply according to a given message identifier.

The identifier specifies the frame type which can be one of the following:

  • Unconditional frame
  • Event triggered frame
  • Sporadic frame
  • Diagnostic frames
  • User-defined frames

The nodes are typically microcontrollers, but as LIN is designed for automotive applications in the first place, some specialized transceivers can be added to the nodes such as Melexis MLX80030 which is basically a level shifter with some add-ons like low drop voltage regulator with some protection features since the available supply voltage in cars are mostly a spiky 12v.

Note: From the schematic above you may see that the MLX80031 has split the one wire (LIN BUS) to RX and TX for the microcontroller.

When it comes to software development, there is a standard API for LIN bus (slave and master) implemented in C language.

To know more about LIN protocol please refer to Hackaday article and to the official LIN manual.

What is Embedded FPGA — Known as eFPGA

Today’s market requirements change faster than the typical development time for a new device or the ability of designers of SoCs to know. To solve this problem, FPGAs/MCUs are used so developers can change the configuration/firmware later.

As known, MCU IP is static and you can’t change the silicon design (RTL design) after fabrication. FPGA chips are used to overcome this limitation but the FPGA high cost is a concern compared to the price of the MCUs. From this point a new technology called Embedded FPGA (eFPGA) was invented. This technology can give the flexibility of allowing SoCs to be customized post-production with no high expenses.

Image courtesy of FlexLogic

The idea behind eFPGA is to embed the FPGA core to SoCs without the other components of typical FPGA chips such as: surrounding ring of GPIO,SERDES, and PHYs. This core can be customized in a post-production stage with no need to change the RTL design and manufacturing the chips again.

Image courtesy of QuickLogic

One of eFPGA use cases is an always-on sensor hub for sensor data acquisition. In this use case, the eFPGA can be used to run sensor hub at a very low power level, while the main CPU is hibernated until relevant data is available. eFPGA has other useful uses such as ,and not limited to: software reconfigurable I/O pin multiplexing and Customize GPIO and Serial Interfaces in software.

Moreover, eFPGA is expected to have a brilliant future and to be adapted widely according to the CEO of Flex Logix Technologies in an article published on Circuit Cellar magazine. That’s because of increasing mask cost: approximately $1 million for 40 nm, $2 million for 28 nm, and $4 million for 16 nm, and the need for constantly changing in standards and protocols besides application of AI and machine learning algorithms.

For more information about eFPGA, please refer to this article: Make SoCs flexible with embedded FPGA.

A Brief Introduction to CE Mark on Products

When you flip any electronic device (your TV screen, laptop, power supply, computer mouse, …etc) you will see lots of marks. These marks are conformity marking for certain quality and technical standards such as: CE, FCC and UL. Today we are going to investigate more about the CE mark.

CE Mark. Image Courtesy of EEVBlog

What is CE?

CE is a mandatory conformity marking for certain products sold within the EU and Turkish market. The mark means that the manufacturer declares that the product meets the requirements of EU products rules. As the formal documents say, this mark is a key indicator but not a proof of a product’s compliance with EU legislation and it enables the free movement of products within the EEA and Turkish market.

How to get CE certificate?

It can be self-certified by a manufacturer by following some directives according to the type of your product. For example, if your product is designed to be used with a voltage rating of between 50 and 1000 V for alternating current (A.C.) and between 75 and 1500 V for direct current (D.C.), then you must meet the Low Voltage Directive.

Every Directive has a number of requirements that the product needs to meet. However, The manufacture should prepare the Declaration of Conformity which is a document states that the product meets the requirements of the directive(s) which apply to it. More steps are required to self-certificate your product. To know more about the full procedure refer to this Wikipedia article. Another option is to pay for a third party certification body to do all the process for you.

Test Report(on the left)-Certificate of Compliance (on the right). Image Courtesy of EEVBlog

Dаvid Jones, EEVBlog, did a short video with lots of important notes about the CE mark that worth watching. He also mentioned how some manufactures use Chinese Export mark instead of original CE mark to deceive consumers.


Fiducial Marks in PCBs – What they are?

In the past, I’ve  always seen small circuits of copper with no silk screen or solder mask on top of it and as a PCB designer I have always the question in my mind: What is it for? — I’ve never needed them before!

As I can find them in Arduino’s PCBs as well, I decided to open the design file and investigate more about these marks. They are called: Fiducial marks.

Fiducial Mark in Arduino UNO PCB. Original Image Courtesy of reichelt

Fiducial Mark is a circuit solder mask with a round bare copper in the center. The copper diameter is smaller than the solder mask. As the name may imply; these marks are used by assembling machines as points of reference, and they should be placed in any PCB side that has SMD components.

No restrict rule about  how many or where theses marks should be placed. But according to the reference, it’s good to position two fiducial marks on opposite corners of the PCB, and it’s advisable to put a mark near the packages with small pitch like BGA, QFN and QFP.

Image Courtesy of pcb-3d

When it comes to size of fiducial marks, it depends on the used assembly machine. The mark dimensions could be 3.2mm of solder mask opening diameter and 1.6mm diameter of bare copper or 2mm of solder mask opening diameter and 1mm diameter of bare copper.

Image Courtesy of Ladyada

I found a video on Youtube showing how Fiducial Marks are recognized in a PnP (Pick and Place) machine.

Also, I found that Ladyada made a short blog post on the problems you may face using Fiducial Marks recognition in PnPs.

See What Technologies 700 IoT Developers are Using in 2017

Taking a look at what other people do in a certain aspect can give you an insight and an indicator in your own journey. Maybe IoT is one of the cutting edge technologies with rapid changes year after year, if not month after month.

About 700 developers answered Eclipse foundation IoT developer survey. The survey covers a lot of topics:

  • Key IoT concerns.
  • Top IoT programming languages.
  • Top IoT Operating Systems and Distros.
  • Cloud platforms for IoT.
  • Growth of new connectivity technologies.
  • Key Trends.

According the the survey, security is the main concern for IoT developers in terms of data encryption and communication security.

Middleware, home automation, industrial automation, smart cities, energy management, building automation, agriculture, healthcare, automotive and transportation are the top 10 in IoT industry.

Regarding the language used by the majority of developers to build IoT solutions, C is still dominant in constrained devices followed by C++, and Java for gateway devices followed by Python.

according to the survey, constrained devices mostly have ARM Cortex M3 or M0 while Intel X86_64 and ARM Cortex v7-A are for gateway devices.

When it comes to IoT web platforms, Java, Javascript, Node.js, Python and PHP are the top five languages.

Speaking about operating systems, some of the developers use bare-metal approach; they don’t use any OS or RTOS, while most of the others use Linux. It worth to mention that the new RTOS Zephyr seems to be adopted by some developers.

Last but not least, IoT messaging protocols is an important part of IoT development and it seems that HTTP, MQTT, CoAP, in-house (proprietary) and HTTP/2 are the top 5 messaging protocols in the survey.

The full version of the survey is available on Sildshare. Similar survey was made in 2015 and 2016.

Source: cnx-software

Household Power Consumption IoT Meter with Anti-theft Feature

BSP Embed published a video demonstrating a new project to build a connected device to measure the power consumption of household instruments.

The presenter relied in his project on the feature of having a blinking led in modern power meters where each blink means that 1 KWh is consumed.

The device features the following:


The concept behind this project is straightforward. A wire from the blinking LED of the power meter is connected to an interrupt pin from ESP8266 to count blinks (KWh) and then upload it to ThingsSpeak IoT platform to present data live online and to analyze it later.

To detect tampering, he used ACS712 AC current sensor module and connected its output (analog output) to an ADC input from ESP8266; If data from the sensor shows power consumption while no blinking form the LED is detected then a theft warning status will be issued.

The firmware, written in Arduino C, can be downloaded from Github.

Source: Embedded Lab

Cheap ARM Cortex-m0 MCU Printed on Plastic Costs as low as 0.01$

Flexible electronics is one of the emerging technologies with the rise of connected things in IoT age. This increases the need of low cost electronics to use.

Photo Courtesy of PragmatiIC

PragmatIC the specialized company in low cost flexible electronics wants to enable trillions of “smart objects” to sense and communicate with their environment, but the problem is: to turn ordinary objects —like clothing, documents, or packaging of consumer goods— into smart objects, the price needed for this is far below the cheapest silicon chip. Moreover, the thickness of silicon represents another obstacle to integrate electronics seamlessly into products. The PragmatIC’s approach tries to solve these problems.

Photo Courtesy of PragmatiIC

Pragmatic print electronics on a piece of 10-µm-thick plastic which is thinner than a human hair.

PING (Printed Intelligent NFC Game cards and packaging) and a bottle with illuminating brand are examples of use cases of Pragmatic solution.

Back to the title of this news, PlasticARM is the new project started 2 years earlier in collaboration with ARM to implement a fully functional 32-bit ARM Cortex-M0 MCU on 10-µm-thick flexible plastic.

Image Source: Charbax

Charbax from made an interview with the CEO, Scott, during IDTechEx Show. Scott said that the last version of PlasticARM is printed on 1 square CM area and the next version will have the half size.

Cris —a VP Technology in ARM— holding Plastic ARM. Image Source: Charbax’s interview

Source: ARMdevices

DI2C -The Differential Version of I2C

In serial interface world, there are differential and non-differential protocols. The most famous one of differential interfaces is USB besides HDMI and others, while I2C is a non-differential one.
Joshua Vasquez from Hackaday decided to use DI2C (differential version of I2C) to communicate with a string of BNO055 sensor boards (a smart 9-DOF sensor with I2C interface).

If you’re not familiar with differential communication, the method behind it is straightforward; the line has two channels (positive and negative), where each line has the same signal but with an opposite voltage. The receiver then will calculate the difference between them. Mathematically:

Vb = -Va, So:
Vout = Va – Vb = Va – (-Va)

Image Source: Hackaday

Now, what if there was a noise?. The noise will affect almost identically on both signals with the same voltage level. As a result the receiver can omit the noise in the output.

Image Source: Hackaday

Back to I2C; Joshua used PCA9615 chip from NXP which is a bridge between the normal 2-wire I2C-bus and the 4-wire DI2C-bus.

PCA9615 Block Diagram.
PCA9615 Block Diagram. DSCLP and DSCLM are the clock plus/minus input/output respectively. While DSDAP and DSDAM are the datat plus/minus input/output.

As an use case; Joshua used DI2C to build an IMU Noodle for modeling a piece of foam twisting and turning in a 3D space simulator using data comes from a string of cards contain the BNO055 sensor and PCA9615 bridge.

PCA9615 was used in each Joshua’s card to bridge the normal I2C signals to DI2C ones. By bridging I2C to DI2C, PCA9615 makes the capability of using longer cables and I2C more rugged in noisy environments.

(a) PCA9615 Application Diagram (b) Ribbon-cable Connectors. (c) BNO055 with PCA9615 Module.

The PCB design files (KiCAD) and firmware can be downloaded from Joshua’s repository on Github. Moreover, Joshua mentioned important tips to setup DI2C in your next design. You can see these tips in his blog post on Hackaday.

IMU Noodle in Action