Wellys Dev

  • Home
  • Search/Topics
  • Writings
  • About
  • 2022-04-19
    Comparing Board and Language Speeds

    Where I compare the execution speeds of different combinations of boards and languages. I will continue to update this post with other languages and processor combinations.

    Table for the impatient

    ucontroller/Speed(MHz) Method* frequency Language
    ATSAMD21/48Mhz Integral .6kHz CircuitPython
    ATSAMD21/48Mhz Integral function .7kHz CircuitPython
    ATSAMD21/48Mhz Library .7kHz CircuitPython
    RP2040/133Mhz Integral function 1.0kHz CircuitPython
    RP2040/133Mhz Library 1.44kHz CircuitPython
    ATmega328/16MHz struct/function pointer 6.1kHz Arduino C++
    ATmega328/16MHz words in an infinite loop 27KHz FlashForth
    ATmega328/16MHz struct/function pointer 55kHz C
    ATmega328/16MHz struct/function pointer 56kHz Arduino C++ w/ native toggle
    ATmega328/16MHz Assembly language toggle 108kHz FlashForth
    ATmega328/16MHz Assembly language toggle inlined 444kHz FlashForth
    RP2040/133Mhz struct/function pointer 578.7kHz C
    RP2040/133Mhz words in an infinite loop 2.841 MHz Mecrisp Forth
    *See text for an explanation of method.

    Introduction

    While writing about CircuitPython and the FIDI board, I was curious as to the execution speed of CircuitPython on a extremely powerful (relative to the AVR ATmega328) ARM M0+ microcontroller. The M0+ is a modern RISC 32-bit processor with a considerable amount of memory, while the ATmega is 20 year old RISC 8-bit processor with a limited amount of memory. That said, one can’t run CircuitPython on ATmega processors, one must use C or Forth.

  • 2021

  • 2021-03-21
    Why Forth?

    As I got back into Forth after about 35 years of other languages, programs and technical stuff, I’ve been asked, Why Forth?

    The most personal reason is that I’ve had a life-long passion for the language and kept a bookshelf full of Forth books for over 40 years. However, once I began to use it again, I realized its perfect for embedded processors. I’m surprised how well it works with today’s microcontrollers. And how relatively easy it is to find a port of Forth for many popular microcontrollers. I still think its a good question to ask, so I start this blog with the question:

  • 2021-03-20
    Forth Resources

    Here are links to Forth tutorials, books or products.

    The content on this site is intended to inspire, teach or to simply help with specific topics or concepts in Forth. This page provides a list of resources for a more formal learning as to Forth. Many of the people that have created the content below have been writing or teaching Forth for many years, they are the experts.

    Forth Tutorials

    • CH Ting’s great site for learning Forth, multiple tutorials
    • A Beginner’s Guide to Forth, Noble J.V.
    • Phenomenal tutorial site on FlashForth
    • Gforth Manual
    • Easy Forth
    • Forth in 7 easy steps • JeeLabs
    • Forth: The Hacker’s Language | Hackaday
    • Moving Forth With Mecrisp-stellaris And Embello | Hackaday
    • A Good evaluation of Forth Implementations

    Forth Books

    • Definitive beginners book on Forth: Starting Forth
    • Follow on to Starting Forth: Thinking Forth
    • Detailed modern book on Forth from MPE

    Forth Implementations

    • FlashForth
    • Mecrisp - Native code Forth for MSP430 and ARM Cortex
    • muforth: a simple ITC Forth

    Forth Boards

    • Microchip PIC24 board preprogrammed with FlashForth

    Forth Organizations

    • Original Forth Organization
  • 2021-03-01
    Courses_Forth

    A set of entries which comprise a course for learning how develop Forth programs for the ATmega328 or RP2040.

    FlashForth and ATmega328P Entries

    1. FlashForth: Simple Setup
    2. FlashForth: blink
    3. Flashforth: Working with the Uno
    4. FlashForth: Understanding the ATmega328P PWM
    5. FlashForth: Datasheets
    6. FlashForth: Compile a New Version
    7. FlashForth: Arduino HAL
    8. FlashForth: Using the Three Values of Forth

    Mecrisp-Stellaris Forth and RP2040 Entries

    1. Mecrisp-Stellaris Forth: On the RP2040
    2. Mecrisp-Stellaris Forth: Creating a New UF2
    3. Mecrisp-Stellaris Forth: An IDE for the RP2040
    4. Mecrisp-Stellaris Forth: RP2040 and Pin Testing
    5. Mecrisp-Stellaris Forth: Notes
    6. Mecrisp-Stellaris Forth: Dictionary 0

    General Forth Entries

    1. Why Forth
    2. Comparing Board and Language Speeds
Page 2 of 2
Copyright © 2025 Lief Koepsel
  • Home
  • Search/Topics
  • Writings
  • About