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]

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.