Single board computers



Single board computers
Single board computers are those little circuit boards with the necessary components to be used as a digital computer and ideal for an outsourced IT specialist like PPC Managed Services. They are not commonly seen as they are and that is the reason why most of us can’t recognize them even if we have one in front of us. However, a lot of people have used single board computers because they are often embedded in gadgets like mobile phones, facsimile machines, GPS and other computer technological products.

Single board computer is what a printed circuit board with memory, a processor, input – output and a digital clock is called. Single board computers (otherwise known as SBCs) look a lot like the motherboard inside an ordinary personal computer but with a small design.

Because they are really small, they are also known as embedded computers. SBCs may come in different sizes, too. In fact, they are used from aero planes to sky rockets. In a more general sense, they can be present in toys or highly technological shoes. It is easy to assume that everyone has used single board computers without realizing that they exist.

Nowadays, smaller versions of computers are becoming very common. While they can accommodate full versions of operating system like Windows XP, SBCs have their own internal operating systems which don’t occupy much space. It is a fact that simpler operating systems mean not costing a lot. Without affecting processor performance, input/output, capability to store some files and its wireless connection, single board computers can do the basic functions of a personal computer.

The Good and Bad about Single Board Computers

Like any other products, SBCs have two sides, too. The decision to whether or not to employ the technology of single board computers is influence by how important the application is and how much it costs.

Below are the positive factors to consider:

  1. The high technological advancement nowadays have improved the capabilities of single board computers as they become smaller and less costly.
  2. Internet access using the SBCs has been made possible with the use of Wireless technology.
  3. Because of it is now available in the competitive market, better functions and variety of single board computers are also made available to the users.
  4. Highly developed computer technology presents dependability for industrial producers and the quality of their products using SBC’s.

On the other hand, employing SBCs may not be cheap or reasonable when incorporated with products of high volume and other applications. Also, there are some of these applications that need made to order sizes. Another possibility is that the input/output of certain devices are not compatible with single board computers.

Despite these possibilities, though. A lot of companies opt to use SBCs in the production of their high end devices rather than make their customized industrial single board computers, which is why a lot of organizations use www.ppcmanagedservices.com a managed services provider to maintain them.

Power Line Communication

Power Line Communication is a fairly recent technology which is used to transfer data and establish means of communication at broadband speeds over transmission lines. The technology is widely also known as Power Line Telecommunication (PLT) or even Power Plus Communications (PPC). The technology uses advanced modulation technology which super imposes the data signal of high frequency over the low frequency power signal.
The research into PLC started off in the mid 1980’s in the band range of 5-500 KHz and was developed for only unidirectional communication but with time the system has been advanced to permit bidirectional transmission of data signal.

power line communication
Continue reading

Incoming search terms for the article:

Modbus protocol


Modbus is a communication protocol which is used with programmable logic controllers. This communication protocol was published by a firm named Modicon in 1979. It has now become the most de facto standard protocol in the industry. Modbus is now very commonly used as a means to connect the industrial electronic devices. This protocol is very easily available as it is very extensively used. There are certain important reasons for the use of Modbus rather than use of other communication protocol. These are as follows:

1.This protocol is published openly and is royalty free.
2.It is an easiest way to setup an industrial network.
3.This protocol moves raw bits without any restrictions.

modbus protocol

modbus webserver

Continue reading

Incoming search terms for the article:

PIR motion sensor

PIR motion sensor

PIR sensor

PIR or the Passive Infrared sensor is an electronic device which is used to measure infrared light radiating from a body in its field of view. The sensors are known as Passive since they do not have an in built IR source like active sensors and detect the natural radiation of the body.

All objects have a certain body temperature and at any specific temperature there is a certain radiation that the body emits, this is called the Black Body Radiation phenomenon. The infrared radiation is undetectable to the human eye but can be detected by a PIR sensor. These sensors are commonly used as motion detector that is whenever a different body of different temperature passes from ahead of it, there is an apparent change in the infrared frequency detected due to different temperature of each body. This application is widely used in security equipments and other photo sensing equipment. The PIR sensors are very often paired with other devices to increase their range to encompass even human body sensors.

Continue reading

Incoming search terms for the article:

T-Engine and T-Kernel


T-engine hardware

T-Engine is project that standardize the hardware part of development board (not the standardization of main processor).
This project is well-known amongst the processor manufacturer company in Japan. You can buy T-Engine development kit directly from Japanese
microprocessor manufacturers such as Renesas Technology or from electronics company like Personal Media Corp.I list websites where you can
find T-Engine development board to buy as below…
Continue reading

Interesting GPS locator module

SUP500F module

GPS Locator is GPS used for indentify the position at the point that receiving the signal. This article is about the review of SUP500F ,
small GPS receiver module with built-in antenna.
SUP500F module receives signal from satellite in order to find the coordinate on the earth. It’s cheap and suitable for study or apply
for practical use. The antenna is located inside its body so you don’t need to connect addition external antenna to this module.
It’s small and can be enclosed in the box , however due to it use internal antenna , the efficiency of signal receiving will decrease if
you use it inside the building (it prefer to use outdoor).
Continue reading

Incoming search terms for the article:

Wi-Fi Direct Technology

Monday , 25 October 2010 is the day that Wi-Fi direct certification was released to the mobile device manufacturer for the first time.

wifi direct

Wi-Fi direct is technology that developed from original Wi-Fi technology (it’s developed by
WiFi Alliance). This technology enable two mobile device to communicate to each other with ease
and safty.It’s also known as “bluetooth killer” because it can substitute for bluetooth technology
in every function of bluetooth. Otherwise it support more applications and more effective than
bluetooth technology.So bluetooth technology may come to an end in the next few years.

Continue reading

Incoming search terms for the article:

How to choose Xbee module


How to choose Xbee module.

Two steps you should consider when you want to buy Xbee module.

1. Range of send/receive signal of Xbee module.

Xbee module can be separated obviously into two series in term of “The range of send and receive signal”.
The word “PRO” was used to indicate the difference between each series. Xbee series without word “PRO”
is designed for short-range wireless communication (around 100 metre when use outdoor) with power output between 1 – 2 mW.
Example of Xbee module in this series is XBee 802.15.4 .
Xbee series with word “PRO” is more powerful. It’s designed for long-range communication (up to 1600 metre when use outdoor) and
have power output between 50-60 mW. Example of Xbee module in this series is XBee-PRO 802.15.4 .
Continue reading

Incoming search terms for the article:

More on Xbee part one.

Xbee is the device that integrate Microcontroller and RF IC into one piece (one module).
It work as transceiver equipment (the equipment that can both send and receive signal).
Xbee is half-duplex and it operate at 2.4 GHz frequency band. It consume low electric power and easy to use because
the interface used for sending and receiving data with Xbee is UART (TTL), so we can connect the UART communication pin of Xbee to
the UART of microcontroller directly.

Common features summary of Xbee
1. Operating Frequency ISM Band 2.4 GHz
(ISM Band is the frequency band that reserved for use in scientific , medical and industrial purpose. To know more
about ISM Band , please visit this wikipedia page)
2. Supply Voltage between 2.8 – 3.4 Volt
3. Can use together with various types of antenna such as Chip Antenna , Whip Antenna and connector like
U.FL connector , RP-SMA connector (but you have to find the 2.4 GHz antenna in order to use with these connectors).
4. Power Down Current < 10 uA 5. RF data rate of Xbee is about 250 Kbps (this is the data rate of signal that sent via the air) 6. Serial interface data rate is between 1200 - 115200 Bps (this is the data rate of communication between Xbee module and microcontroller) Continue reading

Incoming search terms for the article:

Arduino revolution

Yesterday I visited Arduino website and found a change in their main web page, so I continued to read their blog and found some interesting alteration
that I can summarize to you as below…


Arduino new revolution

1. Arduino has a new logo (as you can see in the picture above). I thing it is “Atom” or “Infinity”. The new logo is easy to remenber than the old logo.
2. Arduino.cc will open their own webstore on 18 October, this year. New webstore will eliminate the difficulty in ordering arduino board that made by
Arduino.cc. In the past , they sold their arduino board via distributors or electronics shop only. There’re many electronics shop in the world that sold
arduino board (some shops sold real board while some shops sold clone board). For this reason the people may confuse about how to find the electronics shop
that sold the real arduino board of Arduino.cc.

3. They released the new arduino board named “Arduino Uno” and “Arduino Mega 2560”.
Both board still use AVR chip as their main processor.
(Arduino Uno use ATmega328 as main processor while Arduino Mega 2560 use ATMega2560 as processor).
Arduino Uno is special board that replace ft232 chip (FTDI USB-to-serial chip) with ATmega8U2 (8-bit microcontroller with Programmable USB
4. They launched Tinker Tookit, the new sensors development module that can connect and use with arduino board.
5. They plan to release Arduino Ethernet board. This board isn’t the ethernet shield but it is board that include ethernet interface equipment
(such as ethernet chip , ethernet port , etc) into main PWB. So in the future , user can upload program to the board via ethernet
interface (this feature is exist in mostly embedded linux board that you can upload anything to the development board via FTP or TFTP).

To view more information , please visit Arduino.cc website and Arduino.cc blog.

I am the one who like Arduino so much and I hope this change will bring a lot of good things to Arduino developer and Arduino user all over the world.

Thank you,

Incoming search terms for the article:

Fixed point (part two)

Fixed point.

Please read this article before you read the below content…

However , Fixed point arithmetic is popular in embedded system or the high performance system but low power consumption (system that desiged with the
limitation in budget).The primary advantage of fixed point system is “in fixed point , the calculation process of rational number is done in the same way as
calculation process of integer number”. So , it has advantage over floating point in that it require only Arithmetic Logic Unit or ALU (ALU is only the
unit that exist in almost CPU in the world) in its computation process. On the contrary , floating point arithmetic require both ALU and FPU (FPU is hardware
processing unit that used for handle the floating point calculation process). Please look at this page for more information about FPU Design.

You may find out some digital signal processing (DSP) chips don’t have the FPU part , that’s not strange because fixed point can be used in DSP tasks too.
The DSP chip without FPU make its cost cheaper, furthermore it consume less energy when compare to DSP chip with FPU.
Blackfin of Analog Devices or TMS320C5x series of Texas Instruments is an example of Fixed-point DSP chip.

Due to the operation speed of Fixed point is faster than floating point, so in some kind of tasks that need to complete calculation process
within the limit of time, in this case Fixed point DSP processor is more applicable than floating point DSP processor.

The efficiency of DSP processor can be measured by “the capability in multiply and accumulate per second”.The official technical word call
it “Millions of Multiply Accumulates (MMAC) per second” or “MMAC per second” or MMACs.
The MMACs value of fixed point DSP processor is higher than floating point DSP processor.
You can easily compare DSP chip from Texus Instruments in these two series , TMS320C67x (Floating point processor)
and TMS320C64x (Fixed point processor) , please click the link under the chip series and you will know that the peak MMACs of TMS320C64x series
is much higher than TMS320C67x.

So , I can summarize that high performance DSP chip mostly use Fixed point arithmetic. Task that suitable for using high MMACs Fixed-point DSP chip
is the task that include heavily mathematical calculation such as Audio Coding or Graphic Engine in video games box etc…

The next article is the last article relate to fixed point. It will about Q-format.

Thank you,

Reference : Semiconductor Electronics Magazine , Thailand (September/2553 issue).

Fixed point and floating point (part one)

Fixed point.

Numerical system in computer can be separated into 2 group , one is Floating point and another one is Fixed point. Floating point is mainly
used in calculation of software that run on PC. In PC there is the FPU or Floating Point Unit so it is possible to use floating point numerical system.
On the other hand , in embedded system , the capability of main processor is limit and maybe there’s no FPU so in calculation , the usablility of Fixed point
instead of Floating point is necessary.

Fixed point is numerical system that use binary number or bit (0 and 1) to represent an integer , rational number or signed integer (such as -1,-3,-5).
Most people think that fixed point is the system that used for calculated only integer but in fact , it can be used for calculate an integer , rational number and signed integer too.

The difference between Fixed point and Floating point.

First , let me talk about rational number…

Rational number is derive from the representation of ratio of two integer A and B or A/B. You can write rational number in decimal format
such as 12.25 , 1.10 , etc. The symbol between integer part and fractional part is called “decimal point” or “radix point”. Position of radix point in the rational
number can be anywhere depend on the significance of that number.

Fixed point number represent the number that the position of radix point is fixed and not change even though that number is modified by the
computation process.This mean that in Fixed point the number of digits come after the radix point is also fixed too.

Floating point number represent the number that the position of radix point is “floating” (not fixed at any position). The position of radix point
can be changed during number is modified in computation process. Or this mean the number of digits come after the radix point can be varied (not fixed).

From the above information, when compare Floating point with Fixed point , range of number can be represented by floating point is larger than fixed point.
Floating point is suitable in the task that require intensive computation such as Hi-Fi Audio System, Radar System, Medical Electronics system , etc.
General purpose computer is mainly use Floating point too. The popular programming language like C and C++ are also not support the fixed point , however
there’re many existing fixed point math libraries able to use with C and C++. The IEEE Standard for Floating point Arithmetic is IEEE 754 and this standard is
implemented into both hardware (FPU) and software of computer.

In next article (Part two) will be about the advantage of fixed point.

Thank you,



netDuino is another opensource hardware platform designed by Secret Labs.
Main microcontroller in this board is ARM7 from Atmel (AT91SAM7X512).
The IDE for developing program on netDuino board is MS visual C# 2010 (you can’t use C# 2008 and older version of C#) and it’s free
for download.
Other software need to install before start writing program is .NET Micro Framework and netDuino SDK (see this page for download them).

It include well-known interface bus such as I2C , UART , SPI and I/O port including GPIOs, PWM (pulse-width-modulation) and ADC
(Analog to Digital Converter).

Main development language is C#, so if you’re familiar with C# and have knowledge in microcontroller interfacing then you can make
a lot of fun projects from netDuino (however you also have to study about how to use the library of .Net Micro Framework).

With the price of 34.95 USD make netduino one of interesting development board for everyone who want to learn .NET Micro Framework
in order to make a little embedded project.

There’s an emulator for netDuino board too but I’m not sure that it’s included in the netDuino SDK or not .I suggest you to use an emulator from http://netduinoemulator.codeplex.com/ or you can download it from
this thread of Netduino forum.
It run on top of MS .NET Micro Framework and it help you to test and debug your source code without having the real netDuino hardware.

I also compare netDuino with FEZ domino and I found that the result are as below
1. Price of netDuino is cheaper than FEZ domino.
2. Fez domino has peripherals attached to the board more than netDuino.
3. Fez domino use LPC2388 (144 pinout 16/32-bit ARM7 from NXP) as main processor while netDuino use AT91SAM7X512
(100 pinout 32-bit ARM7 from Atmel) as main processor.
4. Both FEZ domino and netDuino use .NET Micro framework to build applications and source code of the application is written in C# language
(USE Microsoft Visual C# 2010 Express Edition as their IDE)
5. They both are open source hardware platform and also have an emulator run on top of .Net Micro Framework.

Other useful netDuino resource
1 netDuino community
2 .Net Micro Framework advance emulator
3 netDuino project page

1 electoday.com
2 netDuino.com

Look at two videos of netDuido below , the first video is about “how to build your first netDuino application”
and the second video is about NetDuino Emulator


Thank you,

Incoming search terms for the article:

Wireless sensor network (WSN)

Wireless sensor network (WSN)

What is WSN?

The wireless sensor network was primarily developed as a military application to survey a battlefield. However, now a WSN is commonly used in many other industrial and commercial applications to monitor environmental conditions, health care applications and traffic controls. There are many different kinds of wireless sensor networks however; they all normally come equipped with a radio transceiver or a wireless communication device or a power source.

There are many applications to this technology and typically involve monitoring, tracking or controlling. Area monitoring comes as one very commonly used to be able to track any kind of movement whether it is heat, pressure, sound, light or vibrations in an specific area.

This technology is now being utilized by almost every industry and this includes the environmentally related industry as this is a technology which allows the reading of many different kinds of changes in the atmosphere and how they can guide those in the industry to determine simple factors like water levels or more complex aspects of the environment like the possibility of an earthquake in an specific area.

Vehicle tracking and movement can also be tracked through this technology and therefore, it is also being used by the security industry. Medical science also depends on the wireless sensor network to be able to track the changes on some of the health monitors which will immediately notify the medical staff of a change in the monitoring device.

Zigbee is a technology developed as a global standard to comply with the needs of low cost and low power wireless networks. It has been designed with the facility to be able to provide an easy to use wireless solution which creates a secure and reliable network. Some of the features of Zigbee include the ability to support multiple network functions like the point to point or multipoint to point and also the mesh networks as well. Since it functions on a low duty cycle it is also considered to be very good on battery life. And it has the direct sequence spread spectrum as well. It also has the ability to run for years without any kind of maintenance and with an automatic meter reading.

TinyOS has been designed for wireless sensor networks. It works in component based software that supports high degree of data in a very small space and which has been designed to minimize power consumption, while being able to use all its sophisticated protocols. The wireless sensor network has been created taking into consideration a variety of applications, incorporating various components and being capable of deployment of new environments. However, it also requires greater processing compared to the wired networks. It is a complex mechanism which needs to be properly processed. There are many different kinds of WSN platforms and they vary in size and capacity depending on which components are active.

SOS is an operating system for wireless sensor network which is normally utilized for message passing services, dynamic memory allocations and module loading. The components of the SOS are comparable in functionality to Tiny components. SOS project is now no logner continue to develop. However, the source code is still available to download up until now.

Another specific Operating system for the WSN is the EPOS or Embedded Parallel Operating System which is based on runtime support for the environment. This framework allows programmers to develop their own applications and tools through their system in accordance with the requirements of these particular applications.

The right Operating system for the Wireless sensor network will allow applications to express when certain software components are not being used, allowing the system to work on the levels that it needs to and thus implement less power as well.


Incoming search terms for the article:

Radio Data Systems

Radio Data Systems (RDS) are a technology that is quickly catching on and becoming a popular feature in radios. Radio Data Systems are becoming an integral part of all radio systems today. Radio Data Systems give radio stations the ability to send information/data to your radio. Have you ever seen the artist and song name on your radio? That is made possible because your radio has a built in RDS.

Most new radios support Radio Data Systems. If you can’t find a radio near you then look no further than your car for an example. Most car manufactures are adding Radio Data System support to the radios of their cars. Pay attention to the information being presented on your radio player and you’ll see how an RDS compatible radio comes in handy.



Radio Data Systems come equipped with many key features as below…

1. Program Service name (PS)
2. Program Identification code (PI)
3. Enhanced Other Networks (EON)
4. Clock Time (CT)
5. Regional (REG)
6. Alternative Frequencies (AF)
7. Programme Type (PTY)
8. Radio Text (RT)
9. Traffic Announcement (TA)
10. Traffic Programme (TP)
11. Traffic Message Channel (TMC)

Source : Wikipedia

This article doesn’t describe all above RDS features.However, I pick only some important features to explain in this article. Some of the them include, RadioText, alternative frequencies, traffic announcement and programme type. RadioText (RT) allows radio stations to send a message that can be unchanging, or a message that changes depending on what the radio station is playing. Alternative frequencies (AF) are one of the best RDS features; especially for car radios. It allows the frequency to be changed on the radio’s receiver for stronger reception. Traffic announcement (TA) is also a very helpful feature. If you have a multifunctional radio player and your listening to a CD but still really want to hear the traffic announcement/update this feature will stop the CD and take you to the station that’s making the traffic update. Another terrific feature is Programme Type (PTY). Programme Type categorizes each radio station into a genre. So if you want to listen to the news you can quickly and easily listen to all the news channels and not have to go through the music channels. It also categorizes stations according to the style of music they play. So if you’re in the mood for rock and roll you can easily find all the rock and roll music stations and not have to go through the other music (and news) stations like opera, rap etc.

So as you can see Radio Data System’s offer a lot of features that are very practical and can help in day to day life. Radio Data Systems make your radio player more efficient and easy to use. It’s easy to see why they are becoming so popular. For more information about radio data systems please take a look at RDS forum website.

Incoming search terms for the article:

Simulation software for embedded system.

Here , I list some softwares that used for simulate the work of microcontroller or electronics circuit.
Like below…

I think VBB is the best arduino simulator at this moment. This software also
include some examples of arduino model ready for simulate. You can write a source
code of arduino , draw schematics and simulate it using VBB. It can simulate the
PICMICRO and PARALLAX processor too. I recommend this software for person
who want to study how to write program for arduino but don’t want to associate with
making the real hardware for test the written program. Visit virtualbreadboard website for more information about this great software or view the demo of this software at this link.



Continue reading

Incoming search terms for the article:

NXP Cortex-M0

After NXP had launched ARM Cortex-M3 to the market (LPC1700 and LPC1300).They have
launched Cortex-M0 (LCP1100) to the market since the beginning of 2010.Please look
at the picture below to compare each of NXP ARM Cortex series.

Comparison of Cortex Series

Comparison of Cortex Series

Continue reading

Linux bootloader.

What is a bootloader?

In computing, booting or booting-up, is the process that starts an operating system when a computer system is turned on. A boot sequence is then followed, step by step, running some initial tests of the hardware and then initializing the bootloader.

A bootloader loads the operating system, often from a list of options, selecting the default option if another is not selected by the user within a set period of time. The user interface one sees can be a simply text display or a graphical user interface.

When a computer starts-up, the BIOS is loaded. The master boot record (MBR) is accessed from the first sector on the boot-able media. The MBR is limited to a single operating system, i.e. one distribution on Linux (Ubuntu, OpenSuse, etc.). The MBR is split up into two parts, part or all of the boot loader and information on the drive partitions. The BIOS locates and loads the first part of the bootloader, known as the initial program loader or IPL. The IPL checks the partition table to locate the second stage of the bootloader and load it.

The second part of the bootloader is much larger than the first, which is limited by the size of files the BIOS can access. The second part is also the part that is visible, so often people think it is the only part of the bootloader. This part contains the user interface to display the bootloader to the user and kernels to help the computer function correctly in the initial stages.

With newer Linux bootloaders, you have new options like the ability to load from a list of operating systems, use encrypted passwords and so on. This allows the flexibility to have a number of different operating systems installed on separate drives or separate partitions on the same drive. Different popular distributions of Linux, like Ubuntu Linux and OpenSuse Linux, as well as Microsoft Windows operating systems, can coexist happily together. This gives the user ultimate flexibility at boot time.

Two of the more popular bootloaders on Linux operating systems are LILO and GRUB.

Linux Loader

Linux Loader, or LILO, is the most common bootloader for Linux. It has been around many years, enjoys rich support from the Linux community and continues to evolve with new features added over time. There are many features to help troubleshoot a system having problems booting-up successfully. It also permits dual boot of a Linux distribution with any other operating system.

lilo bootloader

LILO is file system agnostic that allow to boot the OS from a floppy disc, CD-Rom, DVD, USB pen drive or hard drive. LILO is also flexible enough to be loaded from master boot record or boot sector of harddisk partiton. If you want to load LILO from boot sector then you must set up something in the master boot record in order to call the LILO that place on the harddisk partition.


grub bootloader

GNU GRUB, or GRUB, is fast becoming the boot loader of choice for many Linux users. The growing popularity of the Ubuntu Linux distribution that uses GRUB as standard is one reason for this, with approximately one third of Linux users using Ubuntu.

GRUB can also install on a range of media – floppy disc, CD-Rom, DVD, USB pen drive and hard drive – but it beats out LILO because the number of boot selections are unlimited. Given enough media options, this allows an enthusiast or Linux technician to load the latest stable release for one distribution of Linux, as well as a number of beta versions and special configurations for testing purposes, without the concern of running out of boot selections.

GRUB is also network ready and comes with an attractive graphical user interface.

Thank you,
Jitkasem Pintaya

Incoming search terms for the article:

Embedded board

This article is about my recommend embedded board
1. idea6410 board
This embedded board use Samsung S3C6410 ARM11 as the main processor.It come with
various type of peripheral interfaces as much as necessary. It suitable for automotive , industrial control applications or medical system.This board can run many OS such as Windows Embedded CE 6.0,
Embedded Linux 2.6, Android and Ubuntu.View more information about this board here.

idea6410 development board

Continue reading

Incoming search terms for the article:

Embedded scientific calculator.

Casio fx-9860gsd is one of scientific calculator that can use for
calculate scientific formular otherwise it also can be used in controlling
as the embedded calculator.

Casio fx-9860gsd has the graphic LCD display (only two colors , black & white).
It use high performance processor , has the serial port and also has the SD card slot.
This calculator can be programmed without using the external program-burning equipment
(user can write program and download compiled-program to the calculator).
The software development kit for develop the software is free for download (include the compiler,
library and IDE). This SDK can make Casio fx-9860gsd to become good embedded controller board.
The drawback is it doesn’t have input/output port sufficiently to use ,however we can solve this drawback
by use the external equipment to expand I/O port.

Important technical specification of Casio fx-9860gsd are as follow…
– Use CPU from Renesas (SuperH-3 32-bit RISC processor) run at 100/133 MHz (depent on the working
– RAM 512 kB
– 4 MB Flash memory (can actually use about 1.5 MB)
– Download program to the calculator via mini USB by using FA-124 software.
– One channel serial port.
– Addition application can be appended to the calculator by ourselve.
– Develop program using C language and the SDK is free for download.
– Have SD card slot (SD card used for install new application or store the data).
– Noise tolerant and high stability.
– Can exchange the program between two calculators using the special signal-wire.

Casio fx-9860g sd

Casio fx-9860g sd

Essential software you need to download before start develop the program for Casio fx-9860gsd

First download SDK for fx-9860g (this SDK contain IDE and C
compiler). The registration is required and you must own the real Casio fx-9860gsd
(because it request for the identification number that stick at the back of this scientific calculator).
If you don’t have real Casio fx-9860g series then you can’t download this SDK.
Visit https://edu.casio.com/download_service/register/regist_form.php for register and download SDK.

Second download library Revolutionfx from http://revolution-fx.sourceforge.net.
This library help in reading and writing via serial port of the calculator (You cannot
access the serial port by using only the SDK from casio).
It also has the routine for draw a line or graph and include special function that is
valuable for working with this calculator.

Last software that need to download is Casio FA-124. This software use for download or
burn the program into calculator. You can download Casio FA-124 at http://world.casio.com/edu/resources/fa124/index.html.

When you have all three software above , you must install the fx-9860g SDK first
after that install the Revolutionfx library and Casio FA-124 respectively.

This article doesn’t talk about how to set up the environment for develop the program
and how to write the C code instruction for this calculator because I intend to write the
review for Casio fx-9860gsd only.

Reference :
1. Prototype Electronics Magazine (issue 11 , June 2010)
2. http://www.tpemagazine.com

Thank you,

Incoming search terms for the article:

Interest embedded development board

Preview on Feedage: software-design-and-embedded-system-toolsSoftwareTop BlogsBlog DirectoryBlogadr.com - Listed (add your blog to Blogadr.com)Blog Directory

Fez Domino

This development board was developed by GHI Electronics. It use 32 bit ARM7 (LPC2388FBD144 run at 72 Mhz) as the main microcontroller. It also the same as other general embedded development board except
that it use Visual C# 2008 Express Edition as compiler (so you must able to write the C# language) and use Microsoft .Net Micro Framework as the template for development the program on this microcontroller.
This IDE provide the full function of debugging capability. It also provide
an emulator mode , so you can run your developed program
without burning it into the real development board.

The extra capability of FEZ Domino is that its IOs port are correspond with
the hardware standard of Arduino (Pin compatible with Arduino) ,
so it can be used together with Arduino shield board.
For more information about Fez Domino , please visit TinyCLR.com

Picture of Fez Domino board

Picture of Fez Domino board

Below are videos introduce about how to develop program on Fez domino


If you have some questions or want to suggest something to me , please send an email to admin@embedsoftdev.com

jitkasem pintaya

Beginning guide to RS-485 bus.

RS-485 is name of standard for data transmission that use only 2 wires.
One wire for sending the data (TxD) and another wire for receiving data (RxD).
RS-485 can be configured to work in Half-duplex or Full-duplex mode.
The example of equipments that use Half-duplex communication are
Fax, Printer, Intercom , walkie-talkie , etc.
Full-duplex equipments such as Telephone or Mobile phone.
RS-485 standard was specified by EIA (Electronics Industries Association)
since 1983.

The advantage of RS-485.
Nowadays, the data transmission used in industrial sector are almost RS-485 bus.
The reasons that people use RS-485 bus in industry instead of RS232 bus are as
1. Price of equipment to create RS-485 bus system is cheap and it require
only +5V (VDD) power supply.
2. The ability of inter-connection, RS-485 can connect with a large number of
internal equipments and it also support the work like networking system.
It can support up to 32 drivers (transmitter) and 32 receivers while RS-232 can
connect to only 1 transmitter and 1 receiver.
3. The distance that RS-485 bus can connect to the equipment is as far as 4,000 feet
or 1.2 kilometre while RS-232 is limit to only 50 to 100 feet.
4. Baud rate of RS-485 is up to 10 Mbps (in theory only) compare to the baud rate
of RS-232 that is only 20 Kbps. At the longest signal-carrier line, the data will be
transmitted at the slowest baud rate.

Characteristic of RS-485 bus.

– The longest range of signal line is 4,000 feet with baud rate of 90 Kbps and
and with the length of 50 feet , the baud rate can be up to10 Mbps.

RS-485 wire
The signal carrier wire that can be used on RS-485 bus system are
twisted pair and triaxial.Twisted pair line is work fine on RS-485 bus and it also cheap. It comprise
of 2 signal wires that covered by an insulator.Below is picture of twisted pair cable.

Twisted pair cable

Twisted pair cable

Twisted pair can decrease low-frequency noise that arise from magnetic induction
of the carrier wire because twisting two wires cause the confutation of magnatic field
produced from each wire.Otherwise twisted pair also help to decrease the effect that come from external noise too.

Another wire that admired to use on RS-485 bus is Triaxial.
It can protect the noise from the external system but its price is more expensive
than Twisted pair.Triaxial cable is similar to coaxial cable except that it consist of two shield-layers
(inner shield and outer shield) while coaxial is consist of one shield layer.
(shield layer is used for prevent the external noise that may disturb signal transmission)
Both triaxial and coaxial have the “center conductor” that is a wire used for transmit
the signal. Below are the pictures of Triaxial cable and Coaxial cable.

Inner structure of coaxial cable

Inner structure of coaxial cable

Inner structure of Triaxial cable

Inner structure of Triaxial cable

Pictures of this article are come from


Incoming search terms for the article:


What are FPGA and CPLD?

              A FPGA or Field Programmable Gate Array is an integrated circuit designed to be configured after manufacturing, hence it is called field programmable. FPGAs contain programmable logic components termed as “logic blocks”, and a hierarchy of reconfigurable interconnects that allow the blocks to be “wired together”. This logic blocks can be configured to perform complex combinational functions or merely simple logic gates. In most FPGAs, the logic blocks also include memory elements. The FPGA has this definite advantage that it can be programmed or updated by the user at site for which the recurring cost remains insignificant in reference to an ASIC design. The ASIC designs also have a unit price tag in the higher side. Therefore FPGAs offer various advantages to numerous applications.
              The full form of CPLD is Complex Programmable Logic Device. It is a programmable logic device. It has the architectural features of both PAL and FPGA but less complex than FPGA. Macro cell is the building block of CPLD, which contains logic implementing disjunctive normal form expressions and more specialized logic operations.

The difference between FPGA and CPLD
              The primary differences between CPLD and FPGA are architectural. A CPLD has a restrictive structure which results in less flexibility. The FPGA architecture is dominated by interconnect which makes them not only far more flexible but also far more complex to design.
Most FPGAs have higher-level functions like adders, multipliers and embedded memories, also logic blocks, which implement decoders or mathematical functions. This is not the case with CPLDs.
              The major difference between the architecture of FPGA and CPLD device is that FPGAs are internally based on Look-up tables (LUTs) while CPLDs form the logic functions with sea-of-gates.

The difference between FPGA and Microcontroller.
              A microcontroller is computing system. Microcontroller has lots of hierarchical rules and commands over its input and output. It has its own processing unit. Microprocessor can perform loops, timings, conditioned branching, and calculations like a small PC under program control. Microprocessors are used where the operation is relatively complex but processing speed relatively less than FPGA. FPGA is only an array of gate that can be connected as the user wishes. FPGA is no computing system. FPGA are used for relatively simpler operations but higher processing speed in comparison to microcontrollers.

The applications of FPGA in Embedded System.
              The part played by FPGA in context of embedded system is getting more crucial every day. This is due to the reason that capability of FPGA is on the rise and now it has powerful FPGA design software as well. The digital video application domain is the main consumer for FPGA systems and is instrumental in increasing its market share as well as forcing development in FPGA for bigger spectrum of applications. In current years FPGA is finding its application for fast signal processing. FPGA is an embedded platform with soft processors. This makes it possible to design FPGA based system on design applications. The decreasing price and increasing size and capability combined with an easier designing software tools is positioning FPGA in the embedded system context to take up a crucial role.

Incoming search terms for the article:

In-circuit Emulator

In-Circuit Emulator
             For debugging an embedded system’s software, a certain kind of hardware tool is used, which is termed as in-circuit emulator (ICE). It is first among the embedded system debugging tools and is still one of the most popular one.

Example of In-Circuit Emulator
             The peculiar problem with embedded systems is it doesn’t have a terminal or in most of the cases, a display unit, therefore, making it difficult to probe the system to find what is wrong and debug. ICEs provide a solution to this typical problem of debugging embedded systems. The Emulator can track all the operations going inside a CPU under observation and brings it to the direct observation of the user through its interactive terminal. The ICEs not only provide the information about the targeted embedded systems working procedure, but it also provides a huge debugging resource. The ICEs are still one of the most popular tools as it is still unrivalled for its power and capability.
             The house of Microchip offers In-Circuit Emulators in three variants. MPLAB ICE 2000, MPLAB ICE 4000 and REAL ICE. All three of them are full circuit emulators and can be used with MPLAB IDE.
             The MPLAB ICE 2000 has a parallel interface along with USB converter, and it requires an emulator module. The drawback with MPLAB ICE 2000 is that the hardware to be tested must have a socket for production device or emulator module.
             I will not discuss about MPLAB ICE 4000, as Microchip is phasing it out. It is no longer advertised by Microchip and Microchip also does not recommended it for new designs.The REAL ICE is the most recently launched product in the market. It works on almost all flash based processors like PIC24, dsPIC, PIC etc.

The advantages of ICE
             All embedded systems have two parts, software and hardware. Though both of them are separate they are interlinked. The ICE makes it possible to run and check the software on the hardware it was meant to run. While doing so, the ICE also helps the user to identify the faulty codes.
             Nowadays, the debugging circuit integrated into the CPU can be accessed by the JTAG or BDM provided on the CPU. This new option helps the programmer to conveniently debug an embedded system with ease.The Integrated Circuit Emulator gets its name as it does emulate the CPU. Though it has a real processor fitted, the programmer still finds the system under test to be in his full control, and he can identify faulty codes, debug as well as load directly. This real time trouble shooting on a live system gives ICE an edge in the sphere of accuracy and comfort in use.The CPU used for development is not necessarily related to the host systems.The ICEs gives the option of debugging by single stepping. The phrase single stepping means that the programmer can run and observe the lines of a program step by step to find and modify error.The ICEs also gives the option of source level debugging where the programmer can see the program as it was drafted and identify the errors.

Incoming search terms for the article:

How about JTAG (How JTAG work)

JTAG stands for Joint Test Action Group and it is a standard to test integrated circuit (IC) connections. Suppose on a board, you have used integrated circuit and similar devices where each IC has hundreds of pins, it becomes very essential to examine connections and confirm the operation. For this purpose, you need a small tool called JTAG. Therefore, JTAG can be defined as a process to test connections on PCBs that are applied at the level of integrated circuit. JTAG is very useful for testing such connections and there are quite a few reasons for that. Using the customary in-circuit testers, it is quite tough to test the intricate circuits. These testers are unable to access BGA devices and small components and the physical space required by these devises also plays a limitation factor. On top of that, board testing has become quite expensive and all these factors ensure that JTAG is the best solution to triumph over the intricacies related with physical in-circuit testers.There is no need to use any physical probes for testing interconnects amid a board’s built-in circuits. This is definitely a great plus for using JTAG, as there is no need for any added personalized testing tool.

How JTAG works
If you have a JTAG enabled device with a boundary-scan cell for every pin, you can test the interconnects between integrated circuits easily. A boundary-scan cell is capable of reading and setting data of all the pins. With the device, you can connect the boundary-scan cells and start to transfer the data serially into the cells. Scan chain or scan path controls this process of serial shifting of data and this is the major functionality of JTAG interface.

JTAG interface
Generally, huge number of test vectors is required to initialize the entire devices. If you are using JTAG, there is no such need. The three major benefits of using JTAG devices are bigger diagnostic competence and higher test coverage, shorter time for testing, and minimum cost of equipments. This is not all, JTAG is also very useful in the electronics industry. JTAG has great usage in the filed of programming and debugging. Several FLASH memories, microcontrollers, FPGAs and comparable devices can be programmed by using the JTAG interface. Same interface can be used for the debugging purpose as well. Therefore, JTAG interface is a boon to the electronics industry. Even though plenty of variations abound with the JTAG header on the board, it is not a complex process. Any JTAG interface is compatible with the standard JTAG signals and boundary-scan software.

JTAG connectors for games
You can also use JTAG connector to play Xbox 360. Playing game is loved by almost everyone as it is one of the best pass-time activities and stress buster. You can choose from a diverse selection of games, but the problem could be high price factor. You can make use of JTAG connector and play full games without playing full money. The JTAG cable can establish connection with USB or any parallel port of your computer for excellent connectivity and access.

Below is the video introduce about JTAG boundary scan

This article is only the introduction of JTAG , if you want to study in deep about jtag , please visit the following urls…

The Role of JTAG in system debug & test throughout the embedded system development lifecycle
JTAG tutorial from Corelis
JTAG tutorial in PDF format from Amontec

Thank you very much

Incoming search terms for the article:

More on Arduino part II

Pyxis OS for Arduino.

It is open source OS for Arduino. The OS and other applications can be run from sdcard as it store the OS and application in “.bin” file (like the image file on computer or mobile phone).Pyxis also provide the FAT library
called “PFAT” for read or write EEPROM card (turn the EEPROM into a harddrive).

The demo project use two microcontrollers. One for manage the user interface part
(use arduino mega) and another one use mega2560 + dataflash for handle the whole display
(it’s on the touch screen shiled board).Visit Pyxis for more information about this interesting OS.

Below is video from youtube for the demo of Pyxis OS

Thank you,
Jitkasem Pintaya.

Reference site:
1. http://www.skewworks.com/
2. http://www.electoday.com/bbs/viewthread.php?tid=4233&extra=page%3D1

More on Arduino part I.

More on Arduino part one.

It is the library for produce square-ware tones.It can use with ATmega8,ATmega168/328 and ATmega1280
microcontroller series.With this library,you don’t need to use DAC (Digital to Analog onverter) for building the
tones.This library use timer and PWM of microcontroller, so it will affect the usage of other PWM outputs.

It is the library for make your Arduino be able to interface to the external memory chip.It’s suitable for
use in storing the voice file or use in datalogging application.The original code of this library is come
from Atmel butterfly.

Arduino contest
Finished contest from Instructables website.This contest has a lot of interesting Arduino projects and
also contain the instruction to describe about how to make each project too ( but I don’t know that it give the
source code relate to each Arduino project or not).

ArbotiX Robocontroller
It is control board for robots.It use AVR (ATMEGA644p) as main microcontroller and also contain the Xbee module in order to communicate with the robot by wireless radio signal.The designer of ArbotiX board also designed the library that used for interfacing with the motor of Bioloid System (this will help in controlling the motor easier).This board can be used with various Bioloid motor series (Bioloid motor is “digital servo” motor, it can be commanded via RS485 or even can communicate via Xbee too).

Multi-touch Technology

This technology is very interesting.The person who inspire this technology is Jefferson Y. Han.He is researcher at NYU (New York University).To know more about him, please visit these links.

1. http://en.wikipedia.org/wiki/Jeff_Han
2. http://cs.nyu.edu/~jhan/

This is Multi-touch presentation video.

The theory that used in Multi-touch is Total internal reflection.

Multi-touch Do-It-Yourself projects.
1. http://www.maximumpc.com/article/features/maximum_pc_builds_a_multitouch_surface_computer

2. http://www.instructables.com/id/S1D8LVAF3ER7VNE/

Reference site :
1. Ayarafun
2. Electoday webboard



Bluetooth is communication system of electronics device in short-range (about 5-6 metre) and without wire.It support Full duplex.Bluetooth was designed to be high speed communication. It can be used for sending the data between computer and mobile phone , mobile phone and smalltalk , etc…
Bluetooth use 2.4 Ghz radio frequency signal and the rate for sending the data is about 1 Mbps (one Mega-bit per second).This communication rate (1Mbps) make it suitable for sending digital sound signal with a little delay. Compare with wireless lan (WLAN), WLAN can send the signal within wider range than Bluetooth can but the advantage of Bluetooth over WLAN are “it is smaller,easy to install to the device and it consume less energy (about 0.1 watt)”.However Bluetooth is suitable for sending the streaming data signal more than other types of signal (such as sending the voice data signal from mobile phone to bluetooth headset).

Look at the video below for the pros and cons of Bluetooth.

Look at the video below for how does Bluetooth work.


Xbee is one of popular wireless module in the world. It support two-ways communication (one Xbee
module can send or receive the data to/from other modules).The different between Zigbee
and Xbee is Zigbee is name of industry standard while Xbee is name of Zigbee standard
module produced by Digi
.Xbee can communicate via UART (TX,RX signal) and sending the signal (data) within the short range is very accurate.Xbee module have an internal IC that help
in encoding the data.The main advantage of this module is it consume low watt (low
electric power),small size and cheap
.Although it is restricted to send data within short
distance, it can send data from one node to another node and this feature make it
appropriate for making wireless sensor network.

The below image is the picture of xbee module

Picture of Xbee module

Picture of Xbee module

Below is useful links for doing Xbee on Arduino

Programming Arduino Wirelessly

Arduino Xbee Interface Circuit (AXIC)

XBee radios

Arduino+XBee+LCD Info Device

Thank you.

Incoming search terms for the article:

Recommend GUI library for embedded system


It is GUI tool for embedded system that support various kinds of microcontroller and display controllers.The recommend microcontroller for use with easyGUI library should has a performace more than 10 MIPS.easyGUI support Monochrome , Grayscale and color display with different color level (i.e. Grayscale with 4,16,32 and 256 gray level or RGB color with 8, 12, 16, or 24 bits/pixel).It also support all sorts of compilers (the compilers of its supported-microcontroller) and its library is in C language only.You can view more information at easyGUI Website.

Sample picture from EasyGUI website.

Sample picture from EasyGUI website.


It is the software for building GUI (windows application) in various platforms (platforms of Target System) such as Linux,Windows,T-Engine,Solaris,MacOS X,uCLinux and others (visit here for support platform of WideStudio).It can create application using C/C++,Perl,Java,Python and Ruby.It also support OpenGL (Include OpenGL library,see its features here).WideStudio application builder (Its development environment) can be run on Windows,Linux,MacOS X,Solaris, etc.
WideStudio is open source and free (under MIT/X Consortium license).WideStudio Application Builder can be installed as Eclipse plugin too.You can view the example applications (windows/GUI) that was built by WideStudio by visiting here.

In my opinion I think WideStudio is suitable for building GUI application that will be run on Japanese Embedded Platform due to it support T-Engine and ITRON target system but not support other western embedded platforms.

WideStudio running on T-Engine Platform

WideStudio running on T-Engine Platform


It is embedded graphics library designed for use in real-time embedded system based on linux such as eCos,uClinux and other embedded linux kernels.It is light-weight GUI system that can be used on low-performace embedded platform too (refer to the website,it can run on 30MHz system with 4 MB of RAM).MiniGUI is one of widely used embedded gui system (you can see it on various types of electronics product from China or other countries).It also has both free version and commercial version.Please visit miniGUI.org for the free version but if you want to pay for it, you can visit miniGUI.com for commercial version.

MiniGUI 3.0 demo on YouTube


It is graphics library intended to use on rather high performance embedded system like Renesas SH7722 or others (see this page for 3rd party embedded hardware that support DirectFB).It’s high performance graphics library run on Linux platform only.DirectFB also provide Renesas SH7722 driver in order to use with this graphics library.



Microchip Graphics Design Resources

I don’t know much about graphics library from Microchip. I know it only used for Microchip PIC series, however you can view more information by visiting MICROCHIP website.

Incoming search terms for the article:

Embedded news

Today I only update some news relate to Embedded System. You can view the news by clicking the tab Embedded News above or clicking this link.

Arduino FAT

Nowadays Fat storage device has an important role for Embedded System.Many
electronics manufacturers also integrate the unit for read Fat file system with their
products such as digital camera , mobile phone , MP3/MP4 player , GPS receiver , etc…

There are many storage device on the market that use Fat file system such as harddisk,
SD card,MMC card,SDHC,Micro SD card,Mini SD card, etc. This article mention about
only SD card.

SD Card (Secure Digital Card)
It is storage equipment that use nand flash memory to store the data (non volatile
memory).SD Card was developed from MMC card.Its body is slightly thicker than MMC card.
It can have a capacity up to 4 GB while MMC card has a maximum capacity of 512 MB.The
speed of reading and writing of SD Card is faster than MMC card.Furthermore SD card can
be locked to disable any data-writing to the card by implement security system to the
card.SD Card also has high capacity version called “SDHC”.SDHC can have the capacity from
4 GB – 32GB.Mini SD or Micro SD card also has the same principle as SD card but its size
is smaller than normal SD card.


OK, now back to the story corresponding to this article topic “Arduino FAT”. For
anyone who want to develop FAT project and don’t want to spend too much money I
suggest you develop your project with Arduino because its development enviroment is very
cheap (the board and programmer is cheap and easy to find, the compiler is free).Below is
the resource on the internet that concern with FAT project for Arduino.I think they are
practicable up until now.

It is SDFAT library for arduino to make vfat sd-card (library of SDFat is come from
elm-chan project).

Another Far file system for Arduino that use u-fat file system.

3.Forums from arduino.cc that I found interesting.
3.1 SD card interface
3.2 SD card read/write with Arduino

4.MicroSD module for Arduino
4.1 wireless sensor networks
4.2 blushingboy

5.MMC/SD/SDHC card library

6.fat + sdcard

7.FatFs Module Application Note

I also have another article about FAT library for STM32, you can view it here.

Thank you,
Jitkasem Pintaya.

Reference site:
1. http://www.ayarafun.com/2009/04/howto-interface-arduino-with-vfat32/#more-252
2. http://www.electoday.com/cgi-bin/yabb2/YaBB.pl?num=1232963016
3. Picture from http://www.interfacebus.com/Secure_Digital_Card_Pinout.html

Incoming search terms for the article:

RTOS for AVR part two

I continue writing this article from the last article.You can scroll down this page to see the article about RTOS for AVR part one.

1.Femto OS
It is the real RTOS for AVR.It had been ported to many series of AVR microcontroller

(44 AVR devices).The task can be specified to be preemptive or cooperative task.It has

lots of example code and its documents is very good (The document is integrated into the

source code as comment).

2.pico os
It is the RTOS that support large set of features and can be ported to various type

of microcontroller other than AVR.Currently it only support MegaAVR 32 (8 bit

microcontroller) but may be can config to support other AVR devices too.The source code

for AVR can use with WinAVR or AvrStudio 4.

Protothreads can use on AVR too.Please click here to read my last article about


Contiki is one of widely used RTOS.It is multi-tasking operating system that designed

for microcontroller with small memory.
It is suitable for implement wireless sensor networks because it provide IP

communication.Its processes use protothreads to provide threadlike programming style.

It is RTOS designed for wireless sensor network.This RTOS was written in the nesC

programming language.The task is non-preemptive and task is run depend upon FIFO order.

It support Atmel AVR 8 bit (also support Atmega128).It has preemptive and cooperative

scheduling mechanism.The disadvantage of this RTOS is that it is not well tested (may be

there are some bugs).The website said that this RTOS can be installed in 16 bit and 32

bit microcontroller too.

7. µC/OS-II
This is well-known RTOS used widely in the world, so I don’t talk about it.
You can find the information relate to µC/OS-II at its website by yourself.

8.csRTOS or 4AvrOS
This RTOS is cooperative schduler.
It support ATmega88/168/16 and other AVR series.It is single-stack RTOS that require

small memory area.This RTOS was written using WinAVR C compiler.4AvrOS is the new version

of csRTOS (Most features are remain the same).

9.XMK (eXtreme Minimal Kernel)
It is a preemptive and multithread kernal suitable for small microcontrollers (8 bit).However it can run on 16 or 32 bit microcontroller.This RTOS implemented the features such as mailboxes, memory pools, file descriptors, hardware device drivers, and TCP/IP networking.

And this is the end of the two series “RTOS for AVR” microcontroller.

Thank you so much,
Jitkasem Pintaya.

Reference site : Electoday

Incoming search terms for the article:

RTOS for AVR part one.

This article is concern with the rtos that can port to AVR microcontroller.I list only rtos that is open source
and free for donwload.You can look for them as below…

1.AvrX Real Time Kernel
It is lightweight and support important features of RTOs such as Message Queues, Semaphores , fully
preemption etc.It is cooperative kernel too.You can download the document of AvrX here or here.

CocoOS is also lightweight and it is cooperative kernel.It can use with ATmega8/16/32.It is a cooperative task scheduler and its structure is small and easy.You can download the documents of this RTOS here
or here.

This is a popular RTOS is this world.It can port to various kinds of microcontroller , so I don’t talk about
it.You can find the information at its website yourself.

4.YAVRTOS (Yet Another Atmel® AVR® Real-Time Operating System)
This RTOS is only suitable with ATmega32 (It was tested only with ATmega32).It implemented mailboxes,
semaphores and mutexes.The disadvantage of YAVRTOS is that it’s not support defining task prioriy and the mutex mechanism of this RTOS is weak.I think disabling interrupt every time when want to access a shared resource is not a good way to do and you should avoid doing that.

pC/OS is RTOS that was developed base on uC/OS 1.00 (Its kernal based on uC/OS 1.00).It can port to ATMega32, AVR32 and ATMega128.Its document is easy to read.

It is non-preemptive kernel.It has memory management function together with task and time control functions.uSmartX is very old (it exist since 2006).This RTOS is suitable for small-footprint embedded system because of it consume little memory of the system.


COMATOS is the RTOS for ATMEL microcontroller (COMATOS is abbreviated from “COrnell Miniature ATmel Operating System “).It is simple,lightweight (Use memory not exceed 2K of program memory) and also non-preemptive RTOS.The source code has boht Assembly version and C version (THE C version is written for AT90S8515 ).Its website has a tutorial for using this RTOS but in Assembly language.

It is the project of Task Dispatcher.It contain C source code for implement this project and it also have
a PDF document to describe the souce code too.

It is the unique operating system for AVR.It was written in C for WinAVR (GCC) that can use optinally with Atman IDE.It contain the Scheduler for control each process (Cause process to run when desired) and inter-process communication like Semaphore.

The article “RTOS of AVR” is not end by this post.In the next post I will write about RTOS for AVR again as the episode two.

Want to know more about IPC (Inter-Process Communication , please visit wikipedia)

Reference site : http://www.electoday.com/bbs/viewthread.php?tid=1451&extra=&highlight=avr&page=1 (This topic started by wlasoi)

Thank you very much,

Incoming search terms for the article:

Introduction to RTOS.

RTOS is part of program (Or source code) that was written for manage the CPU
usability of microcontroller and it help to improve the efficiency of CPU in
managing the tasks or process.RTOS is somehow make the coding more complex ,hard to read
and hard to understand, so some people don’t like to use RTOS on their embedded
project but it has some advantages too.The general RTOS features are as

1.RTOS is a normal program so it must use RAM and program memory of your

2.RTOS has an important role in time management of embedded system because
our simple program run sequentially command by command from the top to
bottom and then cyclic to the top again (it usually operate like this all the
time you run the program) but if I assume there are some tasks that aren’t
necessay to run often as the main loop run or there are some tasks that require
the certain period of time to run, so if these two conditions correspond to your
program requirement I suggest to use RTOS , it will help you so much (at
least it better than you write the code to handle these situation yourself).
RTOS is not so hard.If you understand its mechanism then it is a fun thing. I
think RTOS is not more difficult than we can learn.

3.The importance of RTOS is depend on the number of features your application
have to do.I will show you an example of temperature data logger that have
features like this…

– Need to store the measurement data into SD-Card.
– Show the measurement data on the color lcd screen.
– Can communicate with PC via USB while datalogger is working to send data to
the program that running on PC and plot the graph.
– It can specify the alarm temperature in real-time by using the touch screen
as the input device to input the temperature.

If you design above datalogger by using only general ISR (Interrupt
Service Routine), maybe you will got stuck and your code will look
cumbersome.The using of RTOS is suitable for handle this kind of datalogger
because RTOS can apply the feature of multitasking for separate the code into
3-4 task such as DAQ_task , UI_task , USB_task etc.Each task has a specific
responsibility and run asynchronously with other tasks.Every task communicate
with each other by using the message such as mailbox , message queue (They
are data structure normally declared as global variable and used for store an
information that each module in the system can obtain and use together).

The name below is open source and non-commercial RTOS that you can use and
modify them to make your embedded project more reliable and powerful.

2.µC/OS-II Kernel from Micrium
6.CooCox CoOS

List above is only some examples of popular RTOS but there are hundred or
thousand RTOSes exist in the world.

For more information about RTOS please visit


Reference site : http://www.electoday.com/bbs/archiver/?tid-1644.html

Thank you,

Incoming search terms for the article:

FAT library for STM32.

FAT Library that normally used for developing small embedded system project
in nowadays are FATFs and EFSL.

The story for today is about FAT Library for ARM STM32 (Sorry for the person who want to use FAT Libray with AVR, I think articles relate to FAT Library with AVR is much more than STM32).

Let’s start with FATFs.FATFs support FAT32, Long File Name but you have to write Disk I/O mechanism by
yourself (Disk I/O is the part of Low level interface).There are two examples for FATFs that are ready to
1.Project by Martin Thomas.This project is a complete project to access FAT memory card with STM32 via SPI-
interface. And you can also download the code here.

2.FAT project from Domen Puncer.Domen had posted his answer to the STM32 Forum (Topic about SDcard code).You can view the original source forum that he posted his answer here.And you can also download the source code here.

Domen described that his code was separated into three parts as follow
– SPI Interface
– SD card code
– FATFs interface (It is the Disk I/O part for FATFs)

I’ve ever looked at his code and I think that his code is easy to understand than others.

For the person who use EFSL I have an example project that use EFSL from Newnesr.Newnesr also posted his project to the STM32 Forum too, and you can look for the original forum that he posted his article here.The source code for his post can download here.

You can arbitrarily choose the above two FAT Libraries.But I have one thing to tell you that EFSL is not
continue to update anymore and it is not support SDHC while FATFs is continuously developed for
improve its features and it has a test result with SDHC too. FATFs have a lite version that is sub-set of FATFs
call “Petit FAT”.You can use Petit FAT as a read only FAT File System only. For more information about it , visit here.

I got this article from http://www.electoday.com/bbs/viewthread.php?tid=2094

Thank you,
Written by

Incoming search terms for the article:

Arduino resource on the web.

For the person who love Arduido, web list below is the resource related to Arduido I found they are very useful.

Arduino Interfacing SD / MMC Card with SPI ( Arduino FAT library )
1. Arduino Stand Alone
2.Adding a MicroSD flash card module to a SquidBee
3. SDMMC learning from arduino.cc
4. Wavehc (Arduino Library for the Adafruit Wave Shield)
5. SD card read/write with Arduino Forum
6. Download SD library at this link
7. SDcard.zip on MediaFire

Arduino development software
1. Arduino 0017

xbee for arduino
1.Xbee Arduino from Google Code

GPS Arduino
1. GPS shield download stuff
2. TinyGPS A Compact Arduino GPS/NMEA Parser

Arduino Web
1. Webduino (Simple and extensible web server for Arduino and Ethernet Shield)
2. Arduino.cc

1. Arduino Command in PDF
2. Squidbee board
3. Arduino on the clothes
4. Top 40 Arduino Projects on the web
5. Infrared receiver module
6. Setting up an Arduino on a breadboard
7. Burning the Bootloader without external AVR-Writer
8. Arduino board from Sparkfun
9. Using Arduino with Wiznet I
10. Using Arduino with Wiznet II
11. Funnel (The Arduino competitor)
12. Arduino forum
13. Arduino Bootloader
14.Download the ebook for Arduino experimenter (Arduino for Beginner) Source : Adafruit

Reference site : Electoday.com

Thank you,
Jitkasem Pintaya.

Incoming search terms for the article:

Introduction to Arduino.

Arduino is the tool used together with computer to cause the computer can receive
external signal and also make computer can send signal to control the external device
more effective than using computer alone.

The Arduino board is designed from single-chip microcontroller (Normally use AVR 8-bit
microcontrooler).It also have a software used for writing the program or command to
control the board.

Arduino can be adapted to make an intelligent tools such as the tool that can receive the
signal from switch or sensor,tool for control the lamp or motor,tool for communicate with
wireless device etc.Arduino project can work alone or work joinly with PC (work by
interaction with the program that run on PC).The board can be assembled by yourself or
buy the ready-to-use development board from vendor.It is the open hardware so everyone
are able to clone it but must use other label name.The purpose of Arduino project is to
make the low cost and easy-to-use tools for hobbyists who want to develop their simple embedded
project and don’t want to use the expensive microcontroller with complicated development

Why Arduino??
In market of microncontroller, their are many choice such as Parallax Basic
Stamp,Funnel,Pidgets,MIT’s Handyboard and from other vendors that have characteristics
similar to Arduino (That is making the board easy for develop project and underline on
programming for control the microcontroller).But Arduino has an obvious different points
from the others as you can see below…

1. Board is not expensive when compare with other boards.The cheapest Arduino board can
be obtained by making it ourselve.If you want to buy it,I think ready-to-use Arduino
board is not over $30.

2.The software used for develop Arduino can work on many platforms (Windows,Macintosh OSX
and Linux).It is easy to use for beginner and have fully capability with respect to the
professional developer’s requirement.

3.Arduino software was published as an open source.You can modify the software to
increase its capability via C++ library.If you want to deeply study its software, you can
go across to use AVR C (AVR C is prototype of Arduino) and you can add AVR-C code
directly if you want.

4.Arduino is open circuit (Open Hardware).It use the microcontroller from Atmel (ATMEGA8
and ATMEGA168).You can extend the hardware according to your demand.The circuit of Arduino board was published under the Creative Commons License so you can study about its machanism for free.

Reference site : 1. www.logicthai.net
2. http://store.fungizmos.com
3. www.10logic.com



Thank you,
Written by
Jitkasem Pintaya.

Protothreads (A lightweight thread for embedded system).

Protothreads was designed to use and work in the system that have limitation
in memory such as Embedded System or Sensor Node.It exclude the Stack
(Stack is used for store the working status of each thread) and it also support
the code that working in linear style on system that operation is base on event
(Event-driver).Otherwise it can work in cooperate with RTOS or work stand-alone
without RTOS.

Protothreads is the thread that cut out the Stack (Stackless), so it is very
small but it remain the top context of working in the system.The responsibility
of Protothreads is managing the status of complicated system or doing Multi-threading
because Protothreads have the instruction set for handling the thread.

The qualification of Protothreads are as follow…
1.Protothreads was written in pure C and no Assembly.
2.Can be used with OS or used without OS.
3.There is no error in manipulation part,use no error-prone functions.
4.Use very small RAM size.
5.Support waiting or blocking the execution part without doing Multi-threading or

For more information about Protothreads please visit
Protothreads website
Protothreads document in PDF
Download from Sourceforge

Thank you,
Jitkasem Pintaya

RTOS for small embedded system.

TNKernal is the RTOS (real time operating system)
that was developed by Yuri Tiomkin (Russian).
The distinctive point of this RTOS is its APIs
that similar to µITRON 4.0 (Japanese RTOS developed
by Prof.Ken Sagamura).TNKernal can be ported to various
kind of micro controller such as Microchip PIC24/dsPIC,
ARM Cortex-M3,ARM LPC21xx/22xx,Freescale Coldfire,etc.
It also compatible with many Toolchanins from the free one
(Such as GNU Toolchanins) unto the expensive commercial
Toolchains.The current version of TNKernal is 2.5 and you
can download it at here or visit its website here.

TNKernal is open source and it is FREE!!!.
I think this RTOS was suitable for the small series
micro controller especially ARM and PIC.So if you’re looking
for the small RTOS that flexible for every small embedded
task and has complete basis mechanism of ordinarily RTOS,
TNKernal is your choice.

Salvo RTOS is RTOS suitable for low performance and low cost
embedded system because it requires little
program and data memory, without task stacks.
It was written in C.It support various kind of micro controller
(look for the supported micro controller here).Salvo is not
free but it has a demo version to download.It supported
many kinds of compilers (depend on the platform).It’s
not only can use on embedded platform but also x86 platform
(Using MS Visual C++ as compiler).In my opinion I think
Salvo is easy to use.It hide the complicate structure of
RTOS mechanism and provide you the easy to understand interface
that you can use for build your project (So you can emphasis on
your project without worry about the RTOS structure).
The current version of Salvo RTOS is 4 and you can find more information about it here.

What is jtag and how about arm jtag.

Today the story is about JTAG for arm microcontroller.

Jtag is an important equipment use for programming (flash) and debugging
various microcontroller series.This story is about jtag for arm microcontroller.
Nowadays normally used jtag is divided in to two interfaces. One is parallel and the
other one is USB.These two kinds of jtag have and advantage and dis-advantage that is
the USB-jtag is faster and it can connect to almost PC of today but of course it is
more expensive than parallel jtag.Parallel-jtag is an old format jtag but it can still
be used upon now with the PC that have a parallel port.

Arm jtag is also can be divided in to two group (USB and parallel).On the
market Arm jtag has a various name that is J-link , U-link , R-link.Thease kinds of
jtag is categorized depend upon the IDE that use for debugging and programming
your current arm microcontroller.As an example , suppose that you use IAR Embedded
Workbench for debugging you LPC2378 development board , in this case you much use
the J-link that is supported by IAR Embedded Workbench.The X-link that I mentioned
above is jtag that is not open-source and was invented by the microcontroller software
tools company. Arm jtag has an open source too. It is call OpenOCD.OpenOCD is one kind
of jtag that can be used to flash and debugging arm microcontroller with the free
software development tool such as Eclipse.OpenOCD also have USB or paraller interface.
To setup the IDE used for OpenOCD must integrate many tools together. Such as Eclipse as
the main IDE, arm-gcc compiler ,arm-gcc  linker and the gdb server. To read more about
OpenOCD please visit –>



To select which Arm jtag that is suitable for you is based on the software IDE and
software programming and debugging tools you use to develop that arm project.But the normally Arm jtag
selection is as follow

IAR Embedded Workbench for ARM -> use J-link.
Keil MDK-ARM  , Keil uVision for ARM (ARM RealView)  -> use U-link.
Ride7  IDE  from raisonance -> use R-link (Normally used for STMicroelectronics microcontroller series) .
Open source IDE -> use OpenOCD jtag.

Below is some pictures of these various kinds of Arm jtag.

R-link from Raisonance

R-link from Raisonance

U-link from KEIL

U-link from KEIL

J-link from IAR

J-link from IAR

OpenOCD Jtag

OpenOCD Jtag

Thank you so much.

Good ARM usb openOCD jtag debugger and programmer

Today I write an article about the JTAG for ARM.It is an open-source JTAG or openOCD. The article below is the introduction of the good JTAG I found from www.sparkfun.com website (It was made from OLIMEX).

ARM USB openOCD JTAG is a device that used for debugging the ARM series microcontroller, it also can be used as the programmer too. This ARM USB openOCD JTAG is combined with RS232 virtual COM port and power supply adapter. This item allow you to debug your ARM boards with full featured virtual RS232 port with all modem signals on it. It also have a power jack that can provide the tree range voltage that is  5V , 9V and 12V DC via jumper selection. It include the CD that contain the software neccessary to perform the ARM development and debugging with this USB openOCD such as

– Eclipse IDE using Yagarto and Codesourcery as toolchains.

– ARM USB openOCD driver for Windows.

– Various ARM sample project (include source code) that can use the ARM USB openOCD as the debugger and programmer.

– A good documents and instruction about how to use this ARM USB openOCD with Eclipse IDE .

– Other utilities software that can be used to integrate with the ARM development IDE and can work together with ARM USB openOCD (such as CYGWIN GNU  C/C++ compiler,  GNUARM GNU C/C++ compiler).

– OpenOCD for JTAG debugging software.

(*almost the software list above is open-source)

– This item can be used with the CrossWorks for ARM development IDE too. Please visit the Olimex website for more information about how to use it with CrossWorks for ARM.

For more information about its hardware specifications, you can visit the two links below.



For the person who develop ARM project on an open-source platform, This JTAG would be suitable for you.


Incoming search terms for the article:

Interest ARM7 and ARM9 embedded development board

People who love an Embedded System must ever written a program to run in the microcontroller.Today I will suggest  some good embedded development board for people who interesting in ARM7/ARM9. These development board is rather high performance an all of them are 32-bit platform, of course they are not too expensive for you to buy them!

For a long time I have developed ARM7 embedded system , I think the ARM7 LPC2478/LPC2378 from NXP is a good one to study and the development board I recommand is as below

From ebay.com

1. http://tinyurl.com/nllj2g


The above link may be changed or deleted, so I recommend you to search for the arm7 from the seller name “esky-sh” instead because this seller is selling ARM7 development board.

From sparkfun.com

1. http://tinyurl.com/losvak (this board can develop with uClinux as well as C for ARM)

From thaieasyelec.com

1. http://tinyurl.com/mgd667

About the ARM9 development board , I found them a lot on ebay and almost of them used the Samsung S3C2440 as the main MPU (microcontroller processing unit) as below.

1. http://tinyurl.com/mkho5e

but I also recommend this seller  ->>

that is esky-sh

Another interesting one is the product from www.tincantools.com. The development board from Tin Can Tools was developed as the separated embedded module so It will be easy for integrate the other embedded module to it because it come with prototyping board!!!

Of course, you can find this interesting board from www.tincantools.com