Image for post
Image for post
Fig.1 nRF52832 Dev-Kit

Prerequisites

This is tutorial is not intended to be a guide for learning C language or about the Nordic SDK platform. It’s primary target is to provide developers a concise guide about integrating peripheral modules and features into active applications.

If you are a beginner, I would recommend you look into an nRF52 Project Setup guide like this one.

https://medium.com/vicara-hardware-university/nrf52-project-setup-with-segger-embedded-system-f64958052a2d

Another easy way to get started with coding, without bothering with all basic stuff like files and driver inclusion, check out this Code Generation Tool

nrf52 Code Generator: https://vicara.co/nrf52-code-generator

PWM Signal

Pulse Width Modulation is a technique that is implemented by varying the duration for which a signal is On or Off. …


Image for post
Image for post
Fig.1 nRF52 Development Kit

Prerequisites

This is tutorial is not intended to be a guide for learning C language or about the Nordic SDK platform. It’s primary target is to provide developers a concise guide about integrating peripheral modules and features into active applications.

If you are a beginner, I would recommend you look into an nRF52 Project Setup guide like this one.

https://medium.com/vicara-hardware-university/nrf52-project-setup-with-segger-embedded-system-f64958052a2d

Another easy way to get started with coding, without bothering with all basic stuff like files and driver inclusion, check out this Code Generation Tool

nrf52 Code Generator: https://vicara.co/nrf52-code-generator

Timer in a Microcontroller?

Image for post
Image for post
Fig.2 External Clock Source for Timer

A Timer can be said to be a specialized clock, which is used to measure intervals on a microcontroller. In a microcontroller, a timer can be used to tune the processing speed of an operation, set delays and also to synchronize user input and communication between a variety of peripheral devices. …


Image for post
Image for post
Fig.1 STM32 GPIO

STM32 is a diverse family of 32-bit microcontroller used in a wide variety of applications today, ranging from simple toys to even complex control systems like home appliances. As a result, being able to develop applications on this platform is an essential skill. With that in mind, let us start with learning how to develop apps using simple GPIO and Buttons.

Prerequisites

  • This is not a tutorial for C programming, therefore going forward I shall assume a good understanding of C and it basics.
  • If you are a beginner to STM32 CubeIDE, I suggest you to refer to another blog I have written on getting started with CubeIDE. …


Image for post
Image for post
Fig.1 STM32F4 Discovery Kit

What is STM32 and Why You Should Use It?

STM32 is a family of 32-bit microcontroller developed by STMicroelectronics. They are used widely in applications ranging from home automation to toys to consumer appliances. The STM32 series is based on ARM architecture which is one of the most popular computer architectures in the industry.

The wide variety of microcontrollers offered by the STMicroelectronics, allow developers to find the right microcontroller for their applications. Be it low power applications for hand-held battery operated modules, or to develop modules for computation intensive tasks, there is a chance that what ever a developer needs, he/she will likely find a suitable option.

The biggest benefit of having the same manufacturer develop such variety of microcontrollers, is that their internal structure will follow the same rule set and thus, their firmware will be the same across a variety of devices. This makes it easier to learn a single tool and utilize it across multiple projects, which makes production faster. …


Image for post
Image for post
Fig. 1 Kai Gesture Controlled Applications

It has only been a little over seven decades since the first computers were invented. At the time, they were bulky and expensive but their spread was limited due to another major factor. User Interactivity. Scientists working on those computers, had to literally punch in holes onto boards to give binary instruction. Since this crude, cumbersome and a rather humble origin, our computers and methods we interact with them has come a long long way.

Gesture — The Future of UI

The human brain is hardwired to the real world. This means that it is not normal for us to interact with anything in 2D, especially not technology that we use so frequently. …


Image for post

An electric circuit is a set of connections between electronic components. In a very abstract form, and electric circuit has a source of electric current, a destination for the current (ground) and electro-mechanical components that draw power from the flow of electricity to do some work. A PCB or Printed Circuit Board is essentially a circuit which can be feasibly and reliably mass produced. Mass production reduces cost and lower cost lead to more consumption leading to virtuous production cycle.

Take note that the primary purpose of a PCB is to finally be mass produced. Several DIY developers design PCB’s for just prototyping and are not necessarily rigorously looking towards mass production. In this guide, I will highlight the entire procedure, in a step by step guide to design production grade PCB. …


Image for post
Image for post

Embedded Systems are really small and task specific computers. They are power-efficient and compact with a long operating time on small battery capacity.

Machine Learning on the other hand can be quite resource intensive, requires a lot of data and consequently involves a ton of computation. …


Image for post
Image for post

STMicroelectronics has its own suite of development tools like STMCube IDE and STMCubeMX. While CubeMX is a great tool for avoiding the fine details like register level initialization of clock and system peripherals, Keil provides several builtin tools like CMSIS Libraries. CubeMX has the option of including the CMSIS libraries, however, they appear to be out-dated or incomplete. Thus, several features end up missing in the final build file. Additionally, Keil is a familiar interface and development tool for several Embedded System developers, so it makes no sense to switch to a new IDE for only a single platform.

What is CMSIS and Why is it a big deal?

Image for post
Image for post
Fig. 1 CMSIS Architecture

Cortex Microcontroller Software Interface Standard (CMSIS), is a library of compiled and executable code which can drastically improve the overall performance of ARM devices. The most popular among these are CMSIS-NN and CMSIS-DSP. …


Image for post
Image for post
Fig.1 STM32F4 Discovery Kit

Depending on who you are and what specific task you might need to achieve, you may find yourself in a position where you might have to save and then read data from the FLASH ROM space in microcontrollers. In this guide, I will detail the steps for an STM32F407VGT chip, however you can easily adapt it to your chip by referring to its data-sheet.

What is the FLASH Memory?

The FLASH or the ROM (Read Only Memory), is a chip on most microcontrollers and microprocessors which stored the program it needs to execute. …


Image for post
Image for post
Fig.1 UART Testing on STM32

STM32 microcontrollers are among the most widely adopted microcontrollers in the domain of embedded systems. …

About

Sanskar Biswal

Electronics Engineer | Firmware Developer | Programmer | Poet | Writer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store