noforth logo

is an interactive 16-bit stand-alone forth for MSP430.
Authors: Albert Nijhof & Willem Ouwerkerk (Mail us)
Last update 22 april 2016

You can put the noForth image on a Launchpad and then program the chip using any serial terminal.

noForth C,V

is functionally equivalent to the previous version (noForth 1210, october 2012). We made noForth still more robust and we made some space saving internal changes: the kernel takes less space and compiling a program is more space efficient now.
This is nice especially for the smaller 16kB processors.

Why C,V ?
Because noForth C,V comes in two variants:

However, noForth C can be used in the larger flash memories and noForth V in the smaller ones. To get an idea of the differences between C and V, see noforth cv words.pdf

"Low Power" noForths are marked with a dash: noForth C- or noForth V-.


There is an adapted noForth for several processors and boards.

Which noForth for which board?

Documentation about the boards (.pdf)
Lp, Mc, Du, Mv, Ex
intel hex files (.a43) of actual
noForth versions (160401)
MSP430G2553 Launchpad
Lp noForth C   noForth V
noForth C-   noForth V-
MSP430G2553 Egel Kit
16kB FROM, Baud rate 38k4
Ek noForth C   noForth V
noForth C-   noForth V-
MSP430F149 Minim Core Board
Mc noforth C   noforth V
MSP430F149 Dupont board
Du noForth C   noForth V
MSP430F149 Mini-V3 board
Mv noForth C   noForth V
MSP-EXP430FR5739 Experimenter Board
Ex noForth C   noForth V
MSP-EXP430FR5969 Experimenter Board
64kB FRAM, Baud rate 38k4
Ex noForth C   noForth V

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 updates

february 2016

New: New words:
(for details see 'noforth(c,v)documentation.html' below, under 'Files') And finally:

october 2015

Some internal improvements and introduction of ADR, a value prefix that provides the address where the value is stored in RAM.
Apart from the binary files the following files are adapted:

april 2015

The only visible change is in noForth C:
From now on the inside words (hidden auxiliary words) can be found with ' and FIND.
IWORDS still shows only the inside words and WORDS shows all words other than the inside words. The words INSIDE TICK FIND-ALL are no longer needed; they are removed from noForth C and withdrawn from these files:

january 2015

Four answered questions about noForth

  1. How do I get noForth in the ...

  2. 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, ... )
      Baud rate 9600 - data 8 bit - parity none - stop 1 bit - flow control none -
      transmit delay: 0 ms/char, 100 ms/line
  3. Will compiled code stay in flashrom after a power off/on?

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

    Yes. Executing a MARKER or a SHIELD erases the code that is compiled after it.

Before you start:

Since noForth compiles in FlashROM, it is unavoidable that some words don't behave exactly as the standard prescribes. We tried, without restricting the programming freedom, to minimize the aberrations from the standard. This concerns:
HERE ALLOT ! C! +! MOVE (only RAM) , C, (only ROM) and CREATE


 This noForth software
 is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 This software is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 GNU General Public License for more details.

noForth is written 'from scratch'


How to make a turnkey system

' <my-application>   TO APP   FREEZE
(Put the application token in the value APP and type FREEZE)
The execution of the APP vector can be bypassed with a switch.

home Link to the previous version: noForth 1210