Android Things, Google’s IoT Platform

Google had launched Android Things,  a new comprehensive IoT platform for building smart devices on top of Android APIs and Google’s own services. Android Things is now available as a developer preview.

Android Things was basically launched as an enhancement for Brillo, Android based OS used for embedded development in particular for low-power IoT devices, and it is based on its feedback and best practices. Google had announced Android Things as re-branding of Brillo to solve many issues like the security of IoT devices.

Platform Architecture

Both work in conjunction with Weave, an open, standardized communications protocol that supports various discovery, provisioning, and authentication functions. Weave enables device setup, phone-to-device-to-cloud communication, and user interaction from mobile devices and the web. The chief benefit is allowing a “standardized” way for consumers to set up devices. Belkin WeMo, LiFX, Honeywell, Wink, TP-Link and First Alert will adopt Weave to make their devices able to interact with some Google products like Google Assistant.

One of the great things about Brillo was the security issue with IoT applications solved by choosing to use secure boot and signed over-the-air updates and providing timely patches at the OS level. Partnered with hardware manufacturers to build new devices based on Intel Edison, NXP Pico and the Raspberry Pi 3, Google will build the needed infrastructure to run the OS updates and fix security issues respectively on these devices.

Android Things makes developing connected embedded devices easy by providing the same Android development tools, best-in-class Android framework, and Google APIs that make developers successful on mobile. For more details about Android Things you can check the documentation provided here, where you can find also the developer’s preview.

Circuit Board Design for Beginners

By: Alex Danovich,President San Francisco Circuits

We live in an exciting time where we see a resurgence in electronics as a hobby. Mass production has wiped out a generation or two of kids learning to build radios from scratch with their mom or dad. In the good old days, not sure when, you had companies like Heathkit walk you through building a full size color TV at home, for example. “Yes, I made that!” you’d proudly exclaim to yourself after hours of work.

What’s causing this hobbyist resurgence?

  • Television shows such as How it’s Made, Mythbusters and other programming on TLC.
  • Websites such as instructables.com, hackaday.com, and specialized hobbyist blogs.
  • Interest in RC cars, robotics, gaming, computers etc.
  • Advent of Arduino boards, modules and free software.
  • Open source software/hardware.
  • The whole maker movement in general.

So what does this have to do with making circuit boards?

Well, it’s now easy and fairly cheap to make a nice circuit board for your project without a lot of fuss. So you want to get the kids away from the TV and build a fun, blinking LED project for your kids? Gone are the days of tedious hand wiring, empty coffee cups, smoking components and unprintable words; they’re now replaced with easy online applications.

In times past, I would sketch out a circuit on a raw copper board using a Sharpie pen. Then I dipped it in a bath of some nice toxic Ferric Chloride from Radio Shack and waited and waited. After a long while, you removed the board and then hand drilled the work of art. To prevent corrosion, you rubbed some silver powder on it. Finally, stuff the board and there it is. Your mom (or wife) is now furious over the stains, mess and the stink you just created. But there it is. You let out a great sigh of personal satisfaction.

Fast forward to post-dinosaur times.

The Steps to Glory

  1. There are several good choices for a free schematic and circuit board design program. I prefer Eagle. Lots of hobbyists and pros use it so there are lots of free designs and tutorials available. The free version is somewhat limited but very useful for smaller work. What’s nice is that if you like this as a hobby, you can progress to the “pro” version.
  2. Next you will have to find a “board house” to make the boards. The author of this article is a good place to start for a free quote – San Francisco Circuits.  SFCircuits is a full service PCB fabrication and PCB assembly provider  from hobbyist to military grade work with some helpful tutorials in the PCB School section. Who knows – you just might go from blinking LED project one day to a nice ICBM with them. Impress the neighbors?
  3. Once you have a board on its way, consider it time for buying assembly parts from Digikey or Mouser. They are great distributors and cater to hobbyists with smaller quantities with good pricing. It’s so much better than Radio Shack which carries less and less useful components lately. However, you must be careful buying integrated circuits, resistors, capacitors, etc. online as they come in a dizzying array of sizes.

Design Considerations

  1. Sketch out on paper what your PCB will look like.  Do you need holes for mounting? Do you have a box in mind? You can get a nice plastic case with battery compartments from Pactec. Did you leave room for connectors to stick out? Make sure you leave clearance for taller components. Part of the trick is to visualize all the pieces and how they fit. Make sure you have clearance for your soldering iron as well.
  2. It’s best to do a single-sided circuit board. You have connection traces between the components on the top side only. A double-sided board can get complicated for first timers. For sensitive analog and high speed digital circuits, consider adding a ground place area on the backside.
  3. Once your layout is done, a critical step is to verify every trace. Adding jumper wires later is not fun. The traditional method is to print the schematic and start in one corner with your favorite highlighter color. Verify every line. A very important thing to remember is that some schematic packages hide the chips’ power lines for clarity. So you may have chips with no power.

An alternate method is to create a “netlist.” This is a point to point list of every connection (more highlighter). A really smart thing is to allow the layout software (if it supports it) to do an automated netlist check. It will give you a list of all the errors, a much faster solution. I like to do some of the manual method as a sanity check to make sure all is well. There is a lot to think about. Some places sell scrap boards to check your soldering skills or to make art out of other folks’ mistakes. Do your best to avoid it.

So cross your fingers, say your prayers and away you go.

Now aren’t hose blinking LEDs pretty cool?

“Yes, I made that”.

This article was written as a guest post by San Francisco Circuits, a PCB solutions provider located in Northern California.

Radioactivity detection using very simple ionization chamber

Robert Gawron tipped us with his latest build. He writes:

Today I will show a very simple ionization chamber that can detect radioactivity. I was able to detect with it ionizing radiation from a smoke detector (Am241 isotope). It’s also immune to electromagnetic interference (EMI) due to a good shielding.

Radioactivity detection using very simple ionization chamber – [Link]

+/- 1.7g Dual-Axis IMEMS Accelerometer Using ADXL203

The ADXL203 Module  is high precision, low power, complete dual-axis accelerometers with signal conditioned voltage outputs, all on a single, monolithic IC. The ADXL203 measure acceleration with a full-scale range of ±1.7 g, ±5 g, or ±18 g. The ADXL203 can measure both dynamic acceleration (for example, vibration) and static acceleration (for example, gravity).The typical noise floor is 110 μg/√Hz, allowing signals below 1 mg (0.06° of inclination) to be resolved in tilt sensing applications using narrow bandwidths (<60 Hz).The user selects the bandwidth of the accelerometer using Capacitor CX and Capacitor CY at the XOUT and YOUT pins. Bandwidths of 0.5 Hz to 2.5 kHz can be selected to suit the application.

+/- 1.7g Dual-Axis IMEMS Accelerometer Using ADXL203 – [Link]

The Newest IDE 1.8.0 Unites Arduino Family

The open-source Arduino Software (IDE) makes it easy to write code and upload it to the board. It runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing and other open-source software.

Arduino has just launched its latest software version: IDE 1.8.0! What makes this software special is that it can be used with any Arduino board whether you get it from Arduino.cc or Arduino.org.

You can use it to program your AVR boards like the Uno, Mega, Yun, and Micro, plus it supports these boards:  the Leonardo Ethernet, Yun Mini, Industrial 101, and Uno WiFi.

Thanks to updating the SAMD core, this IDE is ready to run the M0 and M0 PRO, Zero, MKR1000, and the newly-launched Primo and MKRZero.

If you are a Linux user, it is possible now to run the IDE directly using command line without the need of X11 display anymore.

Check the release note of this version:

ARDUINO 1.8.0 – 2016.12.20

[ide]
* Linux: running in command line mode doesn’t require an X11 display anymore
* “Save as” now clears the “modified” status
* builder: Paths with strange UTF8 chars are now correctly handled
* builder: .hpp and .hh file extensions are now considered valid sketch extension
* builder: core.a is not rebuild if not needed (improve build time in particular for big projects)
* Fixed swapped actions “Copy for Forum” and “Copy as HTML”
* Linux/osx: If an editor tab is a symbolic link it is no more replaced with a real file when saving (see #5478)
* Increased the upload timeout to 5 minutes (it was 2 min, but it may be not sufficient when uploading via UART a big sketch)

[core]
* Added Arduino.org boards
* Added Adafruit Circuit Playground board
* Added “-g” option to linker to keep debug information in the .elf file (see #5539)
* avrdude: Added fake configuration for EFUSE on atmega8 part. This solves a long standing issue with “Burn bootloader”.
Thanks @rigelinorion, @awatterott

The unified Arduino software can be downloaded here and more installation instructions are available at the Getting Started page.

This work has never been done without the efforts of the community. The entire revision log for a complete list of changes and credits is available here, and the full source code is on Github.

Apollo2 MCU Paves The Way For New Generation IoT Devices

Ambiq Micro, the leader in ultra-low power solutions, launched  the Apollo 2 Wearables and IoT Platform. The Platform offers breakthrough power consumption of under 10 μA/MHz, which allows for double the battery life in wearable devices. Apollo 2’s performance will lead to longer battery life, enhanced intelligence and improved functionality in wearables and IoT consumer electronics (CE) products. Ambiq Micro’s Apollo 2 Platform provides dramatic reductions in energy consumption through its patented Subthreshold Power Optimized Technology (SPOT™) technology.

“The incredible pace of Moore’s Law disrupted computing every year or two and took us from room-sized supercomputers to billions of pocket-sized mobile phones,” said Scott Hanson, founder and CTO, Ambiq Micro. “Ambiq Micro’s SPOT technology will bring a similar pace of innovation to the IoT. As the foundation of our Apollo MCU, SPOT allows us to drive energy consumption below what we previously imagined was possible. With Apollo 2, we extend the SPOT technology to achieve new efficiencies for the next wave of IoT and connected devices.”

Apollo 2 MCU key features and specifications

  • Ultra-low supply current
    • <10 μA/MHz executing from flash at 3.3 V
    • <10 μA/MHz executing from RAM at 3.3 V
  • ARM Cortex-M4 Processor up to 48 MHz with FPU, MMU, wake-up interrupt controller with 32 interrupts
  • Ultra-low power memory
    • Up to 1 MB of flash memory for code/data
    • Up to 256 KB of low leakage RAM for code/data
    • 16kB 1 or 2-way Associative Cache
  • Ultra-low power interface for off-chip sensors
    • 14 bit, 15-channel, up to 1.2 MS/s ADC
    • Voltage comparator
    • Temperature sensor with +/-2ºC accuracy
  • Serial peripherals – 6x I2C/SPI master,1x I2C/SPI slave,2x UART, PDM for mono and stereo audio microphone
  • Clock sources
    • 32.768 kHz XTAL oscillator
    • Low frequency RC oscillator – 1.024 kHz
    • High frequency RC oscillator – 48 MHz
    • RTC based on Ambiq’s AM08X5/18X5 families
  • Wide operating range – 1.8-3.6 V, –40 to 85°C
  • Package –  2.5 x 2.5 mm 49-pin CSP with 34 GPIO; 4.5 x 4.5 mm 64-pin BGA with 50 GPIO

You can check the product page to know more about Apollo2, but for further information and documentation you have to contact Ambiq Micro.

Source: Ambiq Micro, CNXSoft

DIY Breathalyzer Using Arduino UNO

Today I am going to discuss how to make a very simple DIY Breathalyzer using Arduino UNO and few external components. Ana Carolina designed this project as an instructable in instructables.com. This is a low-cost project and a useful one too. If you have no idea about what breathalyzer is, let me explain briefly: A breathalyzer is a device for estimating blood alcohol content (BAC) from a breath sample. Check the link given for more information.

Arduino Based Breathalyzer
Arduino Based Breathalyzer

Requirements:

  • Arduino Uno
  • MQ-3 Alcohol Sensor
  • 128×64 LCD (Liquid Crystal Display)
  • 7 × 330 Ohm Resistor
  • 7 × LEDs (1 Red, 2 Yellow, 3 Green and one other color)
  • Jumpers Wires
  • Breadboard
  • Soldering Iron (optional)
  • Solder Wire (optional)

Details:

This project is very simple. Here we are using an array of six LEDs and a 128×64 LCD to display the alcohol level. The presence of alcohol is sensed by an MQ-3 alcohol sensor and then analyzed by an Arduino board. We are using Arduino UNO in this project, but any model can do the job.

Three Green LEDs represent that alcohol level is OK and within the safe limit. Two Yellow LEDs are used to describe that safe limit is going to be reached, and you know it well why the Red LED is there. In fact, those LEDs are used just to give you a quick idea. If you want to know the exact value, the display is there for you.

You can tweak the program and re-calibrate the breathalyzer. But you must remember that breathalyzer doesn’t precisely measure your blood alcohol content, rather it estimates a value from the amount of alcohol in your breath.

Circuit:

Breathalyzer Circuit On Breadboard
Breathalyzer Circuit On Breadboard

You can make the circuit also on PCB or Veroboard. But for the prototyping purpose, the breadboard is the best choice. You can see how straight forward the connections are.

The Code:

Some part of the original code was in Portuguese. So I have translated it into English. Also, the original code shared by the author in instrucatbles.com is a buggy one. So, I recommend you to use my bug-free code instead of the original one.

Please note that you have to download and add the u8glib library in Arduino IDE beforehand. It is very important. You can either download the u8glib v1.14 library for Arduino directly or go to the site and choose what to download.

Follow the given steps to add a .zip library in your sketch: Open IDE and click on Sketch  Include Library  Add .zip Library. Now select the downloaded .zip library file. You needn’t unzip it.

When everything is done, verify and upload the code to Arduino.

Test It:

I must not recommend you to drink alcohol just for testing the breathalyzer. Rather get a towel and spray alcohol on it. Now hold the towel in front of the sensor. Move it back and forth to observe the change in reading. It may take a while for the breathalyzer to stabilize.

Consider watching the video for a better understanding:

RELATED POSTS

Replacing a dead iPhone battery

discuss his experience replacing an iphone battery @ edn.com:

About a week ago, in preparing to run some errands, I plugged my iPhone 4S into the charger in my car so that I could stream Pandora while I drove. Oddly, a “this accessory may not be supported” message appeared on-screen; when I unplugged and re-plugged the iPhone to the charger, it didn’t reappear, so I didn’t think anything more of it … until a half hour later, when the iPhone again alerted me, this time with a “low battery” message.

Replacing a dead iPhone battery – [Link]

PCB X-mas tree

Matthias created a X-Mas tree project using the DirtyPCB boards from dangerousprotorypes.com :

The project features an USB capable PIC16F1549 µC with:

  • USB FS device
  • 48 MHz internal Oscillator
  • 2 PWM modules
  • 10-bit ADC with Voltage Reference
  • Integrated Temperature Indicator Module

The LEDs are connected to the 2 PWM outputs via N-mos drivers. A Potentiometer is connected to one ADC channel for controlling the brightness of the LEDs or possibly the speed or variation of animations. Different modes of the X-mass tree can be switched by pressing a push button.

PCB X-mas tree – [Link]