tag:blog.makerville.io,2013:/posts Makerville 2016-06-10T16:42:25Z Makerville tag:blog.makerville.io,2013:Post/1006258 2016-03-03T19:51:58Z 2016-03-03T19:51:58Z One of those books that should be a textbook

This is a book review about Shakthi Kannan's book I want 2 do project. tell me wat 2 do. You can find more about it here

Engineering in India has traditionally been about getting good grades and then getting "placed".  Shakthi Kannan is one of those who inspire to break that mold by walking the talk.

I was lucky enough to do my bachelor's in Engineering in Pune around the time that Shakthi Kannan was still here. I attended quite a few lectures and workshops conducted by him: testing with Cucumber, Git in Emacs using magit and so on. When I found out that he had written a book for students looking to do projects, I ordered one right away. I wish I was a few years younger as I could have benefited immensely had I received one during my freshman year. Unfortunately I had to learn a lot of the things mentioned in the book the hard way.

tag:blog.makerville.io,2013:Post/1001118 2016-02-25T18:40:43Z 2016-06-10T16:42:25Z My many relationships with dev boards Note: This is a very personal blog post, and you most likely won't learn anything new. Also this is purely a fun post.

I am a computer engineer. At least that's what my degree certificate says. But I was interested in hardware ever since I attended a robotics workshop in my very first year of engineering. That's where this love story begins.

It was a PIC. I don't remember a lot about her. She was green and in a DIP package. I don't think I have a photo of her, but man was she good.

We met at a robotics workshop. It was a pretty boring workshop looking back, but then it felt so good. We built a line scanning, obstacle avoiding robot together. There were some IR led pairs involved. Some geared DC motors. It was great.

tag:blog.makerville.io,2013:Post/971412 2016-01-15T10:15:57Z 2016-01-15T10:18:02Z Marvell MW302 and the AWS IoT Starter Kit

I have been working with the AWS IoT starter kit from Marvell Semiconductors for the last 2 months and I have to say I am pretty impressed.

It's nothing like the microcontroller boards that I have worked with before : Arduino, ESP8266, Particle Photon and core. It doesn't support Python or a processing like syntax. It supports good ol C. It's not even 100% open source. It doesn't even have a lot of community support (yet).

Ok, so now we know what the board it not. Let's see what the board is.

Field tested

Based on a wireless MCU which is being used in consumer appliances and products. This is where I think almost all of the maker-grade development boards fall short.

Plus it is based on FreeRTOS, which has it's own support ecosystem with plenty of libraries.

tag:blog.makerville.io,2013:Post/931777 2015-11-11T06:36:20Z 2015-11-13T10:12:00Z Nordic's Global Tech Tour 2015 - nrf52 Series Launch

Nordic has come up with a new family of Bluetooth Low Energy SoCs and they launched the first IC in this series a few weeks ago. They are hosting a Global Tech Tour where members from their development team are hosting 1 day workshops all around the world. I attended the event that was being held in Bangalore on 9th November.

tag:blog.makerville.io,2013:Post/897789 2015-09-08T04:54:50Z 2015-09-08T05:01:42Z Building apps using Eddystone : Part 2

This is the 2nd part in a 3 part series. In this part we will use an existing demo app to understand how things should look. We see how to emulate an Eddystone beacon using a node package.
You can find the first part here.

Get the hardware

There are quite a lot of getting started hardware development kits out there. Each one has it's pros and cons, and in the long run you'll end up owning multiple such devices. But for the sake of this blog post I am going to focus on using the cheapest or most easily available hardware to try out actual beacons.

If you own one of the recent MacBooks you are in luck as you don't need to buy anything. Go to About this Mac -> System Report -> Hardware -> Bluetooth.
If it says "Bluetooth Low Energy Supported: Yes", you are in luck. 

If your Mac doesn't have support for BLE or you own a Linux machine, I suggest you get a cheap USB dongle. I have used the one from Adafruit and it's great value for money.

tag:blog.makerville.io,2013:Post/897430 2015-08-25T09:54:53Z 2015-08-25T10:20:56Z Building apps using Eddystone : Part 1

This 3 part blog series aims to provide an overview of building apps with the Eddystone open format that Google has recently introduced. This first post gives a little background on iBeacon and BLE 4.0, along with introducing the frame types in Eddystone.

About Bluetooth 4.0

Bluetooth 4.0 has it's roots at a company called CSR (now a part of Qualcomm), a wireless communications industry based out of Cambridge. It was initially called Wibree and was later standardised under the Bluetooth SIG in 2010. It isn't backwards compatible with the previous versions of Bluetooth, and is meant to co-exist with the older standards.


These are some of the important gotchas for Bluetooth 4.0


The following two tables list the version of the wireless standard and the speed achieved using the same.

Note : More recent versions of both standards do exist

As you can see in the above table, v4.0 of Bluetooth drastically reduced the speed.


Bluetooth 4.0 devices do not support multiple memory protocols like it's predecessor. Hence it supports very small packets and cannot handle things like audio streaming, transfer of large files, etc.

Connectionless model

In the previous versions of Bluetooth it was assumed that the connections will be persistent for a considerable duration (more than a few seconds). Think about your handsfree headset for example. Hence the time required for the initial overhead of setting up a connection was acceptable. Bluetooth 4.0 doesn't follow this model. In this standard you connect to a device, get or set the required data and disconnect as soon as possible. Hence the time required to setup a connection is very critical.


The design aims of this standard were low cost, short range and low power. As a result of all the trade offs that the Bluetooth 4.0 standard has made (speed, memory and connectionless model) it has exceptional battery life. A simple beacon could last years on a standard coin cell battery.

Apple & iBeacon : The First Movers

In Apple's June 2013 World Wide Developer Conference (WWDC), it quietly announced the iBeacon.

Introduced in iOS 7, iBeacon is an exciting technology enabling new location awareness possibilities for apps. 
- Apple's Getting Started Guide for iBeacon

The iBeacon protocol

Field Size Description
UUID  16    bytes Application developers should define a UUID specific to their app and deployment use case.
Major  2  
Further specifies a specific iBeacon and use case. For example, this could define a sub-region within a larger region defined by the UUID.
Minor  2  
Allows further subdivision of region or use case, specified by the application developer.

Google & Eddystone : An Open Beacon format

Google launced the Eddystone open beacon format on July 14, 2015. On comparing the Google and Apple versions of beacons, the Google one is easily the more mature, versatile and obvious winner. This is not surprising as Google took 2 years to sit back and analyse what Apple and it's partners were doing right/wrong with the iBeacon protocol.

The Eddystone open format has presently listed 3 types of frames as opposed to the single frame type of Apple iBeacon :


  • 10 byte namespace ID
  • 6 byte instance ID


  • URL using a compressed encoding format


  • Telemetry information

This includes things like :

  • Battery voltage
  • Device temperature
  • Count of broadcast packets

Note : Provision has been made so that frame types can be added in the future.


  1. Bluetooth Low Energy : The Developer's Handbook by Robin Heydon
  2. Apple's Getting Started with iBeacon
  3. Eddystone Protocol Specification

The iBeacon name and logo are copyright of Apple Inc