september 2021
noforth logo


is an interactive stand-alone forth for
RISC-V (32bits).
MSP430 (16bits)

Authors: Albert Nijhof & Willem Ouwerkerk (Mail us)

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

Now that there is also a noForth for RISC-V processors (october 2020), we have the following noForth variants:   r,   rv,   rc,   rcv,   and   m,   mv,   mc,   mcv.
=   for RISC-V
=   for MSP430
=   compact
=   with vocabularies

The priorities for noForth:   1. robust and comfortable, 2. fast, 3. compact.
For the compact variants:   1. robust and comfortable, 2. compact, 3. fast.

"Low Power" noForths (for MSP430) are marked with a dash: noForth m-, mv-, etc.


In the list below you find the noForth images for MSP430 (Intel-hex) and for RISC-V (binary). It may be necessary to adapt the CONFIG list (settings for Baud rate, Clock speed, etc.) in the noForth Intel-hex files. Follow the instructions in the README file.
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 RISC-V (201030 yymmdd)
RISC-V GD32VF   noforths
noForth Intel-hex files for MSP430 (201030)
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 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

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.

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 r/configs and configs gd32vf.html for RISC-V).

Before you start