I’ve been an avid user of ST’s F0 series ever since it was launched. The 48MHz Cortex M0 is almost always the perfect MCU for every project that I tend to build and it’s so easy to program and debug that, for me, it’s the default answer to ‘which MCU should I use for this project?’ So when I noticed that ST had launched a ‘G0’ range I just had to have a closer look.
App note from STMicroelectronics about electrically connecting an external S/PDIF stream to an STM32 with an S/PDIFRX interface peripheral, Link here (PDF)
The Sony/Philips Digital Interface Format (S/PDIF) is a point-to-point protocol for serial and uni-directional transmission of digital audio through a single transmission line for consumer and professional applications. The transmission of data can be done in several ways, by electrical or optical means.
The S/PDIFRX peripheral embedded in STM32 devices is designed to receive an S/PDIF flow compliant with IEC-60958 and IEC-61937, which define the physical implementation requirements as well as the coding and the protocol. These standards support simple stereo streams up to high sample rates, and compressed multi-channel surround sound, such as those defined by Dolby or DTS.
Extend memories by using external high speed memories interfaced to Quad-SPI modules on STM32 micros, app note from STMicroelectronics. Link here (PDF)
This application note describes the Quad-SPI interface on the STM32 microcontrollers and explains how to use the module to configure, program, and read external Quad-SPI memories. It describes some typical use cases to use Quad-SPI interface based on some software examples from the STM32Cube firmware package and from the STM32F7 application notes.
As my final installment for the posts about my LED Wristwatch project I wanted to write about the self-programming bootloader I made for an STM32L052 and describe how it works. So far it has shown itself to be fairly robust and I haven’t had to get out my STLink to reprogram the watch for quite some time.
The main object of this bootloader is to facilitate reprogramming of the device without requiring a external programmer.
Sjaak writes, “This is part 4 in the series where we compare the STM32F103 with its Chinese counterpart the GD32F103. Both are ARM Cortex M3 microcontrollers which are mostly pin, peripheral and register compatible. Now we compare the SPI master peripheral of both chips.”
Here’s the part 3 of Sjaak’s post comparing the GD32 to the STM32:
Since the GD32F103 can run as fast as 108MHz but has not a proper USB clock divider to provide a 48MHz clock for USB communication we need another way to communicate with the outside world. Since the early days of computing the easiest way to go is a asynchronous serial interface using the UART peripheral. I can try to explain how this protocol works, but here is a better write-up.
The defacto ‘hello world’ for microcontrollers is blink a LED at a steady rate. This is exactly what I’m going to do today. I made a small 5×5 development board, soldered it up and started programming. In this first example we not gonna use fancy IRQs or timers to blink at a steady rate, but we insert NOPsas delay. This would give an idea of the RAW performance of the chip. The used code is simple; set up the maximum available clock available and then toggle RA0 for ever.
I locked myself into the basement with a couple of PCBs, chips and fresh flux for a couple of days. For the STM32F103 vs GD32F103 challenge I needed to have two identical boards with a different microcontroller. As far as I could judge both chips are legit and not counterfeits as we bought both chips from (different) reputable sellers. The used chips are GD32F103CBT6 and STm32F103CBT7. The STM32F103CBT7 is the industrial rated part of the STM32F103CBT6 and is identical except for the temperature range.
ARM Microcontroller based watt-hour meter implementation from STMicroelectronics. Link here (PDF)
This document describes, in detail, the hardware and software implementation of a watthour meter using the STM32F101 microcontroller. This cost effective watt-hour meter uses shunt with an operational amplifier as a current sensor, an embedded 12-bit ADC for current and voltage measurement, GPIO for LCD management, and a lot of other peripherals for communication, tamper detection, keyboard, and power disconnection. Powerful architecture of the STM32™ microcontroller allows sampling at 1 Msps. The high sampling rate makes it possible to use methods for ADC resolution enhancement.
This is the first post of a 3-part series about reading out an SMA solar inverter over Bluetooth and displaying some readings every few seconds. Long-time readers may remember the Solar at last weblog post from several years ago and the SMA Relay, based on a JeeNode v6. The Bluetooth readout code was derived from Stuart Pittaway’s Nanode SMA PV Monitor code.
This project is for a friend who’s birthday is coming up shortly, and who has the same SMA 5000TL inverter as I do – although it can probably be used with other models.