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]

PWM Solenoid and Valve Driver using DRV103


Tiny module is a PWM Solenoid and Valve driver using Texas instrument’s DRV103 low-side DMOS power switch employing a pulse-width modulated (PWM) output. Its rugged design is optimized for driving electromechanical devices such as valves, solenoids, relays, actuators, motors and positioners. This board is also ideal for driving thermal devices such as heaters, coolers, lamps, PWM operation conserves power and reduces heat rise, resulting in higher reliability. In addition, adjustable PWM allows fine control of power delivered to the load. Output delay time and oscillator frequency are also externally adjustable.


  • Supply 8V to 32V DC
  • Load Capacity 1.5A
  • Trigger Input Voltage 1.5V to 5V DC
  • Thermal and Current Limit Shutdown
  • On Board Power LED

PWM Solenoid and Valve Driver using DRV103 – [Link]

LattePanda Puts Windows 10 on a Single Board Computer


Imagine being able to use Windows 10 on a Single Board Computer (SBC) right out of the box – that’s LattePanda. by Cabe Atwell @ makezine.com:

Makers at Latte, a Shanghai-based startup, were frustrated at the lack of tools available to makers looking to create Windows-based projects. That, despite what you are thinking, does have some relevance. Windows being the most popular consumer OS on the planet, has a vast catalog and a huge support community. In response, the team created LattePanda, a palm-sized, quad-core (Intel Cherry Trail 1.8GHz) full Windows 10 computer.

LattePanda Puts Windows 10 on a Single Board Computer – [Link]

Issues with printf function

The C library function printf() is one of the common used functions in embedded systems world to debug the code in real time over a serial connection. Using the printf() over serial is under debate and may not be optimal for embedded systems and that’s what Jacob Beningo over EDN tries to demonstrate.

The first problem with using printf() is the need to bring a standard C library into the software which consumes a lot from RAM and ROM/Flash which are limited in size. The second problem is during the execution time of printf() where system becomes blocked until all characters have been transmitted.


Timing Diagram For Printing “Hello World!” Using printf() Through A UART At 9600 Baud - Image courtesy of EDN
Timing Diagram For Printing “Hello World!” Using printf() Through A UART At 9600 Baud – Image courtesy of EDN

Jacob addressed some solutions and alternatives. One of them was developing a non blocking version of printf() that uses an interrupt service routine to handle transmission of buffer content.

Performance Of The Non-blocking Version - Images courtesy of EDN
Performance Of The Non-blocking Version – Images courtesy of EDN

Another solution is to use SWD (Single Wire Debugger) interface, a 2-pin debug port for ARM MCUs, which minimizes software overhead where an internal buffer gets filled and the debug hardware automatically handles transmission to the debug probe. You can read more about SWD in ARM website.

Via: EDN

Share Your Internet Connection With Raspberry Pi Zero Over USB

Raspberry Pi Zero is the smallest member in Raspberry Pi single-board computers family with a single-core 1 GHz processor chip, a micro-SD card slot, a mini HDMI port and two micro USB ports (one for power, one for USB). A tutorial in CircuitBasics demonstrates how we can get an Internet access for Raspberry Pi Zero from our computer over USB, because Raspberry Pi Zero doesn’t have an Ethernet connector RJ45 to have direct access to network.

Raspberry Pi Zero - Image courtesy of Adafruit
Raspberry Pi Zero – Image courtesy of Adafruit

The trick used here is to recognize the Raspberry Pi Zero as a USB/Ethernet gadget, in other words using Ethernet emulation over USB.

What you need:

  • Micro USB to USB adapter.
  • Bonjour software installed on your computer to recognize USB and ethernet devices.
  • SSH client PuTTY on your computer.
  • A micro SD card with an image of Raspbian Jessie Full or Lite (version 5-10-16 or later).


In order to do the trick of getting the Internet access over USB you need to setup up Pi Zero OTG before connecting Pi Zero with USB.
When you connect it with USB, after setting up the OTG, you will see the PI Zero under “Other devices”->“RNDIS/Ethernet Gadget” from device manager.

The last step is to set up shared Internet access with your USB/Ethernet gadget, here it’s Pi Zero, from “Network Connections”.

Communication with Pi Zero is done by using PuTTY.

ping www.google.com
ping www.google.com On Pi Zero

You can see the full steps from the tutorial in CircuitBasics.

ISL91128 – A New Buck-Boost Regulator With I2C Interface From Intersil

If your application requires a changing supply voltage, then this new IC is ideal for you. Intersil announced the ISL91128, a new buck-boost regulator. The new regulator has an I2C interface to select a broad set of features including output voltage range and slew rate. This eliminates the need of feedback resistors and allows the reuse of the same design for multiple output voltage needs.

The input voltage range is from 1.8V to 5.5V, and the output voltage range is from 1.9V to 5.5V with output current up to 2.2A. ISL91128 has 2.5MHz switching frequency. It is fully protected for short-circuit, over-temperature and undervoltage, according to the datasheet.

isl91128_applicationISL91128 is available in a small 2.15mm x 1.74mm WLCSP package.

intersil_bbIntersil provides ISL91128IIN-EVZ, an evaluation board for ISL91128. ISL91128 is part of ISL911xx family of buck-boost/boost regulators.

Key Differences in Family
Key Differences in Family

[Product Page]


Via: ElectronicsWeekly

ESPUSB – An USB Software Stack For ESP8266

ESP8266EX and even the new ESP32 SoC lack a USB hardware transceiver, so [CNLohr] decided to develop a USB software stack for ESP8266. After a quick search, I think it is the first try to do a USB software stack for esp8266. USB software stack is a firmware-only implementation of a USB. ESPUSB works in a similar way of V-USB for AVR MCUs.

This USB Stack uses D- on GPIO 4 and D+ on GPIO 5 and only operates with low-speed USB. To run ESPUSB on ESP8266 it will need about 317 byte of SRAM and 1422 byte from flash/IRAM.

USB Enumeration Using ESPUSB - Images courtesy of cnlohr
USB Enumeration Using ESPUSB – Images courtesy of cnlohr

[CNLohr] said that he could flash ESP8266 using the ESPUSB.

Flashing ESP8266 Using ESPUSB - Images courtesy of cnlohr
Flashing ESP8266 Using ESPUSB – Images courtesy of cnlohr

[CNLohr] described in a video the code of ESPUSB and how he developed it.

A forum for discussion for ESPUSB was created in ESP8266 website.
You can reach the source code of ESPUSB project on the GitHub repository.

Via: cnx-software

UPDATE(2/8/2016): [CNLohr] published a tweet, containing a photo of a PCB module for ESPUSB, it’s a small stick that can be plugged into USB directly. It uses ESP8285 SoC, same as ESP8266EX one but with built-in flash memory.


He also uploaded a video on Youtube showing the new PCB plugged into his laptop which is detected as HID mouse device using the ESPUSB USB software stack. He controls the mouse pointer over WiFi using an application from his phone.