Software category

SMART.IO, An Affordable Remote Control for Embedded Designs

Creating a smartphone application for your embedded products may be a high-cost process that consumes time and efforts. ImageCraft, a producer of high quality low cost embedded system tools, had developed “Smatr.IO” as a very cheap alternative solution that allows you to add a friendly user interface to any embedded project.

Smart.IO is a toolkit that helps you to create a compatible application with your product without the need of any experience in wireless technology or app development. It uses BLE (Bluetooth Low Energy) and it doesn’t require an Internet connection or data plan.

Smart.IO consists of three parts:

  • A Small Chip Module compatible with any microcontroller.
  • A Software API for creating Graphical User Interface (GUI) objects.
  • A Programmable Smartphone App that requires only a Bluetooth connection to use.

There is no need to write any wireless code, or write an app. All you need is to add the Smart.IO chip to your existing microcontroller-based design, then use the API to create GUI objects in your firmware.

The Smart.IO Chip Module

The Smart.IO chip module is only 25mmx14mm. It has a 10-pin headers which are easy to solder onto your PCB, or use in a prototype system. It interfaces with your host microcontroller using SPI pins, plus extra pins for interrupts for data notification. Smart.IO draws very little power, typically about 100mA, and much less during standby mode.

If you are an Arduino user, ImageCraft will provide an Arduino-compatible shield that comes with a Smart.IO chip module, so that Arduino users can start using it immediately.

The Smart.IO API

The API functions allow you to create GUI objects and to modify their values. A simple callback mechanism notifies your firmware of input changes. The API code will run in the Smart.IO chip firmware, and the host MCU only runs the API interface layer code, so it will not use the host MCU resources.

The Programmable Smart.IO App

The GUI elements incorporate solid, current user interface principles. The UI will look and work exactly the same way across all iOS devices, from the iPhone 5 to iPhone 7+, and all iPad devices, including the iPad Pro. An Android friendly UI is planned for Spring.

There is also a customized version of the app specific to your product and branding for an inexpensive one-time licensing fee including customized app logo and name and security key to ensure your product will only work with your app.

Smart.IO Security

Secret key encryption is used to ensure secure pairing of the device and customized app. As Smart.IO does not use the Internet, there is no risk of your device being used for DDOS or other types of attacks through the use of Smart.IO.

Through the Kickstarter campaign, Smart.IO reached about $9,500 and pre-ordering is still open here. ImageCraft will start work on the Android version of the programmable app and set up a forum for Smart.IO users. A use case example of Smart.IO is available on the official page.

Panelizing made easy in Eagle

Sjaak shared a tip for panelizing PCB boards in Eagle:

Panelizing is done by machining a slot between two or more boards, but keep them attached by a small amount of PCB material (mousebites). I used to do it by hand: generated all the schematics into multiple sheets and then route the board and finally add the slots with mousebites in the PCB editor. I generally use slotwidth of 50 mil and the smallest drill possible (12 mil) 12.5 mil apart as breakingline. I tend to place the mousebites about 2cm from each other to maintain PCB strength.

Panelizing made easy in Eagle – [Link]

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.

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.

Tibbo Technology Announces TIDE Release 5.03.03 that features TiOS Simulator

New Tibbo IDE (TIDE) release 5.03.03 includes a Tibbo OS (TiOS) Simulator. The Simulator implements a virtual TiOS device incorporating virtual Ethernet interface, virtual EEPROM, virtual flash memory, virtual MD button, buzzer, and status LEDs, as well as virtual LCD and keypad.

The Simulator makes it possible to test-drive TIDE and TiOS, as well as run and debug Tibbo BASIC and C applications, without having to commit to a purchase of a physical Tibbo device.

The Simulator can be found here: WINDOWS START > Tibbo > Tibbo IDE > TiOS Simulator. You can also start TiOS Simulator from within TIDE: Debug > Start TiOS Simulator.

Once the Simulator is running, it appears in the Device Explorer as any other TiOS device would. To write an app for the Simulator, select the SIMULATOR platform and set the Simulator as the debug target.

TIDE 5.03.03 is distributed with a number of test projects written specifically for TiOS Simulator. You can find them here: (My) Documents\TIDE\Samples.

Tibbo Technology Announces TIDE Release 5.03.03 that features TiOS Simulator – [Link]

easyeda online circuit simulator

Top Ten Online Circuit Simulators

Online circuit simulators are getting more popular day by day. Electronics hobbyists, as well as professionals, use circuit simulators often to design and check circuit diagrams. The best thing about online simulator is, you don’t have to install anything at all on your PC or laptop. All you need is a browser and a stable internet connection. Work from anywhere just by opening the online circuit simulator website and signing in to your account. Cool, huh?

Now the question is, which simulator should one use? Which one is the best simulator? Well, in one sentence, “there is NO best simulator“. It depends on your requirement and level of expertise. If you are just a beginner, then you need a basic and less complex simulator. But if you’re professional and very expert in this field, obviously you’ll need a complicated, multipurpose simulator.

Here I’ve listed top ten online simulators based on their popularity, functionality, pricing, and availability of library parts.

1. EasyEDA

easyeda online circuit simulator
EasyEDA online circuit simulator

EasyEDA is a free, zero-install, web and cloud-based EDA tool suite which integrates powerful schematic capture, mixed-mode circuit simulator and PCB layout in a cross-platform browser environment, for electronic engineers, educators, students, and hobbyists.

As EasyEDA is completely free, super easy to use, and feature-rich, it holds the first place.

 

Pros: 

  •  Huge and ever growing community
  • Parts library is quite massive
  • Very powerful simulator
  • High-quality PCB designing is possible
  • Designing circuit/PCB is free from any kind of hassle. Beginners can easily get started to EayEDA
  • EasyEDA is completely FREE

Cons:

  • Getting the simulation done is kinda difficult. You need to follow the guide.

2. circuits.io (Autodesk Circuits)

(circuits.io) Autodesk circuits online simulator
(circuits.io) Autodesk circuits online simulator

Autodesk Circuits empowers you to bring your electronics project ideas to life with free, easy to use online tools.

A circuit/PCB designing tool and simulator developed by AutoDesk, empowering you to design the circuit, see it on the breadboard , use the famous platform Arduino, simulate the circuit and eventually create the PCB. You can program the Arduino directly from this software simulation.

Pros:

  • The output design is easier to interpret and will be a handy reference while making a real life connection
  • It can simulate Arduino
  • The library has plenty of parts

Cons:

  • Designing circuit is bit tougher than other simulators
  • Can’t draw a circuit quickly

3. PartSim

PartSim online Circuit Simulator
PartSim online Circuit Simulator

PartSim is a free and easy to use circuit simulator that runs in your web browser. PartSim includes a full SPICE simulation engine, web-based schematic capture tool, and a graphical waveform viewer.

Pros:

  • This platform is pretty neat and easy to use
  • Large number of parts from vendors makes this a good choice for practical purpose
  • PartSim is entirely free to use

Cons:

  • Not so powerful simulator but ok for beginners
  • It has a lot of op-amps in library but other ICs lack

4. EveryCircuit

EveryCircuit Online Circuit Simulator
EveryCircuit Online Circuit Simulator

EveryCircuit is an online circuit simulator with a well-designed graphics. It’s really easy to use and has a great system of electronic design. It allows you to embed simulation into your web page.

Pros:

  • EveryCircuit is also available mobile platforms (Android and iOS)
  • Impressive animated representation of various dynamic parameters
  • It offers plenty of example and pre-designed circuits. Good for beginners

Cons:

  • This platform is not a free one
  • It lacks many useful ICs

5. Circuit Sims (Falstad Circuit)

Falstad Circuit Online circuit simulator
Falstad Circuit Online circuit simulator

Extremely simple web platform that runs on any browser. The platform perfectly suits beginners who want to understand the functionality of simple circuits and electronics.

Pros:

  • The simplest one. Beginners won’t have to struggle with it
  • Completely free and no account is required
  • This is an Open-Source platform

Cons:

  • The library parts are very limited
  • GUI is not attractive

6. DC/AC Virtual Lab

DC/AC Virtual Lab online circuit simulator
DC/AC Virtual Lab online circuit simulator

DC/AC Virtual Lab is an online simulator who is capable of building DC/AC circuits, you can build circuits with batteries, resistors, wires and other components.

DC/AC Virtual Lab has a pretty attractive graphics and components are real looking, but it is not in top fives because of limitation in parts library, incapability of drawing circuits and some other reasons.

Pros:

  • Simple UI, good for students and instructors
  • Parts look like real one, not just symbols

Cons:

  • DC/AC Virtual Lab is NOT completely free
  • Parts library is very much limited
  • Simulation is not that powerful

7. DoCircuits

DoCircuits online circuit simulator
DoCircuits online circuit simulator

DoCrcuits is easy to use but not much efficient. You can design both analog and digital circuits. But you have to log in to get the simulation done.

Pros:

  • Interactive design, though a bit sluggish
  • Components are real looking
  • Many readymade circuits are there

Cons:

  • You can’t use both analog and digital components on the same circuit
  • Simulation is pretty much limited
  • DoCircuits is NOT free

8. CircuitsCloud

CircuitsCloud online circuit simulator
CircuitsCloud online circuit simulator

CircuitsCloud is a free and easy-to-use simulator. It works good for both analog and digital. Beginners can easily use it but have to create an account first.

Pros:

  • CircuitsCloud is a free platform
  • Making circuit is easy here

Cons:

  • Simulation is not good. Doesn’t animate direction of current
  • Library doesn’t contain enough digital IC and MCUs

9. CIRCUIT LAB

CircuitLab online circuit simulator
CircuitLab online circuit simulator

Circuit Lab is a feature-rich online circuit simulator, but it’s not free. It’s designed with easy to use editor and accurate analog/digital circuit simulator.

Pros:

  • This platform is well-built with fairly extensive library that is suitable for both beginners and experimenters
  • Simulated graphs and output results can be exported as CSV file for further analysis
  • Designing circuits is easy and pre-designed circuits are available

Cons:

  • This is not a free platform but you can use the demo for free
  • The simulation could have been better with interactive simulations apart from the graphical representation
  • More digital ICs should be added in library

10. TinaCloud

Tina Cloud online circuit simulator
Tina Cloud online circuit simulator

TINA Design Suite is a powerful yet affordable circuit simulator and PCB design software package for analyzing, designing, and real time testing of analog, digital, HDL, MCU, and mixed electronic circuits.

TINA is a very sophisticated circuit simulator and a good choice for experienced persons. It’s not very easy for beginners and takes a while to get started. TINA is not free. But if you consider the performance, the price is negligible.

Pros:

  • This simulation program has sophisticated capabilities
  • Simulations are performed on company’s server, hence it provides an excellent accuracy and speed
  • Various types of circuits can be simulated

Cons:

  • This platform is NOT for beginners
  • Even if you are experienced one, initially you may face some difficulties
  • Tina Cloud is NOT a free simulator
Others:

So, now you have a list of “Top Ten Online Circuit Simulators”, but this isn’t a final one. There are other online simulators which you may find as good for you. simulator.io, Gecko-SIMULATIONS etc. are some of them. I recommend you to try all of them before choosing one as perfect.

If you have any other online simulator in your knowledge to share with us, please do. Any suggestion is highly appreciated.

ElectroCalc – Electrical and Electronics Calculator

unnamed

“Tiago” tipped us with his latest Android App. His app, ElectroCalc is a fast calculator for electrical and electronic circuits. The calculator includes many tools and comes in a free and a Pro version. Check it out!

ElectroCalc – Electrical and Electronics Calculator – [Link]

Program ESP8266 with Arduino

Programming ESP8266 With Arduino IDE : The Easy Way

The ESP8266 WiFi Module is a self-contained SOC that can give any microcontroller access to your WiFi network. It’s an extremely cost-effective board with a huge and ever-growing community. Each ESP8266 module comes pre-programmed with an AT command set firmware. This module has a powerful on-board processing and storage capability that allows it to act as a standalone microcontroller.

Following 2 easy steps, you can upload Arduino sketches on your ESP8266 using Arduino IDE.

  • Configuring the IDE
  • Making the circuit

Parts List:

  1. ESP 8266 Module.
  2. Jumper wires.
  3. A breadboard.
  4. One USB to TTL converter, a.k.a UART converter.

Configuring The IDE:

In order to bring support for ESP8266 chips to the Arduino environment, you need to add ESP8266 Arduino Core in the IDE.

NOTE: You must have Arduino IDE version 1.6.4 or higher. The latest version is highly recommended. Download the latest version of IDE from Arduino.cc.

  1. Install Arduino 1.6.8.
  2. Start Arduino and open Preferences window.
  3. Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board Manager URLs field. (See the first image)
  4. Open Boards Manager from Tools > Board menu and install esp8266 platform. (See the second image)

Add URL to "Preferences" in Arduino IDE

Add URL to “Preferences” in Arduino IDE

Select ESP8266 board from Board Manager

Select ESP8266 board from Board Manager

Making The Circuit:

ESP8266-01 wiring for uploading program
ESP8266-01 wiring for uploading program
ESP8266-12E wiring for uploading program
ESP8266-12E wiring for uploading program

ESP-01:

  1. Connect GPIO0 to Ground (set it LOW or 0)
  2. Connect CH_PD toVcc (set it HIGH or 1)

ESP-12(E/F):

  1. Connect GPIO0 to Ground (set it LOW or 0)
  2. Connect GPIO15 to Ground (set it LOW OR 0)
  3. Connect GPIO2 to Vcc (set it HIGH or 1)
  4. Connect CH_PD toVcc (set it HIGH or 1)

Pin Vcc and GND should be connected to power supply’s +ve and -ve rail respectively. TX and RX of ESP8266 should be connected to RX and TX of USB to TTL converter respectively.

NOTE: You can replace the USB to TTL converter with an Arduino UNO board, but you have to upload a blank sketch or “bare-minimum” sketch to the Arduino so that the MCU of the Arduino board doesn’t interrupt. Connect TX and RX of the ESP8266 to RX and TX of the Arduino UNO respectively.

Conclusion:

You are done! Now just select your ESP8266 board from Tools > Board menu, write any program, and click on Upload button. The ESP8266 will run as standalone microcontroller now.

To have a clear idea, read the article FLASH AT FIRMWARE TO ESP8266 also.

Transfer Files Between Raspberry Pi and Computer

Sometimes you need to send or receive files from your Raspberry Pi robot, this may be a bit complex process as there is no direct method. You may think about unmounting the SD card from the Raspberry then connecting it to PC, or using a cloud storage to upload and download files, but these methods may increase the complexity of your project.

pi-sd-3

Dexter Industries, an American educational robotics company that develops robot kits, presents in this tutorial three simple ways to transfer files between PC and Raspberry Pi. These methods require a Raspberry Pi with SD card mounted and a PC, and both must be connected to the same network.

The first method is using the Windows file explorer that works on Windows 7 and above. It is very simple, just a right click on computer icon, choose “Map network drive”, and insert your Raspberry IP address. You can then transfer files with the simple copy paste method.

Another way uses File Transfer Protocol (FTP). It is a standard network protocol used to transfer computer files between a client and server on a computer network. There are a lot of free and open-source FTP programs for all platforms, such as FileZilla, WinSCP, SmartFTP, and others.

The following video explains  how to establish a connection between your Raspberry Pi and PC using FileZilla. Once you’ve successfully connected with the FTP software, you can drag and drop files between the Raspberry Pi and the PC.

The last method is editing Raspberry Pi files using Notepad++, a free source code editor which supports several programming languages running under the MS Windows environment. It is a great tool for editing codes and files on your PC, and also on your Raspberry Pi!

After downloading and installing Notepad++ install “NppFTP” plugin, create a profile for your Raspberry Pi connection, and enter the login information. After the connection is successfully created, you should see a file tree appear in the box on the right hand side. You are able now to edit existing files and add new files and folders.

Brillo, the new OS for IoT by Google

Google had launched Brillo, a new Android based OS used for embedded development – in particular for low-power, IoT devices. Brillo brings the simplicity and speed of software development to hardware for IoT with an embedded OS, core services, developer kit, and developer console.

google-brillo-operating-system-for-internet-of-things

Brillo works 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.

Brillo Structure
Brillo Structure

The big challenge  is unifying and facilitating the communication among the estimated 200 billion smart devices expected by 2020. Whether you’re looking to build a simple DIY project or implement an enterprise scale m2m (machine to machine) project, Google’s new tools will be a big help.  Fortunately, Brillo appears pretty easy for developers who are already familiar with Android.

Check this video by Google about Brillo and its features, and you can watch another video about Weave

Brillo supports a trio of ARM, Intel, and MIPS hacker SBCs (Single Board Computers) called “ made for Brillo” hardware kits. One of these kits is The Edison kit for Brillo by Intel, that includes an Edison IoT module plugged into a baseboard that offers convenient, Arduino-style expansion compatibility.

Edison for Brillo SBC
Edison for Brillo SBC

One of the great things about Brillo that the security issue with IoT applications is solved by choosing to use secure boot and signed over-the-air updates and providing timely patches at the OS level.

If you are interested in developing Brillo itself you can check the Brillo developer portal where code, development tools, and documentation for the Android-based Brillo embedded OS for Internet of Things devices can obtained. You should ask for an invitation then when you gain access you will get everything needed for your next project.
A high introduction was presented by Intel in the Open IoT Summit  in April 2016, you can check it here.
As Intel, UN and IDC mentioned in their joint report that there will be an average of 26 smart devices for every human in just 5 years, we can predict a rapid growing development and enhancements for IoT systems, devices and protocols.