Thursday, October 29, 2009

Install Windows XP Using USB Flash Drive

Removable flash memory sticks are pretty much one of the most handy little pieces of technology to come along in the last couple of years. They come in various shapes and their storage size can range from a measly 128 MB to a whopping 32 GB.

So I thought, with the speed of flash drives today, it could be possible to install Windows XP onto those PCs in a much faster time than with optical media (CD/DVD). Plus with all the motherboards I use, I always make sure that the motherboards support booting from USB as it’s a very handy feature.

  • A copy of Windows XP Home or XP Professional.
  • USB memory stick (2 GB recommended - 1 GB minimum)
  • A motherboard that is capable of booting from a USB drive (check your motherboard manual if not sure). Most computers have this option.
Steps :

(1) Download this zip file from any of the link below :

Link 1

(2) Extract it and open the folder : USB_MultiBoot_10
(3) Open the file : USB_MultiBoot_10.cmd

(4) Press any key to display next menu
(5) Choose the second option i.e. "H" by entering H and pressing enter. Don't close this window.

(6) A window will open. Choose File System as "NTFS" and uncheck other options. Click Start.

Note : This will completely erase all data. Backup data if necessary

(7) When the process completes, click Close. Go back to the command prompt window. We using Pen Drive as the source so we will not change the first option. Now we will give the path of Windows XP Source i.e. Windows CD Path.

NOTE : If you have the image of Windows XP, mount it on a virtual drive.

Enter "1" and press enter. In the window, select the drive having Windows XP setup. Click OK.

(8) In the dialogue box, click "Yes".

(9) Enter the Owner Full Name, Organization Name, Product Key, and other information as asked by the process. If you are unsure of any field, enter anything or use default value. In the final dialogue box, press OK.

(10) Go back to command prompt. Now select the option to choose USB Drive path by entering "2" and pressing enter.

(11) Choose the USB Drive in the windows and press enter.

(12) Go back to command prompt. Now select the option to start the process of making bootable USB Windows XP Drive by entering "3" and pressing enter.

(13) Standby as the process completes. If any dialogue pops up, press "Yes".

(14) After the process completes, your USB drive is ready to be used for installing Windows XP.

(15) Now, insert your USB Flash Drive/Flash Disk/Thumb Drive to your system. Go to BIOS and make USB HDD (or USB ZIP in some other machine) as primary boot device. For more information on how to boot from bootable USB :

(16) Boot from the USB.

(17) Providing it boots from the USB flash drive, you will now be shown two options. One with the words GUI and one with the words Text Mode. Choose the Text Mode option first.

(18) Now you will see what you normally would see during a CD install of XP. Just follow the on-screen instructions as always. One note is that, if you need to create a new partition for your new Windows XP installation, once the partition is fully formatted, instantly turn off the PC as the install will need to be restarted so the flash drive can recognize the layout of your partitions correctly. Follow the instructions below:
  1. Create a new partition and format it as normal
  2. Once the partition is formatted, restart your PC and when the options come up again choose Text Mode
  3. Highlight the newly formatted partition, press enter, move down to make no changes, and press enter
(19) Okay, now after that all goes through and the PC restarts, simply chose the GUI option on the menu and let the Windows XP install go along as it would normally do. I must advise that you DO NOT REMOVE the USB stick until you’re actually past the setup stage. Once you have just booted into Windows XP for the first time, you can go ahead and remove the USB stick.

(20) Congratulations! You have just installed Windows XP without the need for a CD/DVD drive.

Saturday, September 19, 2009

PIC16F84A Clock


This is a simple clock that uses PIC16F84A ucontroller,4050 CMOS, seven segment (common anode), and few other components.
Short the same pins of 7-segment (a with a, b with b and so on) and connect them with appropriate 4050 pin. Also make sure to invert D3 & D4 like this:

7-Segment CA pin out:





  • IC3 PIC61F84A
  • IC1 & IC2 Cmos 4050
  • Resistors, R1 - R3 10K ohm 0.25W
  • S1 - S2, Push Switches
  • Ceramic Capacitors,C1-C2 30pF
  • Q1 4 MHz Crystal
  • D1-D4 seven segment CA
Hex code:


Friday, September 11, 2009

Dual Power Supply

This schematics is of dual power supply, having voltage output 3,5,6,9,12,15 and -3,-5,-6,-9,-12,-15. LM 317 is adjustable 3-terminal positive voltage regulator and LM 337 is adjustable 3-terminal negative voltage regulator.
Switch S1 is for +ve and S2 is for -ve voltage respectively.

click on image to zoom

All diodes are 1N4007
R1, R3 270 ohm
R2 1K2 ohm
R4, R10 390 ohm
R5, R11 820 ohm
R6, R12 1K ohm
R7, R13 1K65 ohm
R8, R14 2K35 ohm
R9, R15 3K ohm
C5, C8 2200uF 25v electrolyte
C6, C7, C9, C10 22uF 25v electrolyte
C1-C4 0.1uF Ceramic
F1 0.5A fuse
S Switch
S1, S2 6-way rotary switch
T1 Center taped transformer 15-0-15v 220v

Friday, September 4, 2009

Parallel Port Interfacing

A parallel port is a type of socket found on personal computers for interfacing with various peripherals. It is also known as a printer port.
PC parallel port is 25 pin, D-shaped female connector in the back of the computer. Not all 25 are needed always. Usually you can easily do with only 8 output pins (data lines) and signal ground.

The original IBM-PC’s parallel port had a total of 12 digital outputs and 5 digital inputs accessed via 3 consecutive 8-bit ports in the processor’s I/O space.

Pin out:

Pin description:

You can not directly access the parallel port in windows xp, vista etc due to the security purpose. To access the port do the following:
1. first go to the BIOS setting.
2. then select advanced option.
3. under this option select peripheral configuration
4. then change the setting of parallel port as
a. enable
b. bi-diractional
c. IRQ-7
After doing these steps download the user port and follow the instructions. A window will open, when you will run userport.exe, asking the range.

To find this:
  1. right click on my computer icon
  2. select manage
  3. from device manager select ports(com &LPT)
  4. double click on printer port
  5. a window will open, choose the resources tab you will find

Fill this range in both the spaces and then click on add button. Then click on start button three times, a message will appear just click ok.
Now your port is ready for interfacing.

Tutorial one:
LED Chaser:
  • Connect 8 LEDs to the data port of the parallel port as shown in the figure.

  • Connect ground to pin # 25.
  • Copy and paste the assembly program link it (in MASM) & create .exe file.
  • This program is basically LED chaser in which LEDs blink from left to right when you press ‘r’ and from right to left when you press ‘l’. to off these LEDs just press ‘ 0’ and ‘Esc’ button to exit.

Assembly code:

.model small
.stack 100h
msg db 13,10,'Press r for right movement',13,10,'Press l for left movement',13,10, 'Press 0 to Off',13,10, 'Press Esc to exit','$'
main proc
mov ax,@data
mov ds,ax
mov ah,09h
lea dx,msg
int 21h
set: mov al, 0ffh
mov dx, 378h
out dx,al
call delay
call delay
call delay
mov al,00h
out dx,al
call delay
call delay
call delay
mov al,10000000b
push ax
push dx
mov ah,06h
mov dl,0ffh
int 21h
cmp al,27
je exit
cmp al,'0'
je off
cmp al,'r'
je loop2
pop dx
pop ax
ror al,1
ror al,1
out dx,al
call delay
call delay
jmp lop1
mov dx,378h
mov al,01h
strt: out dx,al
call delay
call delay
rol al,1
rol al,1
push ax
push dx
mov ah,06h
mov dl,0ffh
int 21h
cmp al,27
je exit
cmp al,'0'
je off
cmp al,'l'
je set
pop dx
pop ax
jmp strt
off: mov al, 0h
mov dx, 378h
out dx, al
exit: mov ax, 4c00h
int 21h
main endp
delay proc
push ax
push dx
mov bx,00h
mov ah,2ch ;To Get System Time
int 21h
mov bh,dl ;Copy seconds into bh reg
getsec: mov ah,2ch
int 21h
cmp bh,dl
jne back ;Jump to back when get 1 sec.
jmp getsec
back: pop dx
pop ax
delay endp
end main

  • Tutorial two:
  • Seven Segment Common Cathode Counter:
  • Common Cathode means all –ve terminals of LEDs are grounded & 1 for on, 0 for off.
  • Connect 8 LEDs to the data port of the parallel port as shown in the figure.

  • 1st construct the table for 7-segment

  • This is basically 7-segment counter & timer in which you can set/reset, and pause it.
  • If any one interested in this, he can ask me about the assembly code of this project.
Enjoy playing with parallel port.

Monday, August 24, 2009

Multi PIC & EEPROM Programmer

This JDM programmer can support PIC12, 16, & 18 family ucontrollers and some 24c EEPROMS. It also provides in circuit serial programming, ICSP.

click on image to zoom

T1- T2, BC337 Transistor
D1, D4, D5, D6 , 1N4148 Diode
D3 , 6V2 Zener Diode
D2 , 5V1 Zener Diode
R3- R4, 1K8 1/4W Resistor
R1 , 10K 1/4W Resistor
R2 , 1K5 1/4W Resistor
X1 , DB9 PCB Mount Female Connector
C1, C2 , 100uF 16V Electrolytic Capacitor
SV1 and SV4, 40 Pin Machine Tooled IC Socket
SV2, SV3, 20 Pin Machine Tooled IC Socket
SV5 (ICSP); 6 Pin Header Connector9
L1, L2, L3, LED (L1: GREEN, L2: RED, L3: YELLOW)

Saturday, August 22, 2009

PIC16F84a Chaser

This is an other kind of a LED Chaser in which the 'PIC16F84A' microcontroller, IC1, is used. The program that runs on this chip controls the LEDs attached to the output port pins. Resistors R1 - R8 limit the current through LED1 - LED8 to a safe level. Resistors R9-R13 provides a pull-up for the input connected to switches S1-S5. 4 MHz crystal is used for clock pulse generator & capacitors are used to ground the unwanted pulses.

click on image to zoom

Note that VCC should not exceed 5v.
  • Resistors, R1 - R8 220 ohm 0.25W
  • Resistors, R9 - R13 10k ohm 0.25W
  • IC1 PIC61F84A
  • Socket for IC1
  • Red LEDs (8)
  • S1 - S5, Push Switches
  • Ceramic Capacitors,C1-C2 27pF
  • 4 MHz Crystal

Hex code:
Note: Just copy the below code and paste it in notepad and save it with '.hex' extension, as chaser.hex.


Now burn the ucontroller using JDM Programmer. For more details read my article "Getting Started with ucontroller".

In Eagle 3D LED Chaser looks like: