Thursday, November 24, 2011

Arduino Microcontroller control TCP/IP LAN Internet.

Arduino Microcontroller Board control device( LED ) via TCP/IP LAN Internet.
Now,we can make to control in 8 ch.

 Add Login to WebServer 

Arduino Microcontroller Board control device( LED ) via TCP/IP LAN Internet.

This project for test Arduino Microcontroller (ET-Base AVR Easy328 ) with TCP/IP Interface Board ( ET-MINI ENC28J60 ) to control device via TCP/IP, LAN and Internet.

In this VDO, present in Thai language.

Source code in C form

Friday, October 28, 2011

GLCD 128x64 with PIC18F4620

GLCD 128x64 with PIC18F4620 Testing 
This project is testing GLCD 128x64 with PIC18F4620 micro controller use CCS compiler.

Microchip PIC18F4620 Microcontroller
LCD Graphic Displays/Modules

#include    <18F4620.h>

#define     TxD   PIN_C6
#define     RxD   PIN_C7
#device     ADC=10

#use        delay (clock = 20000000)
#use        rs232(baud = 9600, xmit = TxD, rcv = RxD, bits = 8)   // Port C
#define     Vbe      0.00488758        // Constant Parameter

#include    <include\font.c>
#include    <include\k0108.c>

void init_io (void)


      set_tris_a (0b00000011);   // ADC CH0, CH1
      set_tris_b (0b00000000);   //Port B = output
      set_tris_c (0b10000000);   //Port C = output
                                       RC6 = TxD
                                       RC7 = RxD
void main() {

      int16 value_adc1,value_adc2;

      float volt1, volt2;
      unsigned int bar1,bar2;
      char buf[24];
      init_io ();

      setup_adc      (ADC_CLOCK_INTERNAL);

      printf ("\f\n\rSoftware Compile Date : ");
      printf (__DATE__); printf (" / ");
      printf (__TIME__);
      printf ("\n\rBy\n\n");

      while (1)

         lcd ();
         while (1)
              value_adc1 = Read_ADC();
              volt1 = (Vbe * (float)value_adc1);
              delay_ms (100);
              value_adc2 = Read_ADC();
              volt2 = (Vbe * (float)value_adc2);
              delay_ms (100);

              bar1 = (int8)(volt1*10);
              bar2 = (int8)(volt2*10);
              //send to RS232
              printf ("\rA/D(1) -> %1.2f Volt and A/D(2) -> %1.2f Volt",volt1,volt2);

              // Display on LCD
              lcd_gotoxy (0,6);
              lcd_progress_high (bar1,87);
              lcd_progress_high (bar2,104);
              lcd_gotoxy (0,5);
              sprintf (buf,"A/D(0) = %1.2f",volt1);
              lcd_putstring (buf);
              lcd_gotoxy (0,6);
              sprintf (buf,"A/D(1) = %1.2f",volt2);
              lcd_putstring (buf);
              delay_ms (100);



Saturday, October 8, 2011

IOIO Board for Android Control

IOIO Board for Android Control

Microcontroller can control device.Now Android Mobilephone can control also with IOIO Board.
The IOIO (yo-yo") is a board specially designed to work with your Android device (OS versions 1.5 and greater). The board provides robust connectivity to an Android device via a USB connection and is fully controllable from within an Android application using a simple and intuitive Java API - no embedded programming or external programmer will ever be needed!
So far, the devices proven to work are: G1, Nexus One, Nexus S, Motorola Droid X. If you get the IOIO working on your Android device, please let us know in the comments below, thanks!
The IOIO board contains a single MCU that acts as a USB host and interprets commands from an Android app. In addition, the IOIO can interact with peripheral devices in the same way as most MCUs. Digital Input/Output, PWM, Analog Input, I2C, SPI, and UART control can all be used with the IOIO. Code to control these interfaces is written in the same way as you write an Android app with the help of a simple to use app-level library. In other words, you can combine the awesome computing power, Internet/Bluetooth connectivity, touch screen, and a variety of sensors from your Android device with the ability to easily add peripheral devices to interact with the outside world. Also, using the IOIO does not require any hardware or software modifications to your Android device, thus preserving the warranty as well as making the functionality available to non-hackers.
If you are new to the IOIO or developing apps with Android, please use these resources to help get started:
For firmware upgrades, you can download the IOIO Manager app (see the QR code in the images to the right). See the IOIO Manager wiki for more information.
Also featured is a Programmer function, which lets you upgrade the bootloader of your IOIO using another IOIO as a programmer! See the IOIO Manager wiki for more information.

Specification Summary
  • Microcontroller PIC24FJ128DA106-I/PT (with USB OTG , USB Host Support)
  • 48 total I/O pins - all of which can function as digital inputs and outputs.
  • Up to 16 analog inputs (10-bit).
  • Up to 9 PWM outputs.
  • Up to 4 UART channels.
  • Up to 3 SPI channels.
  • Up to 3 TWI (I²C-compatible) channels.
  • On-board switch-mode regulator providing up to 1.5A of 5V supply. Can charge the Android device as well as power a couple of small motors. (Power Supply via USB cable from PC or Device)
  • Bootloader on the board pulls firmware off phone, enabling OTA firmware upgrades and application-specific firmware.
  • Pulse-width measurement, capacitance sensing and more (will be pushed with first OTA firmware upgrade).

Update: The IOIO now has beta firmware available which supports Google's Open Accessory (ADK) protocol. The code base can be found here.


This is the beginners guide for the IOIO for Android board and is intended for users that have never written an Android app. The goal of this tutorial is to show how to write a simple app that communicates with the IOIO board.

The programming language used to write an Android app is Java. If you are not familiar with Java, this tutorial will only go over writing a simple Java app using the IOIO library. This tutorial will not cover how to write Java code nor will it cover how to use the rich features within your Android device, like GPS, accelerometer, touch screen, etc. Once you get to the point where you want to use the vast array of features on your Android, we suggest first looking at the technical resource section on If you still can't find the examples you are looking for, simply browsing the web will result in a ton of information and examples that show you how to communicate with all of the great pieces of hardware within your Andriod device.
In general, the holy grail for developing Android apps is There, you will find most of the information on Android development. For documentation/downloads specific to the IOIO and for more advanced discussions about the IOIO, see these links:

Gathering Your Hardware

Here are the pieces of hardware you will need to complete this tutorial:
  • Android enabled device using OS 1.5 or greater.
  • IOIO for Android board
  • USB cable that is compatible with your Android device
  • 5-15V power supply with at least 1A of current. You will need to power the IOIO through the VIN and GND pins or there is an optional JST connector on the back of the board. It will need to be soldered into place and can be used with this adapter and wall wart power supply. More information at the end of the tutorial found here.

Installing the Development Environment

The Eclipse IDE (integrated development environment), the Android SDK (software development kit), and the JDK (Java development kit) are the primary pieces of software that you will need to install. The page has written thorough instructions on what exactly you will need to download. Please read the instructions carefully, they are found in the link below:
ATTENTION: You must use JDK v6 (not v5 or v7) for Android development.
If you have any problems, see the Troubleshooting section from
When you reach Step 4 in the Android SDK tutorial, you will at least need to install the SDK components relevant to the Android device you will be working with. For example, if you have an Android phone, goto Settings > About Phone and scroll down to Android Version. You must install the SDK platform corresponding to the Android version of your device.

For Android Development

Beginning Android Application Development Ebook

Wednesday, September 21, 2011

Arduino UNO board


Arduino UNO board

Product Description

The Arduino Uno Board is an open source electronics prototyping platform based on the ATmega328 microcontroller. It is equipped with 14 digital I/O pins, six of which can be used as PWM outputs, 6 analog inputs, 16MHz oscillator, USB interface, DC power jack and an ICSP header. Only the board is included and a USB cable is required to program.

This is the new Arduino Uno Board. In addition to all the features of the previous board, the Uno now uses an ATmega8U2 instead of the FTDI chip. This allows for faster transfer rates, no drivers needed for Linux or Mac (inf file for Windows is needed), and the ability to have the Uno show up as a keyboard, mouse, joystick, etc.

Technical Details

  • ATmega 328 Microcontroller
  • 16Mhz Clock Speed
  • Input voltage - 7-12V
  • 14 Digital I/O Pins (6 PWM outputs)
  •  6 Analog Inputs
  • 32k Flash Memory
  • Official board made in Italy

Tuesday, September 20, 2011

dsPIC30F4011 Microcontroller Board

dsPIC30F4011 Microcontroller Board
Our new dsPIC30F4011 microcontroller board is now available, this great inexpensive compact controller is ideal for motor controller applications. Utilising the powerful, high-performance Microchip dsPIC30F4011 microcontroller, this microcontroller features a high speed core optimized to perform complex calculations quickly. The microcontroller includes a large 48kB internal flash memory and a wide range of timers together with a number of PWM modules for adjustable motor speed control.

The dsPIC30F4011 Microcontroller also includes a 9-channel 10-bit A/D convertor with fast response time together with support for SPI and I²C communciation. In-circuit programming is available for both the PIC Programmer as well as the Microchip ICD2 unit. Programs can also checked and debugged with the Microchip In-Circuit Debugging tool, the ICD2. The microcontroller also includes RS232 support, for direct connection and data transfer with a laptop or computer.

The dsPIC30F4011 microcontroller board also includes a large number of general I/O points with standard header connections for easy connection to external devices. All the necessary support components are included on the board, together with a Power and Programming LED's for easy status indication. A reset switch and prog/run switch is provided, with a LCD connection provided for standard character LCD's, together with contrast adjustment for easy set-up.

Our new dsPIC30F4011 microcontroller is the ideal solution for use with robots and other motor control applications where high speed calculations are required together with the necessary motor control support. The small compact size together with a light weight makes it ideal for mounting on robots and autonomous remote control vehicles.

  • Includes High-Performance Microchip dsPIC30F4011 Microcontroller with 48kb Internal Flash Program Memory
  • Operating Speed at 29.4912MHz
  • Direct In-Circuit Programming and Debugging with Microchip® ICD2
  • Up to 28 I/O points with easy to connect standard headers
  • RS232 Connection with MAX232
  • Internal EEPROM
  • SPI and I²C Communications
  • 9 Channel 10-bit A/D Convertor
  • Five 16-bit Timers
  • Power, Programming and Test LED's
  • Reset Button
  • Ideal for Motor Control Applications

dsPIC30F4011 microcontroller board- Technical Data
  • Microcontroller: dsPIC30F4011-30I/SP
  • Main Crystal: 7.372MHz
  • Speed: 29.4912MHz
  • Processor Language: PIC
  • Program Flash Memory (Internal): 48kBytes
  • RAM Memory (Internal): 2 kBytes
  • EEPROM Memory (Internal): 1 kBytes
  • I/O Points Available: Up to 28
  • I/O Points Connection: IDCC Connector and Male Header
  • A/D Channels: 9
  • A/D Accuracy: 10-bit
  • Conversion Speed: 500 ksps
  • Timers: Yes - Five 16-bit Timer
  • Capture: Yes - Four 16-Bit Modules
  • Compare: Yes - Two 16-Bit Modules with PWM
Motor Control
  • PWM Modules: Yes - 6 with Complementary or Independent Output
  • Quadrature Encoder Interface: Yes - with Phase A, Phase B and Index Pulse Input
Auxiliary Communication
  • RS232 Communication: Yes - 2 Channels
  • I²C Communication: Yes
  • SPI Communication: Yes

Ancillary Features
  • In-Circuit Programming: Yes with Microchip® ICD2 or PIC Programmer
  • Power-On Led: Yes - Red
  • Programming Led: Yes - Red
  • Running Led: Yes - Green
  • Test Led: Yes - Green
  • Reset Button: Yes
  • Run/Program Switch: Yes
  • LCD Connection: Yes with Contrast Adjustment Trimpot
Power Supply
  • Power-Supply: 7 - 20 Vdc
  • On-Board Regulator: Yes
  • LxWxH: 82mm x 62mm x 30mm (Including mounting supports)
Parts Supplied
  • Included Parts: dsPIC30F4011 Controller, Parallel Download Adapter, Download Software, Manual on CD, Examples and Sample Code, Data Sheets on CD.
dsPIC30F4011 Microcontroller Board - Accessories
The following accessories can be purchased directly from our web-site by clicking on the links to the relevant departments.
Integrated Circuits
  • dsPIC30F4011 Microcontroller: dsPIC30F4011
  • MAX232 RS232 Line Drivers: MAX232CWE
Prepared Cables
  • RS232 Communication: RS232 Connection Cable

  • Power Supply: DC Power Jack Female (DCPWRF009)
  • RS232 Connector: Polarized Headers (POLHDCON4 and Pins)
  • Port Connectors: IDCC Connectors (IDCC10 x 3)
  • Ancillary Port Connector: Male Header Connector (HDCONNS8 and HDPINM)
  • LCD Connector: IDCC Connectors (IDCC14)
Multicore Cables
  • Grey Ribbon Cable: Grey Multi-core Cable
dsPIC30F4011 Microcontroller Board - Tips and Tricks
The following links provide useful background information for this microcontroller and using this controller board.
Data Sheets
Compilers and Programming Tools
Useful Websites

Saturday, September 10, 2011

T89C51AC2 Microcontroller Development Board

T89C51AC2 Microcontroller Development Board
The new T89C51AC2 Microcontroller Development Board is ideal for upgrading 8051 applications or as the main board for a new embedded system. The T89C51AC2 is a high performance Flash version of the 80C51 8-bit microcontroller range. Program download and run is easily executed in-system by an RS232 connection to the computer parallel port, no programmer is required. The board utilizes the new advanced T89C51AC2 Atmel microcontroller with 32k of In-System Flash Memory, running at 18.432Mhz, with 8 channel 10-bit ADC, 8-bit PWM, Full Duplex UART and lots more. All power supply components and main crystal is in place for the microcontroller. Connectors are provided for RS232, PWM, power and all I/O pins, via standard polarized connections and IDCC connectors. Download software is included, together with code examples in both assembly language and Bascom AVR Basic, to get you up and running quickly.

Please note: This is a complete unit, ready to run and not a kit. Power supply is not included.
Atmel is a registered trademarks of the Atmel Corporation.
  • Includes T89C51AC2 with 32kb internal Flash Program Memory
  • All necessary power supply components and crystal(18.432MHz) already installed.
  • All I/O pins connected to headers for easy external connections.
  • In-circuit programming via computer download cable (provided)
  • RS232 Communication with on-board MAX232 or equivalent
  • Test LED for program run testing
  • Power LED
  • Code Examples Provided
  • Dramatically reduces program development time
  • Easy to use Atmel Download Software is included with the accompanying CD
  • Wickenhauser C Compiler Programs can be downloaded to the T89C51 Development Board
For More Information and Demo Version visit the  Wickenhauser Web Site
(Demo Version Software is included with Development Board)

T89C51AC2 Microcontroller Development Board - Technical Data
  • Microcontroller: 89C51AC2
  • Main Crystal: 18.432MHz
  • Speed: 18.432MHz
  • Processor Language: 8051
  • Program Flash Memory (Internal): 32kBytes
  • RAM Memory (Internal): 1kByte
  • EEPROM Memory (Internal): 2kByte
  • I/O Points Available: 32 + 8
  • I/O Points Connection: 34 + 10 Way IDCC Connectors
  • PWM0/PWM1/PWM2/PWM3 Connection: 3 Way Polarized Connector
  • RS232 Connection: 4 Way Polarized Connector
  • RS232 Communication: Yes - 1 Channel
Ancillary Features
  • In-Circuit Programming: Yes
  • Power-On LED: Yes - Red
  • Test LED: Yes - Green
  • Reset Button: Yes
  • PSEN Button: Yes
Power Supply
  • Power-Supply: 9 - 12 Vdc
  • LxWxH: 155mm x 90mm x 42mm
Parts Supplied
  • Included Parts: T89C51 Training Board, Download Cable, Download Software, Manual on CD, Examples and Sample Code, Data Sheets on CD.

T89C51AC2 Microcontroller Development Board - Accessories
The following accessories can be purchased directly from our web-site by clicking on the links to the relevant departments.
Integrated Circuits
  • MAX232 RS232 Connection: MAX232
Prepared Cables
  • RS232 Communication: RS232 Connection Cable
  • PWM0/PWM1/PWM2/PWM3 Connectors: Polarized Headers (POLHDCON3)
  • RS232 Connector: Polarized Headers (POLHDCON4)
  • Download Connector: Polarized Headers (POLHDCON5)
  • ADC Connector: 10 Way IDCC Connectors (IDCC10)
  • KB I/O Connector: 10 Way IDCC Connectors (IDCC10)
  • Port Connector: 34 Way IDCC Connectors (IDCC34)
Multicore Cables
  • Grey Ribbon Cable: Grey Multi-core Cable
T89C51AC2 Microcontroller Development Board - Tips and Tricks
The following links provide useful background information for this microcontroller and using this controller board.
Data Sheets
Compilers and Programming Tools
Useful Websites