Everything You Need To Know About Bluetooth beacons in A White Paper

Image courtesy of Google

Bluetooth 4.0 introduced the Bluetooth low energy (BLE), which is a version of Bluetooth protocol designed for devices with power constraints like battery powered sensors. Bluetooth low energy beacons are BLE (Bluetooth Low Energy) enabled devices, they repeatedly broadcast radio signals to nearby smartphones, containing a small amount of data.
Mobile apps can listen to the signals being broadcast and trigger an action after analyzing beacon’s information.

Beacons are used for proximity-aware applications like positioning and navigation indoors like anti-lost tracking tags, another application is for location based advertisements.

There is no official Bluetooth Special Interest Group (SIG) beacon standard, so beacons have pseudo-standards. For example, iBeacon standard is used by Apple and Eddystone is used for Google.

Apple iBeacon Advertising Packet
Apple iBeacon Advertising Packet

As you can see in the above image, there is one byte (power) value indicating the iBeacon’s calibrated output power in dBm measured at a distance of 1 meter.
So Beacons can be used to calculate the proximity distance between the beacon and the receiver of beacon’s information. This calculation relies on a comparison of a Received Signal Strength Indicator (RSSI) to a beacon’s transmit (Tx) power to approximate the distance to the beacon.
The calculated distance can’t be very accurate, since RF signals fade unpredictably according to real-world environmental factors like walls. Future versions of BLE will solve this by using Angle-of-Arrival (AoA) and Angle-of-Departure (AoD) which allow a multi-antenna Bluetooth device to accurately determine the spatial location of another Bluetooth device.

Beacons typically use non-connectable advertising, providing all of useful information in the advertising packet itself. So the radio can be shut off immediately after advertising hence this will save power.

A white paper from Silicon Labs covers a lot of informations about Beacons. The paper examines beacon applications, provides a short description of how BLE work, contains further description of iBeacon and Eddystone standards and highlights SoC solutions for BLE from Silicon Labs such as BLE112 and BLE113 which can have fully standalone applications through a simple scripting language called BGScript developed by Silicon Labs.

BGScript iBeacon example code for the BGM111 Bluetooth low energy module
BGScript iBeacon example code for the BGM111 Bluetooth low energy module


Developing Beacons with Bluetooth Low Energy (BLE) Technology

Beacons: Everything you need to know

Reading “Getting Started with Bluetooth Low Energy by Kevin Townsend, Carles Cufí, Akiba, and Robert Davidson (O’Reilly)” is advisable for anyone like to know more about who BLE works which is a corner stone to understand how beacons work.

How to compare your circuit requirements to active-filter approximations


By Bonnie C. Baker (WEBENCH® Senior Applications Engineer):

Numerous filter approximations, such as Butterworth, Bessel, and Chebyshev, are available in popular filter software applications; however, it can be time consuming to select the right option for your system. So how do you focus in on what type of filter you need in your circuit? This article defines the differences between Bessel, Butterworth, Chebyshev, Linear Phase, and traditional Gaussian low-pass filters. A typical Butterworth low-pass filter is shown in Figure 1.

How to compare your circuit requirements to active-filter approximations – [Link]

RFM69 WIFI Gateway


The RFM69GW is a RFM69 to MQTT gateway that uses the ubiquitous ESP8266 chip. There are two or three similar projects that I’m aware of but I’ve put together some hardware and firmware features that make it different. by Xose Pérez:

  • I’m using Felix Rusu’s RFM69_ATC library so it supports Monteino nodes with Auto Transmission Control feature enabled for an adaptative transmission power: longer battery life & less radio pollution
  • RFM69CW footprint, compatible with RFM12B and hence with old Monteinos or even with JeeNodes (untested)
  • Web configurable map between node messages and MQTT topics.
  • EEPROM persistent configuration using the awesome Embedis library by PatternAgents

RFM69 WIFI Gateway – [Link]

Program an Arduino with State Machines in 5 Minutes


by Lothar Wendehals:

Did you ever program an Arduino? Have you ever been worried about complex control flows written in pure C? Maybe you have already heard of statecharts and state machines? In this blog post, I will show you how to program an Arduino in just 5 minutes in a model-driven way with the help of  YAKINDU Statechart Tools (SCT).

Program an Arduino with State Machines in 5 Minutes [Link]

Teensy 3.5 and 3.6 Are Here !

“Teensy” is a tiny size board compatible with Arduino software and libraries. Teensy 3.1 & 3.2 was the last version from Paul Stoffregen (PJRC Company) the creator of Teensy.


Table is from PJRC website
Table is from PJRC website

Paul started a Kickstarter campaign for The new Teensy 3.5 and 3.6 and until the time of preparation of this post, there are 1,697 backers and campaign raised $102,974 of the $5,000 goal with 15 days to go.

Teensy 3.6
Teensy 3.6
Teensy 3.5
Teensy 3.5

Teensy 3.5 and Teensy 3.6 have slightly differences. I made a full comparison in the bellow table:


Teensy 3.5 has a lower in features MCU (RAM, Flash, clock and some peripherals) which make it slightly cheaper than Teensy 3.6. Teensy 3.5 has 5v tolerance on all digital I/O pins.
Only Teensy 3.6 has a USB High Speed (480 Mbit/sec) port accessed using 5 pins on the board.



Teensy 3.5 and Teensy 3.6 are 6-layer PCB with 28 pins compatible with previous Teensy3.x models.


As we said, Teensy is compatible with Arduino software so Arduino IDE is the primary method used to program Teensy 3.6 and Teensy 3.5.

Paul (PJRC company) offered Teensy 3.5  for 23$ and Teensy 3.6 for 28$ for the Kickstarter campaign backers shipped in October.



Projecta: A Solution For PCB Printing


Projecta, the Affordable & Faster PCB Prototyping Machine has launched their kickstarter campaign. Check the kickstarter page on the link below.

Projecta is an affordable desktop CNC machine optimized for making circuit boards in new innovative way.

Our dream is to print PCB just like printing a paper, and we are now ready to share it with everyone and let you have your own Projecta.

Projecta: A Solution For PCB Printing – [Link]

4 digit charlieplexed segment display


bobricius @ hackaday.io has designed an ultra thin custom display, requiring only 6 gpio pins to drive 30 leds.

– 1.05×0.48 inches (26.67×12.22 mm)
– 30 led
– any color
– ultra thin …. etc. on 0.8mm board
– only 6 gpio
– ideal for wrist watch

4 digit charlieplexed segment display – [Link]

How To Configure a 555 Timer IC


Philip Kane @ jameco.com has published an article about the famous 555 timer IC and how to configure in monostable and astable modes.

The 555 timer was introduced over 40 years ago. Due to its relative simplicity, ease of use and low cost it has been used in literally thousands of applications and is still widely available. Here we describe how to configure a standard 555 IC to perform two of its most common functions – as a timer in monostable mode and as a square wave oscillator in astable mode.

How To Configure a 555 Timer IC – [Link]

The New OS From Google “Fuchsia” – What is it ?


Last year Google announced “Brillo” an operating system for IoT devices with a communication protocol called “Weave”. Today, most of the technical websites are talking about the new operating system “Fuchsia” which is, according to Google brief description, a “Pink + Purple == Fuchsia (a new Operating System)”.

Fuchsia Inside

LinuxInsider website asked Google spokesperson Joshua Cruzthe about Fuchsia. His answer was: “it is a new open source project that is not at all related to Android or Chrome OS”.

Fuchsia is built on the Magenta kernel, which is based on Google’s LittleKernel project. Developers of Fuchsia described the differences between LittleKernel and Magenta in a ReadMe file.

“LK is a Kernel designed for small systems typically used in embedded applications. It is good alternative to commercial offerings like FreeRTOS or ThreadX. Such systems often have a very limited amount of ram, a fixed set of peripherals and a bounded set of tasks.  On the other hand, Magenta targets modern phones and modern personal computers with fast processors, non-trivial amounts of ram with arbitrary peripherals doing open ended computation.”. So Fuchsia is not using Linux kernel like Android.

Supported Architectures

ARM32, ARM64, and x86-64 are the current supported architectures.

One of Fuchsia developers, Brian Swetland who worked on Android, BeOS and Danger, stated in one of discussion thread on Y Combinator’s Hacker News, that Fuchia soon will support the Raspberry Pi 3.

You can see the current supported targets here which are Acer Switch Alpha 12, Intel NUC (Skylake and Broadwell) and Raspberry Pi3. You can read the document for booting Fuchsia on Raspberry Pi 3 from the SDCard.

Brian Swetland showed a shot of virtual console 0 with the tail end of the boot log on an Acer Switch Alpha 12.

Image courtesy of Brian Swetland
Image courtesy of Brian Swetland

Is It For IoT and Embedded Systems Devices?

Sascha Wolter asked in Brillo and Weave Google group, “Should we stop with Brillo and get our hands in #Fuchsia?”, and the answer was: “Sorry for not providing any updates on the progress of Brillo and Weave for a while. Don’t worry though, we are still hard at work on both of them! We want to make sure everything is finalized before releasing an update, but you will be hearing from me soon with more detailed information”.

So I think until now Fuchia is not the Brillo killer while a lot of speculations are around the target market of this new OS from Google.
According to some folks the new OS has a Flutter-based UI and run Dart programming language (I can see Dart content handler in the Git repo), and that supports the point of view saying that “Fuchisa” is not another RTOS like Brillo, it’s maybe the next Android.


[Fuchsia Git Repository]

Getting Started



Crowdfunding closing on $5 Linux + Wifi tiny IoT compute module


World’s smallest Linux server, with Wi-Fi built-in. Omega 2 is a Linux compute module designed specifically for building connected hardware applications. It combines, say its designers Onion, “the tiny form factor and power-efficiency of the Arduino, with the power and flexibilities of the Raspberry Pi.” By Graham Prophet @ edn-europe.com

Omega 2 development is the subject of a Kickstarter campaign, that closes on August 23 rd 2016 ( here). The projects starts with the base module, which is an SoC-based board with built-in WiFi, and extends through levels of added connectivity, and peripherals – for example, there is a ‘dock’ card that provides compatibility with Arduino-format hardware. Part of Onion’s offering is a cloud service, so that an Omega 2-based project can be fully cloud-connected and -enabled.

Crowdfunding closing on $5 Linux + Wifi tiny IoT compute module – [Link]