Skip to content
Dead-nuts simple Pomodoro timer for the Parallax Propeller QuickStart microcontroller
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Propforth Pomodoro

This is a super-simple Pomodoro timer written in Propforth for the Parallax Propeller P8X32A QuickStart microcontroller. It has the virtue of requiring no hardware except the QuickStart board itself. (It has no other virtues.) The code is shorter than this README by a good bit.

To use it:

  • Buy the QuickStart (I got mine for about $7 on clearance at Radio Shack);
  • install the Propeller Tool (see docs for the microcontroller, and unfortunately I don’t know if there is any way to use the microcontroller without MS Windows);
  • using the Propeller tool, install Propforth (see the Propforth docs);
  • make a serial connection to the Propforth REPL with a serial terminal program like TeraTerm or PuTTY;
  • cut and paste the Fourth code in pomodoro.4th into the terminal; the Fourth system will save an image with the pomodoro word set to execute at boot time;
  • once that is done, reset the QuickStart board.

From then on, it will do one simple thing: it will turn on one LED light about every three minutes (every 187 seconds, to be exact) and once it runs out of LEDS to turn on (about 25 minutes) it will start flashing and being generally annoying. At that point, take your Pomodoro break. Once you are ready to start working again, hit the reset button and it starts all over.

Yes, it’s that dumb.

When you are sick to death of it, unplug it.

If you want to change the amount of time it waits, reinstall Propforth to the EEPROM from scratch, then modify the Forth word `chunk’ in the program to be a value which is 1/8th of the number of seconds you want to wait. So, if you want to work for 32 minutes, one-eighth of that is 4 minutes, so you would use

: chunk 240 ;

Then paste the new version of the program into the serial terminal again.

You can’t perform that action at this time.