Archive

Author Archive

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: ,

User Acceptance Testing.

November 10th, 2009 admin Comments off

UAT (User Acceptance Testing)

UAT is a sort of testing that usually done at the last step of software development process (before release the software to the market).UAT is done by user (the person who will use this software or person who possess requirement of software).It is the way to increase reliance and ensure that the software was designed correctly based on requirements.

Before doing UAT your software need to pass Unit Testing,Integration Testing,System testing and must solved the defects found in each of these testing phases (in practical, the defects relate to technical or logic of software should be fixed before sending to UAT).The defects concern with appearance or color of software are acceptable during doing UAT.

Test Case is also need in UAT because it help doing UAT more effective. Otherwise the test case should be designed on the perspective of Bunsiness Flow and Business Logic that based on requirement. The tester will emphasize on testing the software like they are real user.

Procedure for doing UAT.
One important factor you must focus on while you doing UAT is Test Environment.The test environment should be similar to Production Enviroment as much as possible.

Basic step of doing UAT are as follow…

-Make the testing plan for UAT.
-Design the test cases for UAT.
-Set up testing team for operate UAT in accordance with test cases.
-Operate UAT.
-Record Bug or Defect found during operate UAT and hold a meeting in order to summarize anything we have to modify.
-Fix bug or defect found in previous step and then do Regression Testing.
-Finish UAT, sign off.



UAT is classified as Black box testing.The test cases for UAT normally designed according
to requirements of user (after finish requirements definition phase). Business Analysis
team or System Analysis team are also provide the inputs used for creating the test cases
and it should be described using simple language which easy to understand because the
tester may be the person other than programmer or tester and they don’t know the
technical phrase.

Visit these site for more information about UAT (User Acceptance Testing)
-Wikipedia
-eHow
-Exforsys INC

Reference for this article:
-http://www.welovebug.com/user-acceptance-testing/what-is-uat/#more-1503

Thank you,
Jitkasem Pintaya.

mas_ta

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: , ,

How to do white box testing

October 13th, 2009 admin Comments off

The article for today is about white box testing.I had written article about white box testing in this blog but that time it was only introduction of white box testing.This article concern with how to do white box testing.

The procedure of White box testing is normally saparated into 3 topic as follow

1.Statement Coverage
It is the testing to verify that all instructions or code must be executed at least one time.We can specify one or more than one test case for doing statement coverage testing (there may be a chance that one test case is not cover all the code we need to test).Below is an example demonstate how to do statement coverage testing.

Suppose you have a piece of code to test like this

Code1

Code1

If you determin ‘C’ as the test case then the coverage reach 100% (pass through all line of code) and only one test case is sufficient for doing Statement Coverage for this code.

Advantage of Statement Coverage.
1.To ensure that all source code can be reached at least for one time.
2.It is suitable for making Performance profiling because it can be applied directly to object code without processing source code.

Disadvantage of Statement Coverage.
1.It is insensitive to logical operators such as OR (||),AND (&&) etc.
2.If your source code have a lot of IF-ELSEIF-ELSE statements or contain consecutive switch labels then the test case used for doing Statement Coverage will be increased respectively.

2. Branch Coverage (Condition judgment Coverage)
It is the testing to verify that all branches and instructions must be executed at least one time (Concentrate on testing to cover every branches or decision points in the code).It is the easiest way to perform testing of path or workflow of program.

Please consider the code below and its explanation to understand the operation of Branch Coverage testing.

code2

code2

In the above code we need only two test case to cover all the branches (also all instructions too), they are…
Test case #1 : Input n1 = 1 , n2 = 1
Test case #2 : Input n1 = 2 , n2 = 0

Advantage of Branch Coverage.
1.To validate all branches in the code can be reached and ensure that no branches lead to abnormal of the program’s operation.
2.It eliminate problems that occur with Statement Coverage testing.

Disadvantage of Branch Coverage.
1.There may be other condition that can be used for decision making.For the example, statement “if((b == TRUE) || functionA())”, in this statement we can define only test case with “B = TRUE” and this test case is cover this branch but functionA() isn’t tested.

3.Condition Coverage/Multiple Condition Coverage

It is the testing to verify that all condition expression within each branch will be tested (the true and the false condition of each sub-expression within the decision branch must be tested at least one time ).
It is more intensive testing than Branch Coverage and Statement Coverage.Multiple Condition Coverage has detail of testing more than Condition Coverage.Its test cases are larger than test case of Condition
Coverage because it ensures that all possible combination of conditions of sub-expression within each branch must be tested.

Please consider the code below for Condition Coverage testing.

code3

code3

If you want to test above code by using Condition Coverage you must specify two test
cases to cover all sub-expressions in this branch.The test cases are as follow…

Test case #1: Input n1 = 60 , n2 = 70
Test case #2: Input n1 = 40 , n2 = 110

If you want to test above code with Multiple Condition Coverage you must specify four
test cases to cover all combination of possible condition of sub-expressions in this branch and the test cases look like these

Test case #1: Input n1 = 60 , n2 = 70
Test case #2: Input n1 = 60 , n2 = 110
Test case #3: Input n1 = 40 , n2 = 70
Test case #4: Input n1 = 40 , n2 = 110

Advantage of Condition/Multiple Condition coverage.
1.It is very thorough testing and the bugs are normally found by this kind of testing.

Disadvantage..
1.If the decision branch contain lots of sub-expressions or has very complex boolean expressions , the tester will have to define a large number of test cases.

Thank you,
jitkasem pintaya.

Reference site:
1.MindBlaze Blog
2.Bullseye
3.The paper from utwente.nl by Arnold Zanderink

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: , , ,