Environment Monitoring Programs

Information and example programs for an educational programming project.

This project was started in November 2007 and has been useful for testing purposes by embedded software engineers a number of times.  Here is one description of usage and there are several others on this page.

Want to "jump right in"? The "Hello World" page has the simplest programs but the "Easy fpGUI" page (with the more complex and useful programs) gets updated and used the most.

New! Use Free Pascal to program a Teensy 3.1 (a complete USB-based microcontroller development system).

New! Three web sites resulting from this project are CtrlTerm and CtrlPascal and Control Pascal.

New! A web page:
  Running Linux console apps on Android ARM devices

New! The page above explains some of my reasons for wanting to use inexpensive tablets for machine control.  On 23 Dec. 2014 I received an email about the TW700 which is a 7" tablet with Windows 8.1 for only $60 (US) but you have to go into the store to pick it up.  Control Terminal works with the touchscreen without any changes.  This is easy and might help Wintel keep some of us in the fold!

In June 2012 we started adding tutorials designed to introduce new programmers (using PCs with Windows) to Free Pascal:
"Hello World" Tutorial doc - PDF - web
"Simple Serial" Tutorial doc - PDF - web

New! More tutorial information on the Control Pascal web site.

We hope to add similar tutorials soon for Linux users which includes the popular Raspberry Pi. The arm-linux code here does work on the Raspberry Pi and also on the BeagleBone boards.

LinuxCNC is a nice application and here is a new blog that shows it working on a Beaglebone Black:
LinuxCNC Week in Wichita was held in 2013 at MPM IncHere I am with an anonymous person at MPM in front of their largest milling machine which I think runs LinuxCNC (just like the Beaglebone Black shown on the blog above).
New! blog page with items related to CNC

A few notes and links on programming mobile devices and Arduino boards (also see new web page listed above).

Books available:
Lessons In Industrial Instrumentation, version 1.31 - 2945 pages! (source info)
Lessons In Electric Circuits (same author as above)

Note that the text below is an outline of development of this project and while it describes many useful example programs it is not yet written to introduce new programmers to Free Pascal.

A) Pick two devices (serial and ethernet) to measure temperature. Please see the devices page for more information.

B) Create console programs that communicate with the devices and simply print readings to the screen. Use Synapse and Synaser libraries so there is no need to install any Delphi VCL components (also good for Free Pascal).

We are working on this step in phases. First, here are small "Hello World" files that allow you to see the Free Pascal compiler work on various systems. Next we are releasing similar files for a "Simple Serial" program that reads the temperature from the DLP-TEMP-G board (or a simulator). New!! Tutorials for i386 Win32 systems now available on these two pages.

C) Monitor the temperature and be able to send emails or text messages.  Here are "Easy Email" files for sending emails and text messages.

D) Create GUI program to monitor database (for alerts and charting). Here are "Easy fpGUI" files for various platforms using the fpGUI widget library.  Here are "Simple Window" files for several Linux systems.

E) Improve console programs so readings are put into a database.

F) Use the programs above to extend the Parallax educational offerings to include PC programming. The What's a Microcontroller? Parts Kit and Text is a great way to start. RadioShack sells the What's a Microcontroller BASIC Stamp Kit (Catalog #: 276-625) at a very affordable price.

For some ideas, here is a Perl program:
Here is a list of serial and ethernet devices supported:

PascalSCADA is an interesting project.

Some notes about using the Free Pascal compiler on embedded systems.

Please share your ideas, comments and suggestions. Thanks!
-- Paul Breneman

Contact information on home page