Archive

Archive for the ‘Embedded’ Category

More on Arduino part II

February 4th, 2010 admin No comments

Preview on Feedage: software-design-and-embedded-system-toolsSoftwareTop BlogsBlog DirectoryOn our way to 1,000,000 rss feeds - millionrss.comBlogadr.com - Listed (add your blog to Blogadr.com)

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

Your Name (required)

Your Email (required)

Subject

Your Message

Answer this
3+8=? 

Categories: Embedded Tags: , , ,

More on Arduino part I.

December 13th, 2009 admin No comments

More on Arduino part one.

- Arduino-tone
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.

- Dataflash
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

November 25th, 2009 admin No comments

Bluetooth

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

November 18th, 2009 admin No comments

Xbee is one of popular wireless module in the world.It support Full duplex (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.

For more information about Zigbee , please take a look at the video below…




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.

Categories: Embedded Tags: ,

Recommend GUI library for embedded system

November 2nd, 2009 admin No comments

easyGUI

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.

WideStudio/MWT

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

MiniGUI

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

DirectFB

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.

directFB

directFB

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.

Embedded news

October 28th, 2009 admin No comments

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

October 21st, 2009 admin No comments

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.

comparision-of-sd-mini-sd-microsd-ca

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.

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

2.Arduinonut
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

Categories: Embedded Tags: , ,

RTOS for AVR part two

October 7th, 2009 admin No comments

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.

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

Protothreads.

4.Contiki
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.

5.TinyOS
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.

6.iRTOS
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

Categories: Embedded Tags: , , ,

RTOS for AVR part one.

October 4th, 2009 admin No comments

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.

2.CocoOS
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.

3.FreeRTOS
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.

5.pC/OS
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.

6.uSmartX
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.

7.COMATOS

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.

8.Jennaron
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.

9.OPEX
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,
Admin.

Categories: Embedded Tags: , , , ,

Introduction to RTOS.

September 28th, 2009 admin No comments

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
follow…

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

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.

1.FreeRTOS
2.µC/OS-II Kernel from Micrium
3.FreeOSEK
4.Tnkernel
5.eCos
6.CooCox CoOS
7.TinyOS
8.PICos18
9.AvrX
10.RTEMS

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

1.http://www.embedded.com
2.http://www.dedicated-systems.com
3.http://www.eg3.com/report-rtos/index.htm
4.http://www.eg3.com
5.http://www.edaboard.com

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

Thank you,
Admin