Picomite Version 7 – better than Arduino?

Picomite Version 7 – better than Arduino?

Home › Forums › Electronics in the Workshop › Picomite Version 7 – better than Arduino?

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #867966
    IanT
    Participant
      @iant

      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

       

    Viewing 1 post (of 1 total)
    • Please log in to reply to this topic. Registering is free and easy using the links on the menu at the top of this page.

    Latest Replies

    Viewing 25 topics - 1 through 25 (of 25 total)
    Viewing 25 topics - 1 through 25 (of 25 total)

    View full reply list.