The ultimate Guide to Raspbian and other Raspberry Pi Software

The full diversity of Raspberry Pi software in the best guide you might have ever found.

Raspbian is the main and basic software for RPi devices, officially supported by the Raspberry Pi Foundation. In fact, it is an operating system, based on Debian and optimized for Raspberry Pi hardware. It comes with lots of pre-installed pieces of software appropriate for most of ARM users and developers.

And in this blog post, I am going to look through almost all possible operating systems, as well as the Raspberry Pi images, compare and review major types of other software you can use for your complicated Raspberry Pi Projects.

But the main operating system, ready-to-use and optimized to the needs of the most developers and makers is Raspbian. So, first thing firstly, let’s dig deeper this type of OS for RPi.

Arduino Button Debounce Tutorial

One of the major problems encountered when using push buttons and switches in digital electronics project is the problem of bouncing. When we press a button once it may register twice and when we press it four times, in a row, it may register just twice. This occurrence is due to a property of switches known as bounciness which is as a result of the physical property of the switches.

Contact bounce (also called chatter) is a common problem with mechanical switches and relays. Switch and relay contacts are usually made of springy metals so when a switch is pressed, its essentially two metal parts coming together and even though the connection may seem already made to the user, it may not happen immediately, as a matter of fact, it may make contact on one side – then both – and then the other side –, technically bouncing between in-contact and not-in-contact until it finally settles down. This result in a rapidly pulsed electric current instead of a clean transition from zero to full current as shown in the graph below.

Arduino Button Debounce Tutorial – [Link]

Acconeer 3D Pulsed Coherent Radar sensors

Acconeer’s A111 radar sensor is based on a unique patented technology enabling millimeter accuracy with very low power consumption

The Acconeer A111 is a low power, high precision 60 GHz pulsed SRD radar sensor with a footprint of 29 mm2, delivered in one chip system in package (SiP) solution with embedded RF and antenna. The small size and the low power consumption make it suitable for integration into any mobile or portable battery driven device.

The A111 radar sensor is based on a unique patented technology enabling millimeter accuracy with very low power consumption. The 60 GHz unlicensed ISM band provides robustness not compromised by any natural source of interference, such as noise, dust, color, direct or indirect light, and easy integration with no need of an aperture. The A111 radar sensor detects multiple objects at close range with single measurements as well as continuous sweeps set to any frequency rate up to 1500 Hz. Additionally, the unique characteristics of the radar sensor enable material recognition and motion detection for advanced sensing applications.


  • Millimeter accuracy – distance mm accuracy for one or multiple objects
  • Movement and speed measurement – continuous measurements up to 1500 Hz
  • Material identification – distinguish between materials with different dielectric constant
  • Microwatt – enables integration into any battery driven device
  • Optimized integration – small one chip solution with embedded RF and antenna solution that requires no need for aperture
  • Robustness – not compromised by any natural source of interference, such as noise, dust, color, direct or indirect light

UP Squared maker board

The UP Squared maker board, developed by Aaeon, creates custom-built IoT applications. The advanced maker board has low power consumption and high performance specifications.

UP Squared supports a range of operating systems including Ubuntu, Android 7.1, and Windows 10 IOT Core, which gives access to Microsoft app templates and code editors. Aaeon has also partnered with Intel to produce the UP Squared Grove IoT development kit, which includes components to custom-build IoT applications, such as sensors, buttons and a screen.

Powered by Intel Atom E3900 series, Intel Pentium N4200, or Intel Celeron N3350 processors (formerly codenamed Apollo Lake), UP Squared boasts two, four and eight Gbyte of LPDDR4 memory and up to 128Gbyte of eMMC storage. The board also houses an Intel Gen9 GPU, which supports 4K codecs. Expansion is via a 40-pin GPIO, a 60-pin EXHAT connector, or through SATA3, PCIe, and M.2 ports. The board also features multiple USB ports and CSI, HDMI, DP, and eDP interfaces.

A Heat Switch for Controlling Heat Flow Path in Electronic Systems

Schematic of the thermal switch showing the (a) ON-state with the liquid metal droplet bridging the heat source and sink and (b) OFF-state with liquid metal removed from the channel. (c) Side view image of the fabricated thermal switch device. (d) The ON and OFF thermal resistance circuits based on a 1-D heat transfer model.

A switch is a fundamental part of most electrical and mechanical devices; mechanical switches can be used to select gears in a car’s transmission or used to unlock a door; electrical switches can turn the lights in a room on and off;  semiconductor uses to route logic signals within a circuit or control bigger devices. But what about heat flows? Can we possibly control the route of heat in a device? A Thermal Switch? Well, a thermal switch is an electromechanical device which opens and closes contacts to control the flow of electrical current in response to temperature change. A Thermal switch controls the flow of current concerning the temperature change, but this doesn’t actually control the flow of heat.

Heat flow is very important to engineers, and the heat movement in a device can profoundly affect the system performance and reliability especially in an electronics system. Engineers have long desired a switch to control heat flows, but many challenges exist in the creation of such a switch. Researchers from the College of Engineering at the University of Illinois at Urbana-Champaign have developed a new technology that allows users to turn heat flows “on” or “off.” This is a great development and it’s going to impact on future electronics systems.

Heat Flow from Hot to Cool Region

“Heat flows occurs whenever you have a region on higher temperature near a region of lower temperature. In order to control the heat flow, the team engineered a specific heat flow path between the hot region and cold region and then created a way to break the heat flow path when desired” claims William King, the project co-leader and a professor at the department of mechanical science and engineering.

This technology became possible based on the principle of the “motion of a liquid metal droplet,” adds Nenad Miljkovic, assistant professor in the same department who also served as a project co-leader. “The metal droplet can be positioned to connect a heat flow path, or moved away from the heat flow path to limit the heat flow.”

The team demonstrated the technology in a system modeled after modern electronic systems, giving the potential of being deployed to our everyday devices. On one side of the switch was a heat source representing the power electronics component; on the other, liquid cooling for heat removal. When the heat switch was on, the team managed to extract heat at more than 10 W/cm2, but as soon as the heat flow was turned off, they saw a drop by nearly 100X.

According to King, the next step for the research will be to integrate the switch with power electronics on a circuit board. A working prototype will be produced later this year. The research was published in a recent edition of the journal Applied Physics Letters.

Dual 15A or Single 30A µModule Regulator with Stacked Inductor Package is 96% Peak Efficient

Analog Devices  announces the Power by Linear LTM4662, a dual 15A or single 30A step-down µModule regulator in a BGA package with an exposed stacked inductor for improved thermal dissipation properties. The remaining components, the MOSFETs, DC/DC controller and supporting components, are over-moulded and the complete device is housed in a 11.25mm x 15mm x 5.74mm BGA package. With limited airflow, the LTM4662 is easily cooled because the inductor transfers heat from the power stage to the surrounding ambient air. The LTM4662 performs at up to 96% peak efficiency, enabling it to deliver a full 30A continuously at 12VIN to 1.0VOUT at 70°C ambient with 200LFM airflow. With the dual regulator design, small package size and precise voltage accuracy, the LTM4662 meets the PCB area constraints of densely populated system boards to power low voltage and high current devices such as FPGAs, ASICs, microprocessors and GPUs. Applications include PCIe boards, communication infrastructure, cloud computing-based systems, as well as medical, industrial, and test & measurement equipment.

The LTM4662 operates from a 4.5V to 20V input voltage range. With 5V external bias, the device can operate from 2.375V. The output voltages are adjustable from 0.6V to 5.5V, enabling the device to generate not only low voltage for digital devices but also 2.5V, 3.3V and 5V which are commonly needed as system bus voltages. Total output voltage DC accuracy is guaranteed at ±1.5% over line, load and temperature (–40°C to 125°C). Two LTM4662s can current share to deliver 60A to a load. Moreover, the onboard remote sense amplifiers on both outputs compensate for voltage drops caused by trace impedance of the PC board due to large load current. The LTM4662 has selectable internal or external feedback loop compensation, enabling users to optimize loop stability and transient performance while minimizing the number of output capacitors.

The LTM4662’s switching frequency can be programmed from 250kHz to 1MHz with one resistor, and can be synchronised to an external clock ranging from 250kHz to 1MHz for noise-sensitive applications. Protection features include overvoltage and overcurrent protection.

The LTM4662 operates from –40°C to 125°C. For more information, visit

Exynos 9 series applications processor has deep learning based software

The new Exynos 9810 brings premium features with a 2.9GHz custom CPU, an industry-first 6CA LTE modem and deep learning processing capabilities

Samsung Electronics, a world leader in advanced semiconductor technology, today announced the launch of its latest premium application processor (AP), the Exynos 9 Series 9810. The Exynos 9810, built on Samsung’s second-generation 10-nanometer (nm) FinFET process, brings the next level of performance to smartphones and smart devices with its powerful third-generation custom CPU, faster gigabit LTE modem and sophisticated image processing with deep learning-based software.

In recognition of its innovation and technological advancements, Samsung’s Exynos 9 Series 9810 has been selected as a CES 2018 Innovation Awards HONOREE in the Embedded Technologies product category and will be displayed at the event, which runs January 9-12, 2018, in Las Vegas, USA.

“The Exynos 9 Series 9810 is our most innovative mobile processor yet, with our third-generation custom CPU, ultra-fast gigabit LTE modem and, deep learning-enhanced image processing,” said Ben Hur, vice president of System LSI marketing at Samsung Electronics. “The Exynos 9810 will be a key catalyst for innovation in smart platforms such as smartphones and personal computing for the coming AI era.”

With the benefits of the industry’s most advanced 10nm process technology, the Exynos 9810 will enable seamless multi-tasking with faster loading and transition times between the latest mobile apps. The processor has a brand new eight-core CPU under its hood, four of which are powerful third-generation custom cores that can reach 2.9 gigahertz (GHz), with the other four optimized for efficiency. With an architecture that widens the pipeline and improves cache memory, single-core performance is enhanced two-fold and multi-core performance is increased by around 40 percent compared to its predecessor. (more…)

LT8364 DC/DC converter can be configured multiple ways

Analog Devices has announced the LT8364 current mode, 2MHz step-up DC/DC converter. It has an internal 4.0A, 60V switch and operates from an input voltage range of 2.8 to 60V.

The ‘Power by Linear’ LT8364 is suitable for applications with input sources ranging from a single-cell Li-Ion battery to multi-cell battery stacks, automotive inputs, telecomms power supplies and industrial power rails.

The LT8364 can be configured as either a boost, SEPIC or an inverting converter. Its switching frequency can be programmed between 300kHz and 2MHz, enabling designers to minimise external component sizes and avoid critical frequency bands, such as AM radio, says Analog Devices. It offers over 90 per cent efficiency while switching at 2MHz. Burst Mode operation reduces quiescent current to only nine microA while keeping output ripple below 15mVp-p. There is the option of a small 4.0 x 3.0mm DFN, or high voltage MSOP-16E package, with small external components to ensure a compact footprint while minimising cost, adds Analog Devices.

The LT8364’s 100-mOhm power switch delivers efficiencies of over 95 per cent. It also offers spread spectrum frequency modulation to minimise EMI concerns. A single feedback pin sets the output voltage whether the output is positive or negative, minimising pin count. Other features include external synchronisation, programmable under-voltage lockout (UVLO), frequency foldback and programmable soft-start.

The two versions available are the LT8364EDE in a 4.0 x 3.0mm DFN-12 package and the LT8364EMSE which is offered in a high voltage MSOP-16E (with four pins removed for high voltage spacing). Industrial temperature (operating at -40 to +125 degree C), the LT8364IDE and LT8364IMSE, and high temperature models, the LT8364HDE and LT8364HMSE, with temperature ranges of -40 to +150 degree C, are also available. All versions are available from stock.

The design includes a bias pin for higher efficiency and positive or negative output voltage programming is possible with a single feedback pin. The device has optional spread spectrum frequency modulation to minimise EMI. – A True Version Control For Managing Hardware Projects

Version control is a system that records changes of a file or set of files over time so that you can recall specific versions later. Version control was developed to help teams work on tasks together in a more collaborative way. In the last few years, version control platform has often been focused on software-based projects. Git is the preferred version control tool for most developers since it has multiple advantages over the other systems available and it’s the backbone of the famous GitHub. Version Control

So, version control tools are great for software tasks, but what about Hardware? Unlike open software, which has popular collaborative tools like Git (and websites built on it, like GitHub), Subversion, and Mercurial, hardware has no system for version control. Github has been used in the past for hardware project sharing and even offer some level of version control (very limited, hardware design are displayed as an image). For software, version control is pretty straightforward, since you can just show the “diffs” between two files as highlighted text. But how do you do that for hardware, where the files tend to be in binary formats, which could be proprietary sometimes? from DevEngineering brings a change in this space. is a cloud-based hardware development platform which provides engineers and makers with a version control system and collaboration tools for hardware design. Based on Git, it allows you to keep native PCB design files in a repository and view, compare and comment on any part of a PCB in a browser. Cadlab is designed for hardware designs and not just comparing design images, but truly compare PCB and schematics designs.

Just like Github, supports public and private projects. CADLAB allows users to create an unlimited number of public projects for various hardware project and even upgrade those project to private mode only, but this comes at a cost. CADLAB currently supports only Autodesk EAGLE PCB designs with promises of adding more support to other PCB design software like KiCAD, Altium, OrCAD, and others. CADLAB can render all your Autodesk Eagle PCB schematics and layouts from version 6 upwards. You can compare design iterations, find the necessary ones quickly, download it and continue working on it in the CAD application.

CADLAB provides support for adding comments and even annotations to a design file. Annotations can be added to pad or a block of wires, and this will profoundly foster good collaboration between teams and also make hardware project to be easily scalable. Github users are not left behind, CADLAB integrates with GitHub. Existing GitHub design can be viewed with CADLAB and users are allowed to even upload their files directly from Github. With a CADLAB Chrome plugin, users can see their design files live while working on Github.

Despite the robust features with CADLAB, it doesn’t yet support merge request and forks, a primary functionality of version control and open source project. Merge requests and forks will allow people to contribute to a public project. is currently available in a three subscription package. A free plan for public only projects, an Individual plan that costs $6 per month, and a Company plan that costs $15 per month. You can find more information about the pricing here.

STM32CubeProgrammer all- in-one software tool

STM32CubeProgrammer (STM32CUBEPROG) is an all-in-one multi-OS software tool for programming STM32 microcontrollers. It provides an easy-to-use and efficient environment for reading, writing and verifying device memory through both the debug interface (JTAG and SWD) and the bootloader interface (UART and USB). STM32CubeProgrammer offers a wide range of features to program STM32 microcontroller internal memories (such as Flash, RAM, and OTP) as well as external memories. STM32CubeProgrammer also allows option programming and upload, programming content verification, and microcontroller programming automation through scripting. STM32CubeProgrammer is delivered in GUI (graphical user interface) and CLI (command-line interface) versions.