Home > News & Updates > Electronics News Updates > SIMPL Revisited – Again, but this time it’s personal

SIMPL Revisited – Again, but this time it’s personal

Summary of SIMPL Revisited – Again, but this time it’s personal


SIMPL is a serial interpreted minimal programming language developed as an extension of Txtzyme to simplify microcontroller control. Ported to Arduino, ARM, and FPGA soft cores, it offers a C-coded framework for low-level human interaction and testing complex applications. The author explores using SIMPL as a user-friendly interface layer for Forth virtual machines, aiming to bypass the complexity of stack manipulation while accessing essential Forth vocabulary.

Parts used in the SIMPL Project:

  • Txtzyme language interpreter
  • Arduino microcontrollers
  • ARM processors
  • FPGA soft core processors
  • C programming language
  • Forth virtual machine

In May 2013, I learned about Ward Cunningham’s Txtzyme language – a very simple serial command interpreter which allowed basic control of microcontroller function using a serial interface.

I wrote about it here:

Txtzyme – A minimal interpretive language and thoughts on simple extensions

Tytzyme was about as easy as a “language” could get, it offered digital input and output, analogue input, rudimentary timing in uS and mS and simple repetitive loops.  It was so simple, and offered so many opportunities for extension, that I decided to write some new functions – and called the extended language SIMPL  – serial interpreted minimal programming language.

In late May 2013, I described the extensions here:

SIMPL – A simple programming language based on Txtzyme

In the last 30 months I have ported SIMPL to Arduino,  ARM and FPGA soft core processors. I have also used the Txtzyme interpreter to help to create assembly language for an entirely new soft core FPGA cpu.

Very often, during initial deveopments, we need a low level human interaction with a new microcontroller, and SIMPL seems to provide that coding framework to allow more complicated applications to be tested and coded.

SIMPL is coded in C – which allows good portability between micros, but recently I have been wondering whether SIMPL would be better coded in Forth, and act as a human interface layer between a Forth virtual machine and the human programmer.

Forth can be a difficult language to master – partly because it involves considerable manipulation of the data stack, and the need to keep track of the stack presents quite a challenge to the new programmer.

Standard Forth consists of a vocabulary of about 180 compound words, which can be entirely synthesised from about 30 primitives.  When ported to a FPGA soft core CPU, optimised for Forth,  most of those 30 primitives are actual native instructions. That makes it fast in execution, but still not the easiest of languages to grasp.

Can we use SIMPL to access a sufficient subset of the Forth vocabulary to allow real programs to be written, but without having to tie our brains in knots over keeping track of the stack?

For more Details: SIMPL Revisited – Again, but this time it’s personal

Quick Solutions to Questions related to SIMPL:

  • What is SIMPL?
    SIMPL stands for serial interpreted minimal programming language and is an extended version of Txtzyme.
  • Can SIMPL be used on Arduino?
    Yes, the author has successfully ported SIMPL to Arduino platforms.
  • How does SIMPL help with new microcontrollers?
    It provides a coding framework for low level human interaction during initial development.
  • Is SIMPL coded in C or Forth?
    Currently, SIMPL is coded in C, though the author considers rewriting it in Forth.
  • Why might someone use SIMPL instead of standard Forth?
    SIMPL allows access to a subset of the Forth vocabulary without the difficulty of tracking the data stack.
  • What features did the original Txtzyme offer?
    It offered digital input and output, analogue input, rudimentary timing, and simple repetitive loops.
  • Does standard Forth require many compound words?
    Standard Forth consists of a vocabulary of about 180 compound words synthesized from roughly 30 primitives.
  • What is the primary benefit of using SIMPL with a Forth VM?
    It acts as a human interface layer that simplifies program writing by avoiding stack manipulation challenges.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top