noforth logo
march 2024


is an interactive stand-alone forth

Authors: Albert Nijhof & Willem Ouwerkerk (Mail us)

Put the noForth image on a processor board and then program the chip using any serial terminal.

noForth m is for MSP430, runs in ROM, 1 cell is 16 bits.
noForth r is for RISC-V, runs in ROM, 1 cell is 32 bits.
noForth t is for RP2040, runs in RAM, 1 cell is 32 bits.
When we use the word ROM it may be FROM, FRAM, Flash ROM or Flash RAM.

  Until now we have the following noForth variants:
    m  mv  mc  mcv    r  rv  rc  rcv    t tv

    m = for MSP430
    r = for RISC-V
    t = for RP2040 (thumb2)

    c = compact
    v = with vocabularies
  "Low Power" noForths for MSP430 are marked with a dash:
    m-  mv-  mc-  mcv- 
The priorities for noForth are: 1. robust and comfortable, 2. fast, 3. compact.
For the compact variants: 1. robust and comfortable, 2. compact, 3. fast.

How to get noForth in ...
Hardware documentation
Egel project (MSP430)
noForth t hardware examples (RP2040)
Four answered questions about noForth
Before you start
Documentation and program files
How to make a turnkey system


In the list below you find the noForth images (binaries). It may be necessary to adapt the CONFIG list (settings for Baud rate, Clock speed, etc.). Follow the instructions in the README file. Advice: always use the latest versions.
The image contains only the noForth kernel without the tools, assembler or disassembler.
Once noForth is in the chip you have to include the file <noforth r tools.f> or <noforth m tools.f> for .S WORDS MANY DMP and SEE.

pwm noForth binary files for RP2040 PICO (240101 yymmdd)
DUO means: a noForth in both processors at the same time.

noForth binary files for RISC-V (240101 yymmdd)
RISC-V GD32VF   noforths
noForth Intel-hex files for MSP430 (240101)
MSP430FR2433  noforths
MSP430FR2x55  noforths
MSP430FR5739  noforths
MSP430FR5969  noforths
MSP430FR5994  noforths
MSP430F149    noforths
MSP430G2553   noforths
MSP430G2955   noforths

How to get noForth in ..

How to get noForth in the RP2040 PICO

howto rp2040 pico.pdf

How to get noForth in the RISC-V

howto seeed studio gd32vf.pdf
howto sipeed longan nano.pdf

How to get noForth in the MSP430

Put the noForth image in the MSP430 with the 'UniFlash' program (by Texas Instruments).
See howto use uniflash
Uniflash will not function with the MSP430F149. See howto f149
With the FET-interface on the MSP-EXPFR2355 all MSP430 chips (with the exception of the 100-series) can be programmed. See msp-exp430fr2355 as programmer

Hardware documentation

RP2040 boards
pico rp2040 dev board.pdf
RISC-V boards
seeed studio gd32vf dev board.pdf   \ 128kB FROM, 32kB RAM
sipeed longan nano board.pdf        \ 128kB FROM, 32kB RAM
MSP430 boards
msp430f149 minim core board.pdf \  61kB FROM, 9600 Baud rate
msp430f149 dupont board.pdf     \  61kB FROM, 9600
msp430f149 mini-v3 board.pdf    \  61kB FROM, 9600

msp-exp430g2.pdf                \  16kB FROM, 9600
msp-exp430g2et.pdf              \  16kB FROM, 9600

msp-exp430fr2433.pdf            \  16kB FRAM, 115k2
msp-exp430fr5739.pdf            \  16kB FRAM, 9600
msp-exp430fr2355.pdf            \  32kB FRAM, 115k2
msp-exp430fr5969.pdf            \  64kB FRAM, 115k2
msp-exp430fr5994.pdf            \ 256kB FRAM, 115k2

msp430g2553 on egel kit.pdf     \  16kB FROM, 38k4
msp430g2955 on cosey robot.pdf  \  56kB FROM, 9600

Egel project (MSP430)

egeltje The Egel project consists of about 50 elementary examples of hardware control with noForth on the MSP430. In each example you find a file with forth code, documentation and links to more information on the internet.

noForth t hardware examples (RP2040)

You can find noForth t hardware examples (RP2040) on github.

Four answered questions about noForth

  1. What do I need to get my program compiled in noForth?

    noForth receives the text, translates it into code and compiles that in flashrom. You need a simple communication program which is able to send text to noForth on the chip. (Teraterm for Windows, CoolTerm for OS X, e4thcom for Linux, ... )
  2. Will compiled code stay in flashrom after a power off/on?

    No, unless you have sent the command FREEZE.
  3. Is it possible to erase 'frozen' code?

    Yes. Executing a MARKER or a SHIELD erases the code that is compiled after it.
  4. Is it possible to change clock speed, Baud rate, serial port, port and pin for the APP button from within noForth?

    Yes, see the documentation in:
    configs gd32vf.html (for RISC-V)

Before you start