uMon Icon
An Embedded System Boot Platform
Quick introduction
User manual
Current release
Available releases

MicroMonitor, or uMon, is an open-source embedded system boot platform. It is a mature, target-resident environment that provides the target system with a set of capabilities that enhance the development process and add to the flexibility of the deployed application.   In its simplest form, it is a bootloader used to speed up the early stages of embedded system development by providing a target independent mechanism for program/data storage as well as industry standard communication interfaces for transfer of data to/from the target.

As a part of a development strategy for an organization, it provides a common base platform, an integral part of the application itself, providing the system with a core set of features that are generic in nature, and should be useable by application code regardless of the operating system chosen.

  uMon-M: Port to Cortex-M3/M4 boards.  This is a port of uMon to a (relatively) small-memory-footprint system.  It required several adjustments to uMon standard; hence the need to create a separate uMon-M (uMon for MCUs) tarball. As of this writing (Jan 2015), there are ports for the following MCUs: LPC1768 (board=Simplecortex), STM32F4 (board=Discovery), Kinetis-K60 (board=TWR-K60N512) and Kinetis-K64 (board=FRDM).
 I added a chapter to the end of the user manual documenting the changes made to fit this type of system and also wrote a short "getting started" guide for uMon-M on the K64F-FRDM board.

A fully enabled MicroMonitor platform includes:
  • Extensible built-in flash file system (TFS)
  • Support for JFFS2 and FAT
  • TFTP client/server for network file transfer
  • Xmodem for serial file transfer
  • On-board ASCII file creation (i.e. target resident file editor)
  • File-based scripts with conditional branching
  • ASCII-script-driven startup options
  • Command line history and editing
  • UDP and RS232 based command line interaction
  • Versatile configuration management using files
  • Symbols and shell variables
  • Symbolic display of variables, stack trace, runtime profiling and memory-based runtime trace
  • Gdb server for application loads and post-mortem analysis
  • Network host supporting ICMP and DHCP/BOOTP as a startup option
  • Syslog client
  • Zlib-based decompression
  • Password-protected user levels
  • Large API to hook the application to facilities provided by monitor
  • Frame buffer interface, with variable sized fonts and bitmap generation.
    Here are a few examples that are simply running uMon scripts:
    cogent_demo keypad_demo fbi_demo
  • Support for Multicast-DNS and IPV4-Local-Link Addressing
  • Extensive documentation and application examples
  • CPU ports: PowerPC, MIPS, ARM/Xscale, 68K/ColdFire, Blackfin, SH2, MicroBlaze, Nios
  • OS boots: VxWorks, Linux, uC/OS-II, eCos, RTEMS, Nucleus, CMX, pSOS, etc... 
  • Runs out of the box on all Cogent Computer Systems boards supported by Microcross

The MicroMonitor source tree, authored by Ed Sutter, was originally available under the
MicroMonitor Lucent Open License.
Embedded System's Firmware Demystified It was later released (Feb 2002) as part of the book
" Embedded Systems Firmware Demystified"

Need some encouragement? Check these out...

Signup for MicroMonitor Email List:

If you want to keep current with MicroMonitor issues, or just post a question to Ed and other users, subscribe to the MicroMonitor email list...

Send email to and in the message area (not the subject line) place the
following line:  subscribe micromonitor your-name-here

For example:
subscribe micromonitor Ed Sutter

Note that the subscribe email should not have any attachments (this includes V-cards).
Once this is completed, you can send email to the list at

Email List Archives:
To retrieve a list of the archives available send email to
with the text "INDEX micromonitor" (omit the double quotes) in the body of the message. Note, NOT the subject of the email, the body. You will receive a response email from the list server with data that looks something like this...

* Archive files for the micromonitor list at LIST.WEB.LUCENT.COM
* (monthly logs)
* filename filetype GET PUT size (bytes) date time
* -------- -------- --- --- ------------ ---------- --------
MICROMONITOR LOG0602 LOG OWN 2,830 2006-02-27 08:55:09
MICROMONITOR LOG0603 LOG OWN 6,892,461 2006-03-30 08:31:07
MICROMONITOR LOG0604 LOG OWN 359,285 2006-04-28 10:26:52
MICROMONITOR LOG0605 LOG OWN 148,690 2006-05-12 12:42:56

To retrieve a particular month's archive (for example Feb 2006), send email to with "GET MICROMONITOR LOG0602" (once again omit the quotes) in the body of the message. This tells the list server to send you back the selected archive.

Java and Linux VPS Hosting by RimuHosting