Design your own PCB web tutorial


Avoid bird nest design for your boards !
Just get a PCB made , the first step is design ...
It is not as hard as you might think:
download :Eagle PCB editor
it is free ,but 1 limitation i.e board size,
as long as you make smaller boards.
And instead of writing full tutorial i am gving links to online tutorials:

It is by sparkfun .com ..a part of the tutorials designed for new builder of electronics circuits

sparkfunPCB Tutorial

Books for ARM processor programming


Why to learn ARM ?
ARM is the most popular of leading cores of the embedded processors.
it is designed for the specific clients and for different product demands
the processor is added with extra feature.

there is always high demand of skilled manpower who has worked with arm processor and embedded linux .
I recommend few books here you can get as ebooks ,but getting a printed copy is
better and you will get a faster /regular learning from it ..may need to refer the books in later part of your career.
All big giants like sony ,honeywell,philips,nokia,siemens ,HP work on these ARM core based products.

1)ARM System-on-Chip Architecture (2nd Edition)

Desc:The future of the computer and communications industries is converging on mobile information appliances - phones, PDAs, laptops and other devices. The ARM is at the heart of this trend, leading the way in system-on-chip (SoC) development and becoming the processor core of choice for many embedded applications. System-on-chip technology is changing the way we use computers, but it also sets designers the very challenging problem of getting a complex SoC design right first time.

2)The Insider's Guide To The Philips ARM7-Based Microcontrollers
Desc:Book Information:
The ARM7 is set to become the 8051 of the 21st century and already many projects and engineers are moving to it. Long-standing 8051 vendors Philips, are pioneering the use of the small but fast ARM7 core in general purpose devices. The ARM7 is a 32-bit core with some advanced features which 8051 users will not have encountered before. This can result in a steep learning curve when first getting to grips with ARM7-based devices.

Our new 200-page Insider's Guide is a complete introduction to the ARM7-TDMI and the LPC21xx series. It covers all aspects of the family, including the CPU core, peripherals and programming techniques. Each major topic is illustrated with an example program which can be run using the Keil uVISION3 ARM development environment, that is included on the accompanying CD-ROM.

For the development hardware I am working on a board with powerful ARM9 and
all flash,Ram ,jatag,io ports ethernet and usb built in.

Bit torrent downloader from wifi router

1. The first thing to do is install the 1.0.4.6 custom firmware on your router. K.C. already wrote a nice manual for that. Start reading here: http://wl700g.info/showthread.php?t=7109

2. Telnet into your router (if you didn’t already do that)

3. Now you have all that running you’ll need to install 2 more packages: “screen” and “enhanced-ctorrent”.

Before you install these 2 programs, let me explain what they do:

The screen program is a virtual telnet session to your router. A bit like terminal services on Windows, but then textual based. So you can start a program inside this virtual telnet session, logout and later resume the session (even from another computer). The screen program has been around for a long time and is used for programs that need a long time to run like compiling a big program or to analyse SETI-data. The BitTorrent client is in the same category: It doesn’t require much interaction with the user, but from time to time you want to see the progress.

The enhanced-ctorrent client is a variation on the ctorrent program. The ctorrent program is actually the program that our ASUS router was using. This program was ok for it’s time, but the project is now asleep. Logically the enhanced version is better and still maintained so a much better way to go.

Now you know the 2 programs, it’s time to install them:

4 . The command for this is:

ipkg install screen
ipkg install enhanced-ctorrent

Testing the screen program:
Now you have the programs installed, you can try out the screen program. To start it, just type “screen” (without the quotes). As you see, the program simply starts with a fresh screen in your telnet session. Type a simple command like “ls”, just to get something on the screen.

Now press ctrl+d and ctrl+a

You should now see on your screen “[detached]” and the prompt again. Now you type exit to close your telnet session.

Start again your telnet session and logon to your router. Now type “screen –r” (the R stands for resume) to resume an earlier screen session.

As you can see the output of your earlier ls command is still there, including all the settings etc. So by pressing ctrl+d and ctrl+a again, you’ll detach the screen and “screen –r” you get back to it. If you don’t need the virtual screen anymore, you can simply type “exit” when you are inside the virtual screen and the virtual screen will stop (so no more screen to resume to).

I hope that the above makes it clear how the screen program works and how it is useful for all kind of long running programs.

Testing the enhanced-ctorrent program:
Before we can test this program, we’ll need a torrent file. To test this, find a torrent file that points to something popular and small. Ebooks are usually a good one to use. Download the torrent file with your webbrowser and place it somewhere on your router shared directories.

For example, place the file here: \\WL700gE\Myshare1\Download

(I assume that you are still logged into your router via telnet).

Go to that same directory: cd /shares/MYVOLUME1/MYSHARE1/Download

The enhanced-ctorrent program doesn’t need any complicated parameters to start.

Just type “enhcanced-ctorrent filename.torrent” and the download will start.

The first thing it will do list the content of the torrent file: Which files does it contain.
For all these files it will reserve the space already on your router. If you download for example an ISO file of a DVD, a 4gb file will be made in your hard drive, but will not actually contain anything yet.

At the bottom of the screen, you’ll see something like this:

Already/Total: 0/9 (0%)
Listening on 0.0.0.0:2706

So, you’ve already downloaded 0 of the 9mb of the file (since you just started with it) and that the program is listening on that port for clients.

The next line will be something like:

\ 0/18/0 [1/719/686] 0MB,0MB | 0,0K/s | 0,0K E:0,1

Have a look here (http://www.rahul.net/dholmes/ctorrent/userguide.html) for more details on what this exactly means, but it will give you very basic information and see that the download is in progress. The first character changes from / to – to \ to | just to give you a limited indicator that the process is still alive.

Like most torrent downloads, they seem to work best if you don’t look at them, this is where the screen program comes in.

For now, just press ctrl+c to stop the torrent client. You will now have your prompt again.

Start the screen program and now start the enhanced-ctorrent program again with the same command as before.

The first thing the torrent client will do is to check the file that was earlier downloaded. You’ll see something like this: “Check exist: 3/9”.

Once the entire check has been completed, it will resume the download and will show something like this:

Already/Total: 3/9 (33%)
Listening on 0.0.0.0:2706

The download continues now until it’s completed. Once that is done, it will tell you that on the screen and will still continue to seed for 72 hrs. After that point the program will automatically exit.

You can change the way the enhanced-ctorrent client works with a couple of parameters, this page (http://www.rahul.net/dholmes/ctorrent/userguide.html) will give you the parameters. Specially the upload and download limits would be useful. For example, adding “-U 15 –D 60” will limit your upload to 15 KB/s and download to 60 KB/s.

I hope that you understand how using this program together with screen will help you download stuff on your router without your PC running.

+ - 15 V regulated power supply


This is useful for small amplifier , op amp projects
Parts :
IC 7815,7915 -1 nos
, 2200uf 35 V - 2 nos
.22uf ceramic/ poly - 2 nos
100uf 25v -2 nos
Verro board -1 no
Transformer 12v -0-12v secondary and 220v /110 V primary
wires for connecting etc

Make a stand alone bit torrent box from a Wifi router

I am experimenting with new firmware loading on ASUS WL-500g Premium V2 wireless
router .It will do 24 hr pc less bit torrent download..

Updates soon ..

Which controller to go for ATMEL AVR,PIC,ARM?

For basic usage 8051 is powerful enough for your needs . But if you want to serious stuff like LCD touchscreen ethernet usage ,CMOS sensors then ARM based architectures for a number of reasons:

* They are dropping Al most the same as other low end boards
* They are FULLY 32-bit cores, 8-bit MCU's just don't cut it some times. For example my DVD player from 2002 has an 8052 MCU embedded in it as a front end (remote control reading, On Screen Display etc.). But newer DVD players from what I've been seeing are either using proprietary cores or ARM based cores.
* Also budget wireless chipsets and routers use ARM7 and ARM9 chips (probably to do the WEP/WPA encryption). Well I do know the wifi chipset in the PSP uses an ARM9 based CPU.
* Supported by freeware GNU compilers (GCC for example), makes development rather painless and if you want to code in assembly (GNU assembler really sucks ) then you get free assembler.
* Tons of very cheap devkits available (that operated close to 60Mhz, a 60Mhz ARM is a very powerful chip, definitely could do MP3 decoding)
* And of course, the iPod Nano ( and probably all iPod's) uses ARM as a main CPU.
* The ARM is rapidly gaining ground and with their price going downwards each year, they will soon replace most 8-bit in anything but mundane tasks.


Generally when it comes to MCU's:

PIC - Only use for mundane tasks (keyboard reading, image scanning, etc.) because the single cycle architecture makes this stuff easier.Advantages are like huge project base on net / code.

8051 - Use for more complicated tasks, still a bit limited because of the limited stack space. Handles complicated tasks much more elegantly than PIC.More books
easy to code (for me ! ).. but a bit costly.

ARM7/9 - Use for complicated tasks that require a lot of code (Video players, MP3 players, etc.). Handles complicated tasks very elegantly and efficiently. Better tuned for embedded C programming.Cost vs power wise it is winning the race.
But a bit hard to understand for beginners . Boards come from 50$..
depending on the options required.





Of course I skipped many other great MCU architectures but if you are interested you can find some better ones.

Building DIY enclosure -Part2:body

Here we
make an cool looking enclosure with body part from a HDD (external) casing.Something like this

steps:
1.If more height is needed Cut the Enclosureas in pic ..separate top and bottom plates
2.fit 2 pieces of MDF ,spraypainterd with aerosol can(very cheap 5$).
3.Drill screw holes with 1$ hand drill on the sides and weo have completed the body
for front you can use aluminum or acrylic piece(easy to cut).See pics below...
Hosted by Imged.org

SMD Soldering at home



Most hobbyists are working on small kits layouts .And prefer the through hole
parts.After the projects id done the board looks bulky and needs more space to fit.
Never possible to make card size boards... build needs lott of wiring and connecting
wires .

I suggest why not explore SMD.Yes sourcing components is an issue ,you can use sites
like mouser.com for parts .. before getting into details lets learn Smd soldering at home.
Here are some videos you can refer:

open youtube go through related videos !
Tools needed ,
just tweezers , and a fine tip soldering iron,and a liquid flux.
For pcb try iron on pcb fabrication.

Auzentech X-FI Home Theater 7.1 HDMI 1.3 Combo card

Many audio video enthusiasts are looking forward to full 8 Channel lossless high resolution audio that delivers all the original audio content recorded and meant to be heard by the end users.
Auzentech recently launched a new HDMI 1.3 combo card in their high end card line up .Whats unique in this card is supports full HDMI 1.3 high resolution audio standards such as Dolby® Digital Plus, Dolby® Digital TrueHD, DTS-HD and Bit streaming with Non Down-Sampling Output capabilities.



Card features are very impressive:
Blu-ray support via Cyberlink's latest PowerDVD application (available separately)
Support for PCM 8 channel, 24-bit/192kHz
24p True Cinema Output
Blu-ray Audio with no downsampling
High bit-rate audio, such as Dolby TrueHD, DTS-HD Master Audio bitstream
Dolby Digital Live for Windows and Vista
DTS Neo:PC & DTS Interactive for Windows Vista
EAX Advanced HD 5.0
NVidia and CyberLink have both joined Auzentech on this project to ensure a full HDMI 1.3 solution via hardware and supporting software. The designers have incorporated video integration in the form of a internal video interface that will exclusively support future NVIDIA graphics cards and a external Video connector that can be used for ATI branded graphics products.



The card is priced at $234 , which is Value For Money!

How to connect HTPC to AVR


The home theatre PC(HTPC) is immersing as a common entertainment platform.The HTPCs today are equipped with best video audio chips ...connection possibilities,remote etc
making it part of AV gear for living room.

There are different possibilities of getting video and audio from htpc to LCD tv /HD plasma and 5.1 dedicated speakers .

Option one:
Feed audio directly to AVR(Audio Video) Reciever with SPDIF optical..
depending on the motherboard the audio will be dolby encodede/dtd pass through or just 2 channel. Video just connect to LCD with HDMI>DVI adapter (very cheap one).
Cons: you cant switch video source unless you have a manual DVI switch
Option Two : Add a graphics card such as ATI 4650 HDMI,You will be able to get 48 Khz 16 Bit 7.1 Channel PCM audio with that. some say If you are not using HDMI exclusively, you are not “using your connection options the best way possible”.
Option three:
If you use devices like PS3,HTPC,HDMI dvd players
buy a device like XCM

LCD panel



LCD panel making Idea
1> Take acrylic ,cut with a hand drill used for PCB drilling
2> File the cut to smoothness
3> for that rough outer ,cut the sheet from back of corporate diary/premium notebook


Done!

LED effect with micro 89c51

Pretty simple LED effect with a simple code and schematic


#include
#define first P1
#define second P2
//sbit first P1^0
//sbit second P2^0
void wait()
{
int i,j;
for(i=0;i<=1000;i++)
for(j=0;j<=10;j++);
}
main()
{
unsigned int i; /* Delay var */
unsigned char j,m; /* LED var */
while (1)
{
for(m=0x01;m!=0xff;m=m(m<<1))
{
for(i=1;i<=7;i++)
{ /* Loop forever */
for (j=m; j!= 0x00; j<<=i) { /* Blink LED 0, 1, 2, 3, 4, 5, 6 */
P1 = j; /* Output to LED Port */
wait (); /* call wait function */
}
P1=0;
for (j=m; j!=0x00; j<<=i) { /* Blink LED 6, 5, 4, 3, 2, 1 */
P2 = j; /* Output to LED Port */
wait ();
} /* call wait function */
P2=0;
}
}
}
}


schematic :
Free Image Hosting at www.ImageShack.us

QuickPost Quickpost this image to Myspace, Digg, Facebook, and others!

schematic Free Image Hosting at www.ImageShack.us

QuickPost Quickpost this image to Myspace, Digg, Facebook, and others!

code working:
If you press any button in the matrix keyboard it controller will scan the corresponding ascii code that will send serially to the port pin specified . Corresponding ascii code we can see in LED blinkings.



#include /*
add the headers here
*/

#define COL P2
#define ROW P1
void msdelay(unsigned int value);
void sertx(unsigned char);
unsigned char keyboard[4][4]={ '7','8','9','/',
'4','5','6','*',
'1','2','3','-',
'a','0','=','+' };

void main()
{
unsigned char colloc,rowloc;
TMOD=0x20;
TH1=-24;
SCON=0x50;
TR1=1;
COL=0xff;
while(1)
{
do
{
ROW=0x00;
colloc=COL;
colloc&=0x0f;
} while(colloc!=0x0f);
do
{
do
{
msdelay(20);
colloc=COL;
colloc&=0x0f;
}while(colloc==0x0f);
msdelay(20);
colloc=COL;
colloc&=0x0f;
} while(colloc==0x0f);
while(1)
{
ROW=0xfe;
colloc=COL;
colloc&=0x0f;
if(colloc!=0x0f)
{
rowloc=0;
break;
}
ROW=0xfd;
colloc=COL;
colloc&=0x0f;
if(colloc!=0x0f)
{
rowloc=1;
break;
}
ROW=0xfb;
colloc=COL;
colloc&=0x0f;
if(colloc!=0x0f)
{
rowloc=2;
break;
}
ROW=0xf7;
colloc=COL;
colloc&=0x0f;
rowloc=3;
break;
}
if(colloc==0x0e)
sertx(keyboard[rowloc][0]);
else if(colloc==0x0d)
sertx(keyboard[rowloc][1]);
else if(colloc==0x0b)
sertx(keyboard[rowloc][2]);
else // (colloc==0x07)
sertx(keyboard[rowloc][3]);
}
}
void sertx(unsigned char x)
{
SBUF=x;
while(TI==0);
msdelay(20);
TI=0;
}
void msdelay(unsigned int value)
{
unsigned int i,j;
for(i=0;i<=1275;i++)
for(j=0;j<=value;j++);
}

Cool front panel for DIY projects -part1


After long break i am back again ..this time for all hobbyists,DIY people I am adding some tricks for
making a front panel .

Step1: Backlit Logo

Devices like amplifier , D/a converter need a logo panel ...why to put poor looking
popping out led,with a paper sticker below?
Here we go :

1.Print 2 copies of same logo text on butter paper ,letters white,rest black
2.stick them together,to make dark areas dark
3.put smd (surface mount) behind the panel


Result? See the pic above... If you still wanna do a lil more fancy designs.. add a weavy led circuit
with IC 4017..may look even cooler!