News:

PROTON pic BASIC Compilers for PIC, PIC24, dsPIC33

Main Menu

Dspic33CK and FFT routines

Started by Wimax, Feb 08, 2026, 10:06 PM

Previous topic - Next topic

JonW

#20
Les, No insult taken at all.

You're spot on about the forced obsolescence — the Pico progression is annoying. Still, it's no different from Microchip's extensive device portfolio and its recent entry into Arm, but the RPX devices are supposedly backwards compatible and add more power.
But for what I'm doing with the RP2354, it's not really bloat. We use Padauk 5-cent flash MCUs for simple stacks. I get your walnut-sledgehammer point for simple projects but would you pay more for a smaller device?? The RP2354 with integrated flash is now £4.90 for 5 units! That's less than a pound! The PICO2W is about £6 for a fully built wifi enabled board...

(see https://thepihut.com/products/raspberry-pi-rp2354a-microcontroller)

I need the PIO state machines and DMA for 125Msps waveform playback to the DAC, that's real hardware you can't get on smaller devices without external timing support. You get dual Cortex-M33 cores, USB, all the standard peripherals, 12 PIO state machines, 512KB SRAM, 2MB flash, genuine overclocking headroom (378MHz proven), and all for the price. The DMA is genuinely superior — engineers are ditching STM32H7 boards for the RP2350 because the PIO+DMA combo is that much cleaner. Nothing on the market touches that real-time I/O capability at this price point.
Plus, you get access to CMSIS libraries — hand-optimised assembly for the Cortex-M33 core, not generic C bloat. The compiler integration with VSCode is slick, no HAL crap or a thousand lines of code to instantiate libraries either, for example, the USB libraries are a breeze to code in C, and I tend to think that's real value, not marketing.

I have been using CCS USB libraries before this; they are good, but are limited on too few devices, and nowhere near as simple as this little guy. 

CDC read and write..

#include <stdio.h>
#include "pico/stdlib.h"

int main() {
    stdio_init_all();
    char buffer[64];
   
    printf("Enter some text:\n");
   
    while (1) {
        if (fgets(buffer, sizeof(buffer), stdin) != NULL) {
            printf("You entered: %s", buffer);
        }
    }
   
    return 0;
}

and a Cmake and you're done!  There are not enough pages on the forum to get the STM USB running HaHa

top204

#21
I've just ordered a PICO2 Jon, because I have found some open-source 8-bit computer emulators for it. Especially, the lovely Atari 800 and the Commodore 64 and the ZX Spectrum.

I'll need to try and dig out my old VGA monitor for it.

Best regards
Les


JonW

HaHa Nice!!  The PIO is pretty unique for fast emulation of Roms etc

You could always build a positron compiler for it!!!

Wimax

#23
It might be more accurate to compare 32-bit worlds  by considering the series following the dspic33C, namely the dspic33A.
Keeping in mind the purposes for which they were designed and the strengths and weaknesses of each, the battle becomes truly difficult and, honestly, I once again see the relatively small amount of RAM (64 KB max) as the biggest limiting factor in a direct comparison.
When it comes to DSP calculations, the dspic33A shows no mercy, with double-precision floating point arithmetic and 72-bit MAC operations. It is a very fast and deterministic real-time digital controller that encompasses an analogue monster with 12-bit ADCs up to 40 MSPS, ultra-fast comparators (15ns) and configurable OpAmps.
It was created as a real-time DSP controller, observes the world quickly, executes the algorithm at lightning speed and implements control in predictable times, controls and forgets, fast RAM with zero wait state, but relatively scarce because it is not strictly necessary for the chip's design requirements, including Functional Safety.
In addition to brute force and theoretical performance, I would add a fundamental and very practical point, namely
the future compatibility of Positron24 with dspic33AK, as anticipated some time ago by Les ;)