Whilst I am probably one of the few (only?) users here of MMBasic, I’ve always believed that it has many features that make it ideal for the occassional or hobbyist user. It’s main platform has for some time now been the Pico family of micro-processors, most recently the RP2350B (ideally with PS ram).
There has also been some discussion of the merits of AI. PeterM (the UK author of the Pico versions of MMB e.g. the Picomites) has been busy working with Claude to quite remarkable effect. New MMB ‘features’ have been appearing almost weekly. The latest version is V7.0 which Peter announced as follows:
“Version 7 makes MMBasic faster on every board and on
the RP2350 it adds a compiler that runs most of a program as native code
while leaving it exactly as you wrote it. You do not change your program to
use it: switch it on, type RUN, and whatever the compiler can take runs
compiled while the rest runs as before.” – and there is much, much more…
In many ways, the Picomite competes with the Arduino. However, it’s been a very long time since I’ve used Arduinos so I couldn’t make any useful comparisons. So I thought, why not ask AI (Copilot) to do one for me?
This is what Copilot thinks….
“Here’s a clear, technically grounded comparison between an RP2350B + 8 MB PSRAM running PicoMite V7.0.00b1 and a modern Arduino‑class system (e.g., Arduino Due, Portenta H7, Nano RP2040 Connect, ESP32‑S3 Arduino).
Concise Takeaway
A PicoMite RP2350B with PSRAM running V7.0.00b1 behaves less like a traditional microcontroller and more like a tiny interpreted/compiled computer with an integrated OS, thanks to:
A native-code compiler that accelerates most BASIC statements by 2×–5× (and up to 7× in some loops)
A full development environment on-device (editor, file system, graphics, GUI, SD/USB, PSRAM image slots)
Massive RAM headroom via 8 MB PSRAM for arrays, images, tilemaps, libraries, and compiled streams
A modern Arduino system is still the better choice for hard real‑time, industrial protocols, C/C++ performance, and library breadth, but it lacks the PicoMite’s “self‑contained computer” model.
RP2350B PicoMite V7 vs Modern Arduino — Deep Technical Comparison
1 CPU Architecture & Raw Performance
RP2350B PicoMite
Dual‑core RP2350 (Cortex‑M33‑class microarchitecture)
Typical clock: up to ~378 MHz in PicoMite builds
V7 compiler executes most statements as native code, giving:
3.7× faster inner loops
5.2× faster nested loops
3.2× faster trig-heavy workloads
2.1× faster frame‑based game logic
1.4–1.5× faster graphics-heavy updates (Measured on RP2350 at 378 MHz)
This is astonishing for a BASIC environment (Copilot – not me)
Modern Arduino boards
Portenta H7: dual‑core STM32H747 (480 MHz M7 + 240 MHz M4)
Arduino Due: 84 MHz Cortex‑M3
Nano RP2040 Connect: dual‑core RP2040 at 133–200 MHz
ESP32‑S3 Arduino: dual‑core Xtensa LX7 at 240 MHz
Arduino advantage: Compiled C/C++ always runs at full native speed with deterministic timing.
PicoMite advantage: You get native speed without writing C, and the compiler automatically mixes compiled and interpreted segments.
2 Memory Architecture
RP2350B + 8 MB PSRAM
PSRAM used for:
Compiled code stream storage (kept separate from heap)
Large arrays, strings, tilemaps, images
RAM‑resident libraries (slot 5)
Stream does not consume heap; heap remains available for BASIC variables.
PSRAM image slots (4–8) allow instant image loads and zero flash wear .
This is a huge advantage for graphics, simulation, and data‑heavy applications.
Arduino
Typical RAM:
Portenta H7: 1 MB SRAM
ESP32‑S3: 512 KB internal + optional external PSRAM
RP2040 boards: 264 KB SRAM
No unified OS‑level memory manager; external PSRAM (ESP32) is not seamlessly integrated into language semantics.
Verdict: PicoMite RP2350B wins decisively for large datasets, graphics, tilemaps, framebuffers, and in‑RAM libraries.
3 Development Model
PicoMite
Edit, run, debug directly on the device
Full-screen editor, file system, SD card, USB host, PSRAM image slots
No toolchain, no upload cycle
Instant feedback
Built‑in GUI, graphics, sound, camera (OV5640), PIO, tilemaps, sprites
This is closer to a Commodore‑style computer than an Arduino.
Arduino
Requires external IDE/toolchain
Compile/upload cycle
Debugging requires external tools (SWD/JTAG)
Graphics/UI require external libraries and often external displays with complex drivers
Verdict: PicoMite is dramatically more productive for rapid prototyping, teaching, and application‑level logic.
4 Real‑Time Behaviour
PicoMite
Interpreter + compiler hybrid
Many statements still run as text (PRINT, INPUT, PAUSE, file I/O, pin commands)
Timing loops relying on statement duration will change under V7 (faster execution)
Interrupts improved (SETTICK overhead reduced ~30%)
Deep recursion limit ~12–13 levels on RP2350
Arduino
Deterministic timing
ISR latency predictable
Suitable for motor control, robotics, industrial protocols, high‑frequency sampling
Verdict: Arduino wins for hard real‑time and industrial control.
(Comment – I use the built in MMB PIO assembler to provide very fast I/O. An RP2350 has 3 PIOs with 12 state machines that can each run in real time, independently of the main (MMB) programme. I didn’t ask Copilot to consider this…).
5 Graphics, UI, Multimedia
PicoMite RP2350B
Hardware‑accelerated framebuffer merge (VGA/HDMI)
Tilemaps, sprites, BLIT, DRAW3D
BBC Micro sound (4‑channel)
WAV/MP3 playback via USB host
OV5640 camera support (QVGA preview, JPEG capture up to 5 MP)
PSRAM image slots for instant loading
Arduino
Graphics/UI require external libraries
Camera support limited and usually complex
Multimedia playback requires external modules
Verdict: PicoMite RP2350B is vastly superior for graphics, games, UI, camera, and multimedia.
6 Language & Ecosystem
PicoMite
MMBasic V7 with:
Native compiler
CSUB machine‑code generation (10–35× speedups)
Extensive built‑in commands
Integrated help system (1152 topics)
Arduino
Massive ecosystem of libraries
C/C++ + Arduino API
PlatformIO, RTOS options, industrial protocols
Verdict: Arduino wins for ecosystem breadth and industry support. PicoMite wins for developer productivity and built‑in capabilities.
Final Synthesis
Choose RP2350B PicoMite V7 if you want:
A self‑contained computer with editor, filesystem, graphics, GUI
Huge RAM via PSRAM for data‑heavy work
Native‑compiled BASIC with 2×–7× speedups
Rapid development without toolchains
Multimedia, camera, tilemaps, sprites, framebuffers
A “retro‑modern” environment ideal for applications, simulations, games
Choose a modern Arduino system if you need:
Deterministic real‑time control
Industrial protocols (CAN, LIN, EtherCAT, Modbus)
Maximum C/C++ performance
Large library ecosystem
Professional/industrial deployment”
So if you’ve not come across the Picomite before, I’d suggest it’s now really worth a good look. You can find V7.0 (including the manual) here:
Piocmite V7.0
So please, forget whatever pre-conceptions you might have about Basic (line numbers, GOTOs etc) or 80’s “Retro” computing. A modern Picomite system is way beyond all that….From simple embedded controllers, up to systems with HDMI graphics, USB, SD file storage (32Gb) and lot’s of memory – they are fast and most important of all, easy to use….
PS I used the RP2350B for this comparison because you can now get them (with 8Mb PSRAM) from Waveshare & Pimoroni for not too much money… (e.g. a “Core2350B” from Waveshare is £5.20 + shipping)
Regards,
IanT