Unfortunately, the article was rejected! There were two reasons. First, the article was too long and the magazine
didn’t want to publish a series. Second, they didn’t want to have ‘another kernel article’.
I then decided to turn to Embedded Systems Programming (ESP) magazine because my kernel was designed for
embedded systems. I contacted the editor of ESP (Mr. Tyler Sperry) and told him that I had this kernel I wanted to
publish in his magazine. I got the same response from Tyler as I did from the C Journal: “Not another kernel article?”
I told him that this kernel was different, it was preemptive, it was comparable to many commercial kernels and that he
could put the source code on the ESP BBS (Bulletin Board Service). I was calling Tyler two or three times a week
(basically begging him) until he finally gave in (he was probably tired of having me call him) and decide to publish the
article. My article got edited down from 70 pages to about 30 pages and was published in two consecutive months
(May 1992 and June 1992). The article was probably the most popular article in 1992. ESP had over 500 downloads
of the code from the BBS in the first month. Tyler may have feared for his life because kernel vendors were upset that
he published a kernel in his magazine. I guess that these vendors must have recognized the quality and capabilities of
µC/OS (was called µCOS then). The article was really the first that exposed the internals of a real-time kernel so,
some of the secrets were out.
Just about the time the article came out in ESP, I got a call back from Dr. Bernard Williams at R&D Publications
(publisher of CUJ), 6 months after the initial contact with CUJ. He had left a message with my wife and told her that
he was interested in the article!??! I called him back and told him something like: “Don’t you think you are a little bit
late with this? The article is being published in ESP.” Berney said: “No, No, you don’t understand, because the article
is so long, I want to make a book out of it.” Initially, Berney simply wanted to publish what I had (as is) so the book
would only have 80 or so pages. I said to him, “If I going to write a book, I want to do it right.” I then spent about 6
months adding contents to what is now know as the first edition. In all, the book had about 250 pages to it. I changed
the name of µCOS to µC/OS because ESP readers had been calling it ‘Mucus’ which didn’t sound too healthy! Come
to think of it, maybe it was a kernel vendor that first came up with the name. Anyway, µC/OS, The Real-Time Kernel
was then born. Sales were somewhat slow to start. Berney and I projected that we would sell about 4000 to 5000
copies in the life of the book but at that rate, we would be lucky if it sold 2000 copies. Berney insisted that these things
take time to get known so, he continued advertising in CUJ for about a year.
A month or so before the book came out, I went to my first Embedded Systems Conference (ESC) in Santa Clara, CA
(September 1992). I then met Tyler Sperry for the first time and I showed him the first draft copy of my book. He very
quickly glanced at it and said something like: “Would you like to speak at the next Embedded Systems Conference in
Atlanta?” Not knowing any better, I said “Sure, what should I talk about?” He said what about “Using small real-time
kernels?” I said “Fine”. On the trip back from California, I was thinking “What did I get myself into? I’ve never
spoke in front of a bunch of people before! What if I make a fool of myself? What if what I speak about is common
knowledge? Those people pay good money to attend this conference.” For the next six months, I prepared my lecture.
At the conference, I had about 70+ attendees. In the first twenty minutes I must have lost one pound of sweat. After
my lecture, I had a crowd of about 15 or so people come up to me and say that they were very pleased with the lecture
and liked my book. I got re-invited back to the conference but could not attend the one in Santa Clara that year (i.e.
1993). I was able to attend the next conference in Boston (1994) and I have been a regular speaker at ESC ever since.
For the past couple of years, I’ve been on the conference Advisory Committee. I now do at least 3 lectures at every
conference and each have average attendance of between 200 and 300 people! My lectures are almost always ranked
amongst the top 10% of the conference.
To date, we sold well over 15,000 copies or µC/OS, The Real-Time Kernel around the world. I received and answered
well over 1000 e-mails from the following countries:
In 1995, µC/OS, The Real-Time Kernel was translated in Japanese and published in a magazine called Interface in
Japan. µC/OS has been ported to the following processors:
Analog Devices AD21xx
Advanced Risc Machines ARM6, ARM7
Hitachi 64180, H8/3xx, SH series
Intel 80x86 (Real and PM), Pentium, Pentium-II, 8051, 8052, MCS-251, 80196, 8096
Mitsubishi M16 and M32