Playing with some radio modules (part 3)

So far, I looked at the Si4332 and the S2LP Sub-GHz radio chips. I haven’t got them up and running yet. I have one more type of radio chip on a breakout board at home, a CC1101. I have ordered some HopeRF modules, RFM69 and RFM9x, which are SX123x and SX127x based, according to adafruit….


Playing with some radio modules (part 2)

After I got stuck with the Si4332 radio module, where I seemed to get a packet from one module to another, but the content of the packet was wrong, I concluded I had no way to tell whether the problem was on the sending or the receiving end. How to go on with this? Take…


Playing with some radio modules (part 1)

I’ve been playing with some sub-ghz radio modules. I’ve got some different modules laying around. And this time, I’ve decided to look at some Silicon Labs Si4432 based modules. These modules come from AliExpress are marked XL4332-SMT. I’ve seen a variant on LCSC marked AS4432-SMD. There is another variant RF4432PRO by G-NiceRF. The RFM2x series…


Identifying 32F103 clones

As I was working on my RISCV clone compatibility layer, I ran my I²C test code. When running this code, I found it runs successfully on the CH32V103 however, it failed on the GD32VF103. Upon further investigation, I found it failed on the GD32F103 as well. I guess it is about time I run some…


RISC-V ‘clones’ of the STM32F103 (part 4)

Last time, we’ve configured the interrupt controller so we can boot up to main, there is one little more detail needed to get interrupt working, and that’s adding __attribute__ ((interrupt)) to your interrupt handlers, otherwise, the interrupt will trigger once, and then no more interrupt will be coming. Adding this will not break compiling on…


RISC-V ‘clones’ of the STM32F103 (part 3)

In the previous post, we’ve established how we can tell the GD32VF103 apart from the CH32V103. In this post we’ll take a look on how are are going to initialise them. We want different initialisation because these chips require different interrupt handlers. Primary because the interrupt numbering does not match. First, let’s look at interrupts…


The prices of 32F103

While I have previously discussed 32F103 microcontrollers from different manufacturers, I’ve not discussed pricing before. The world has changed, with all this silicon shortage madness. A STMicroelectronics MCU is made of unobtainium. RS and Farnell don’t have them in stock. It seems, LCSC can deliver them, but the prices are insane. US$ 19.56 for a…


RISC-V ‘clones’ of the STM32F103 (part 2)

This is part 2 of the look at the GD32VF103 and the CH32V103. Microcontrollers with a RISC-V RV32IMAC core and STM32F103 compatible peripherals. As stated in the pervious article, their main difference is how the interrupts are handled. Of course, both can do interrupts as per RISC-V standard, the main issue is the fact the…


Some notes about RISC-V compilers

As I’ve written in my previous post, I’ve been playing around with RISC-V recently. As part of building for RISC-V a compiler is required. As I am an ArchLinux user, I query pacman for the compiler. In the community repository I’ve found riscv64-elf-gcc. Additionaly, I need a C library, which is in the riscv32-elf-newlib package….


RISC-V ‘clones’ of the STM32F103 (part 1)

RISC-V is the new hot thing. And so, there are some Chinese MCU manufacturers making RISC-V versions of their 32F103 clones. GigaDevice has their GD32VF103 around since 2019, and WinChipHead introduced their CH32V103 last year. Now, let’s have a look at these chips. These chips are basically, a RISC-V core attached to the 32F103 peripherals….