An introduction to GPIO Settings

Working with microcontrollers means managing GPIO pins at some point. Many configurations have been developed for modern microcontrollers which can lead to some “fancy” terms that may confuse programmers. Its important to understand all of this to avoid confusion and errors while programming.

First, some terms need to be understood. GPIO pins have tri-state logic which means that contrary to popular beliefs GPIO pins can assume 3 states instead of 2. These values are: 0, 1 and high impedance or “Hi-Z”. There is also a state called floating which is when the state is indeterminate and floats between two states. As a result, the pull up and pull down were created, the pull up are resistors that connect a signal to VCC when the signal is floating, and pull downs do the same, but connect the signal to ground. Also, there is a “current sink” which is when the current is flowing into a pin, node, or signal. Conversely, there is a “current source” which is when the current is flowing out of a pin, node, or signal.

The modes of a GPIO pin can be classified into two categories: input, and output. Input mode means that the pin is used to read the state of the electrical signal, they are configured as high-impedance, pull up or pull down. Output modes are used to write a signal as high or low using push-pull or open drain. Push- pull is the default setting in most cases and it works by sourcing or sinking the current. On the other hand, Open- Drain only sinks current which basically makes it a switch with 2 states ground or disconnected. A useful application is for having multiple external devices drive a single, active low interrupt pin.

Regarding functionality, speed is a very important and desired characteristic for GPIO pins since it controls the rate at which it changes state. Speed configurations are referred as “slew rates”, “frequency”, and “high frequency mode”. Increasing speed leads to higher power consumption and a noisier device, so people tend to keep it low unless the project specifically requires more speed.

Another term is “High Drive” GPIO which are push-pull pins that provide more current that usual. These characteristics depend on the device and its recommended to check the datasheet, for example: if a typical GPIO can source/sink 8 mA a high drive device can source/sink 40 mA.

By reading this its easy to notice that the definitions are mostly things we are familiar with, and the only novelty are the terms used to describe them.  Learning and understanding all the modes, functionalities etc. will make working with GPIOs easier and could avoid any issues. You can learn more about GPIO states on the source below.


uArt- A small Solution For a Big Problem

Coming soon to Crowd Supply is the ultimate USB-UART converter. μArt is a device that offers safe and reliable USB-to UART conversion. The voltage levels, electric potentials, and communication speeds are no longer a concern, and it can be used for data exchange or for Programming Arduino or ESP. μArt was designed for enthusiasts and professionals and for users in general who want to save money, time, and hardware without compromising quality.

The device has the size of two coins and was designed to tolerate user’s mistakes without getting damaged or damaging the connected hardware.

The device features a working voltage of 1.8 to 5.4, up to 3 Mbaud transfer speed, complete galvanic isolation, reverse polarity protection, pullups on all inputs, voltage autosensing, cross platform support, GPIO pins, LEDs etc. The complete features can be found on this website.

All characteristics mentioned before make it perfect for working with computers, microcontrollers, FPGAs, and low power electronics. Also, it is fast enough for transferring high quality stereo audio.

The safety features protect your computer and other hardware, and it protects the device even if you mix up the power pins.

μArt also includes characteristics that make it more efficient. It helps avoid noise because of the filters and isolation and the converter will automatically use the correct voltage levels for UART communication.

Regarding design, the device its very user friendly and many features were added to avoid mistakes. For example, the four LEDs indicate power, RX/TX activity and feedback about the connected device, it also has readable labels which minimize user errors. It is compact and comes with a transparent case that give mechanical and electrical protection. Finally, μArt has cross platform support with drivers for Windows, Linux, MacOS etc.

All of this in a small device that provides reliable and safe functionality. The device will probably be a success when it launches in crowd supply, but we have yet to see how it performs and all the applications that it will have. There is still no date for the launch, but you can sign up to be notified when it does in the crowd supply website.

UPDATE 08/08/2018: The campaign is launched on crowdsupply and back is starting from 32USD.

SPIDriver – A better SPI Adapter

This moment in Crowd Supply you can find SPIDriver an intuitive tool for using SPI devices. The campaign that has already collected over $1000 of its $2700 goal, was designed to launch into the market a device to make our lives easier. It can be used with any SPI device such as LCD panels, flash memory, sensor LEDs etc. but what does it does exactly? The SPI driver shows you the SPI bus in real time, which is useful for debugging, testing, and calibrating.

It works with Windows, Mac, and Linux, and it can be controlled via the command line, python 2 or 3, C and C++, or a GUI. It is easy to plug in and includes 3.3 and 5 v supply. The display shows you what it’s happening in real time and sustains SPI transfers at 500 kbps. Additionally, it measures only 61 mm x 49 mm x 6 mm. Also, it uses a FTDI USB serial chip to talk to the PC.

Some of the solutions used as an example in the Crowd Supply webpage are:

  • Driving, testing, and evaluating new displays. Using displays is often difficult and getting them to work can be hard, but this device makes it easy
  • Programming SPI flash. Reading and writing SPI flash in- circuit. For example, for Atmel´s flash, a short script is everything you need to read and write
  • Lightning up LED strips. SPIDriver makes using these devices fast and fun giving users the ability to rapidly test using its own power supply

Plus, the colors in the screen are the same colors as in the cables, so you can know exactly what you are seeing.

The PCB is being manufactured by JLCPCB in Shenzhen, and its assembled in Pescadero USA. The units are thoroughly tested and calibrated with 1% accuracy.

There are 28 days left on the campaign, and you can support it with $27, $57 or 69$ which will get you your own SPIDriver (and some other stuff depending on the amount you pledge). The company claims that they will start delivering rewards on August 24th.

This device was designed, so that you never have to ask yourself again “What’s it doing now?”, and its meant to be used by all kinds of people from total beginners to experts. The complete specifications can be found on this website which is also the place to back the project.

ESP32- Now With Long Range Wi-Fi

Nowadays, Wi-Fi is a word we hear often, and it is a technology that we use all the time. There are around 279 million Wi-Fi hotspots in the world, and in 2021 that number is expected to increase to 542 million hotspots. The wireless nature of this technology allows users to access a network from any convenient location. Wi-Fi chipsets are pieces of hardware designed for wireless communication and they are cheap, and readily available, but the range don’t match the expectations, and configuring its coverage is no easy task.

Support for the 802.11 LR mode in the ESP-IDF was added at the end of 2016. The 802.11 LR mode can achieve a 1 km line of sight range if both the station and the Soft-AP are connected to an ESP32 device.

ESP32 is a low cost, low power system on a chip (SoC) with Wi-Fi and Bluetooth capabilities. It was created for mobile devices, wearables electronics, and for Internet of Things applications. The devices have low power consumption. The EPS32 uses Tensilica Xtensa LX6 microprocessor and it was created by Espressif systems.

The mode was included quietly, so there has not been much talk about it, but some people noticed the inclusion, and have been testing the long-range mode in the field. Enabling the mode requires only a function call, making it easy to use. The long-range mode comes with a cost which is the data rate which is significantly reduced. In addition, a lot more can be done if the common router antenna is replaced by directional antenna.

This device has already been tested by some users for drones and long-distance applications, but there is no formal data about the device’s performance, problems, and even the applications are not clear enough. The recent increase in popularity could lead to conclusive data which could make the mode more reliable.

The applications for this includes remote drone video, telemetry (collecting data at remote or inaccessible points and transmitting it for monitoring), wardriving (finding Wi-Fi hotspots from a moving vehicle) etc. There are many possibilities, but we must give makers time to figure this new mode on their own, and to test its capabilities.


Redefining Signal Processing with Air-T

Artificial intelligence (AI) is an area of computer science that works towards creating machines that could make decisions, react, and interact just like a human would. To be considered AI a computer must be capable of recognizing speech, learn, plan, and solve problems. To do all this a computer must have a way to perceive the world and even interact with it (move). This type of technology has been used for personal assistants such as Siri and Alexa, for customer prediction (Netflix and Pandora), for autonomous vehicles, gaming etc. However, one application that has not been exploited is for signal processing.

Deepwave Digital decided to be pioneers in using AI for signals. The company created the AIR-T (Artificial Intelligence Radio Transceiver) which is a high-power SBC that uses NVIDIA Jetson TX2 for signal processing and deep learning applications.

Nowadays we deal with an increasing number of signals, because of Wi-Fi and cellular communications, and the technology is still human dependent to select the correct frequencies. Because of this, the need for an AI to do the work for us has become increasingly high, and as it turns out the AI can do the work better than us.

The AIR-T board also includes Xilinx Artix 7 FPGA and an Analog Devices 9371 MIMO transceiver with two RX channels of 100 MHz and a couple of TX channels of 250 MHz for connectivity, the device includes Bluetooth, Wi-Fi, HDMI, GPIO/UART, USB 2.0 and 3.0 etc. It uses Ubuntu 16.04, and it can be programmed using Python or C++.

All these characteristics make the device adaptable to many applications which will allow users to create and shape different projects. This project gives users the ability to adapt to software defined radio. Deepwave said:

This versatile system can function as a highly parallel SDR, data recorder, or inference engine for deep learning algorithms. The embedded GPU allows for SDR applications to process bandwidths greater than 200 MHz in real-time.

The device is not yet on sale, and Deepwave is expected to launch a crowdfunding to commercialize the product in the future, so there is still no information about price or sellers.

The idea is to redefine how signal processing is done using machine learning.


A flexible Arduino Prototype

A lot of makers have started venturing into the wearable world in which everything is portable, invisible, light, flexible and functional. Many have found that using Arduino compromised two of those characteristics. Arduino is not flexible, and it is not invisible which is why it is hard to incorporate into this kind of projects.

NextFlex in Silicon Valley has created a prototype of a flexible Arduino, based on the Arduino mini. The prototype is printed on a polymer and then the standard components are bonded. This means that the device is not yet completely flexible since it includes some rigid components, but the company hopes that in the future components such as resistors and capacitors would be printable too.

The process for making the flexible Arduino involves automated screen printers and industrial inkjet printers for printing the circuit on a 1mm thick flexible plastic board. Then, the microcontroller silicon die is connected directly into the surface with high precision.

The conductive ink used is an advanced formulation of silver ink with bending and flexing capabilities, and with strong adhesion to the surface. The ink is not new in the market, but the company is working toward making more reliable and resilient materials.

This device could bring wearables to a whole new level of comfort and could also be used in a lot of situations such as when space is an important variable, or when weight could affect the correct functioning of the device. As a result, the device would not only be useful for makers, but also for students, product designers etc.

On June 26 of the current year, NextFlex will be taking about the project at the Sensors Expo & conference in San Jose, California.

Manufacturers think that prices in this kind of technology would drop rapidly, making it accessible for everyone to use on their projects. NextFlex wants to make this kind of technology the new mainstream for all kind of projects. Flexible microcontrollers could also be used in IoT and medical applications.

In conclusion, Arduino is already a beloved microcontroller because of its open source hardware and software, its ability to be easily programmed, and its low cost, but now it could also be known because of its practical presentation, and ability to be blended. This device is just a prototype and we should expect improvements in the future, but the future is looking bright for makers.

Pixy 2 – Computer Vision at a Whole New Level

Computer vision started as a way for computers to understand their surroundings, this requires making a computer with a high-level understanding of digital images or videos. A device that performs computer vision needs to acquire, process, and analyze images to extract data from the real world and turn it into numerical information that can be used for something. The main application for this technology has always been artificial intelligence since giving a computer the ability to understand its surroundings (and learn from them) it’s a huge step towards decision making which is a fundamental part of AI.

Makers have also started using this type of technology which lead Charmed Labs to create Pixy in 2013. Pixy is a small, easily programmable device used to recognize certain things in its sight. Pixy can be taught objects, and it can also recognize color codes. This year, Pixy 2 was announced, and it can do everything Pixy could plus some additional features.

Pixy 2 has a custom pan tilt mechanism, making it easy to look around. Also, the image processing is now at 60 frames per second. It includes new algorithms for line detection, so it can track lines, and it’s now capable of identifying intersections, and reading signals to make decisions. Signals are simple barcodes which can be printed out and can be easily programmed to a certain instruction to be performed at the sight of that specific barcode.

The device includes a cable to plug it directly into the Arduino, or it can be connected to Raspberry PI via USB cable. It can also communicate via SPI, I2C and UART giving the makers a wide range of options to work with. Finally, the new version has a LED light meant to be used in dark spaces.

A lot of projects for Pixy can be found on the internet, and with the new additions that Pixy 2 offers, there would soon be a lot of applications for this device too. Pixy 2 is smaller, faster, and smarter. As a result, makers will find creative ways to exploit these characteristics in their projects. Finally, Pixy can also be used with Lego Mindstorms (NXT and EV3).

The first Pixy was launched on Kickstarter, but Pixy 2 is not crowdfunding, and its already available to be bought on Amazon or on its official website.

PicoEVB, PCIe FPGA Design in a Compact and Affordable Device

FPGA (Field-programmable gate arrays) devices have gained popularity in the past few years, mainly because of their ability to “become” any digital circuit given that there are enough logic blocks. These devices have endless applications and are sometimes faster which is why they are also used for hardware acceleration. Joining the FPGA industry is the PicoEVB, a small, cheap, open source board designed for PCIe prototyping.

PicoEVB is designed around Xilinx Artix XC7A50T, and measures 22 x 30 x 3.8 mm (about the size of a quarter). Also, it´s schematics will be published making the device open software and hardware. The files will be uploaded on its GitHub repository (there are some sample projects too). It was made to fit in laptop´s M.2 slot, and it can be used as an integrated part of your computer. It does not need any cables since its powered by your computer, and it can be programmed using Xilings Vivado IDE.

Nowadays, PCIe dev boards could cost around $1000, but PicoEVB will cost $219 making it a great competitor in PCIe design. The product can be bought through PicoEVB website, Amazon, Crowd supply and Ebay.

The device has 3 LEDs, 4 digital channels, or 1 analog and 2 digital, or 2 analog channels. Additionally, PicoEVB supports Windows and Linux. The only problem that a user might find is not having an M.2 slot which can be solved with an adapter to mPCIe slot.

Everything needed to program and debug the FPGA is on board, and taking into consideration the low price, it is a great alternative for designing PCIe on a low budget without reducing functionality. It´s the most compact and affordable FPGA development kit currently in the market.


Surrounding Gate Transistors – Price + Size + Performance

Intel co-founder Gordon Moore predicted in 1965 that the number of transistors per silicon chip would double every two years. This came to be known as Moore´s Law which has been proven accurate for the last fifty years. Many scientists argue that the law is soon to be broken because of physical limitations. The end of Moore´s law would mean a stagnation in computer processing and power and could cause economic issues because changing the whole computer industry to adapt to a new technology would generate really high costs.

Unisantis electronics in association with the Belgian research institute Imec have proposed a solution that not only allows the size to get smaller, but also will have minimum effect in manufacturing process. The Surrounding Gate Transistor (SGT) has a vertical design (as opposed to commonly used transistors which have a horizontal design), this means 50% less occupied area while electron mobility could increase by 300%. Additionally, the vertical structure improves operating voltage, stability, and leakage current.

Nowadays, transistors used are about 10 nm, but smaller sizes come with problems such as quantum tunneling which allows the electrons to flow from one gate to the next. SGT´s surround the channel on all sides and that provides better control over the channel. The surrounding gate topology enables a single SRAM cell using just six 5 nm transistors.

Also, Unisantis has developed the process for STG production using the technology available nowadays. As a result, the implementation of this technology in the sector will not mean a huge impact on costs.

Other solutions have been proposed such as software improvements, and parallelization, but these are not long-term solutions since a physical barrier is soon to be reached. Other solutions are too expensive to implement, or the idea is still in early steps. Many industries are working toward solving this problem, but few viable solutions have been reached.

Technology industry demands constant improvement in processing and power efficiency, and Unisantis electronics solutions offers price and performance, this could make this technology the next “standard” for computer products and will allow Moore´s law to stay valid for some more time. Its important to clarify that if Moore´s Law stops being valid, we won´t be the first to feel the impact since latest transistor technology is mainly used in super computers, it will take a couple of years for us to feel the slowing in the improvement rate of everyday devices.

Arduino’s New Competitors in IoT Race

Arduino, a worldwide leader in microcontrollers and IoT has now added two new members to the family. IoT (internet of things) is a recent term used to describe common devices embedded with electronics, giving them new functionalities such as data gathering, wireless controlling etc. Arduino gave their users the ability to easily navigate through IoT world because of their user-friendly system and has launched different boards and shields throughout the years.

In May, Arduino unveiled the MKR WIFI 1010 and MKR NB 1500, two new wireless connectivity boards designed to compete in the internet of things development.

The first one is the descendant of MKR1000, but it now offers low power consumption, and comes equipped with an ESP32- based module manufactured by u-blox. This gives the board 2.4 GHz WIFI and Bluetooth connectivity.

The second one is designed to work over cellular/LTE networks and supports transmissions via AT&T, T – Mobile, Verizon etc. Additionally, it provides faster communication, and power saving because of faster wake up and connection times.

Both boards are compatible with Arduino Uno, MEGA and all MKR boards, and both operate at 3.3 v and have 22 digital I/Os and seven analog inputs. They will be available for sale in the Arduino store in June of this year.

MKR1010 is fully compatible with the Arduino cloud, and has open- source WIFI firmware with allows the user to easily edit, upgrade and fix security flaws. Also, it has two processors, one based on ARM core technology, and the other one based on dual- core Espressif IC. ECC508, a chip for crypto authentication is included for secure communication.

MKR1010 measures only 61.5 mm x 25 mm, and weights only 32 gr making it perfect for IoT projects where size might be a concern, or when the device is meant to go unnoticed. MKR NB 1500 is slightly smaller.

Internet of things has turned into a competition over fastest connections and accurate results. It has been used everywhere from architecture, to medicine and transportation.  Massimo Banzi the Arduino co-founder said,

The new boards bring new communication options to satisfy the needs of the most demanding use cases, giving users one of the widest range of options on the market of certified products

Arduino´s new MKR boards will provide users with new capabilities which will lead to more projects with better performance even in the most demanding areas of the market.