Browsed by
Category: Embedded Systems

Intro to Pulse Width Modulation (PWM)

Intro to Pulse Width Modulation (PWM)

In this episode, we cover the basics of Pulse Width Modulation (PWM), and use an Arduino with quick-and-dirty code as demonstration.

PWM is useful when we need to modulate a load output (e.g. motor, fan, light) that takes in a specific voltage supply, and just lowering the input voltage may not be appropriate or desired.

Below is the Arduino sketch featured in the video. I copied this Arduino code from my kids’ schoolwork, because I gave them this same lesson earlier in the school year for (computer) science class.

Source available at GitHub

Nordic nRF52840 DK Bluetooth SoC Evaluation Board

Nordic nRF52840 DK Bluetooth SoC Evaluation Board

In this episode we will have a quick overview of the nRF52840 Bluetooth SoC and Evaluation board.

The video segment discusses Nordic Semiconductor nRF52840 SoC, which is the top end offering of the nRF52 family of Bluetooth integrated SoC. A demonstration of the evaluation board and sample application is also presented.

Nordic has a strong market share in the embedded low-power Bluetooth connectivity space, in no small part due to their silicon offerings as well as developer support via their InfoCenter documentation andDevZone forum.

The featured evaluation board is a reasonable priced platform to get started investigating Bluetooth connectivity and designing peripheral circuits to integrate with the system for platform prototyping.

Bluetooth Low Energy STM32WB55 Eval Kit Unboxing

Bluetooth Low Energy STM32WB55 Eval Kit Unboxing

I’ve been working on a Bluetooth Low Energy (BLE) based project for the past year, using the Nordic nRF52 integrated SoC. Its powered by a 64MHz ARM Cortex M4 core and Nordic provides good software stack and SDK support.

In keeping up with current industry developments, I was excited to hear about a month ago that STMicroelectronics announced their BLE SoC kit: the STM32WB.

I’ve also worked with ST microcontrollers for the past several years, and they also provide good chip level driver library support. The eye-catcher on their BLE chip is that it’s a dual-core design: A 64MHz ARM Cortex M4 to run the application, paired with a 32MHz Cortex M0+ core to run the wireless stack.

After a few weeks of scoping limited inventory, I was able to score an Eval kit:

One of the nice options in working with ARM microcontrollers is that we’re spoiled for choice on IDE options. The Free option is the one I featured today: GNU MCU Eclipse. It is a bit of a setup/install process, but the guide is pretty straightforward and it gets you a $0 development environment that is not feature or code-size limited.