Friday, July 2, 2010

Make Your Own PCBs on Laserjet

Hello and welcome to weekend projects. I’m Farhan and I’m Naveed. And this week we are going to show you how to take something like this and turn into something like this, a printed circuit board. A PCB. So the first thing you need to do is make up a circuit. How do you do that? I made up this one myself but you can find circuits online at various sites like discovercircuits.com or many others. Why would we print up our own circuit boards? Why? There are a number of reasons why you might want to have a printed circuit board as opposed to a bred board. Number one, you can get much higher density with printed circuit board. Number two, it’s a little bit more reliable and you have a finished product that’s not going to fall apart and wires pop out. And number three, it’s good because you can use, you can have very precise controls with the parts that you’re using and have odd shaped parts that won’t fit on a bred board. The first part of making a printed circuit board is to define your circuit and this is where you specify what parts are on the board and how to connect them with each other. Once you have your circuit defined then you lay it out on the board. And that involves taking this and making it into something like this. Eagle cat has little bit of a steep learning curve but theres tutorials online that will walk you walk you through it. Once we have our circuit defined, its time to go ahead and get it on the circuit board, to do that we’re going to use the toner transfer method. Toner transfer is basically where you print out your circuit pattern using a laser printer and then transfer the toner that was on the sheet of paper on to a sheet of copper. There’s a lot of different schools of thought on toner transfer. We’re using the method written up by Thomas Gutti and found online. One of the most important things about toner transfer is the choice of paper that you use. This is a very popular choice, staples photo basic gloss. A lot of people had a lot of really great success with this, including myself.
The first thing we do is cut our board to size. I like printing out an extra copy of the pattern using that as a template. The dust on this stuff is toxic dust. So, you want to make sure you wear a respiratory protection.
To prepare a board, we rough it up. We file down the edges. We clean it with a little bit of acetone. Do this with a scotch brite pad or artificial steel wool because real steel wool will rust and mess things up. Warm up your iron to the hottest possible setting. Use about 30-40 pounds of force. We really lay into this thing. Now the plastic of the toner is attached to the board and the paper. We want to get rid of the paper. so it’s just attached to the board. So, we are going to soak in water. After about 2 minutes of soaking, we’re going to peel off the first layer of paper, exposing the paper that’s underneath. If you don’t do this, you can let this soak overnight and the water still won’t penetrate all the way through. Once it’s soaked for long enough, you want to take it out and rub it with your fingers to get all the paper bits off.
Then, its etchant time. There’s lot of different types of etchant. But the one that we are using today is ferric chloride which is the most common variety you can find in your local electronic store. Don’t drink this stuff. It’s toxic. One you get in the etchant, you want to keep the etchant moving over the surface of it. Agitated. Don’t leave it in there for too long. Take it out when the copper that you want gone is gone. Once you are done etchant, we use acetone to remove the existing toner to reveal the shining copper underneath. To drill the holes in our PCB, we’re going to use carbide bits and a dermal drill press. These bits can be got for relatively cheap on EBay. The 0.035 inch drill bit will take care of most of your needs. This is an optional step. I would like to print out a documentation layer that you can put on the top side of the board, to give me a guide when I’m soldering the parts on.
Now, we have got our board all soldered up. All that’s left is to cross our fingers, turn it off and see if it works. Great. That was your turn. Go ahead, design some circuits print up your own boards and then you can go ahead and make something like this. We will put the designs on the PDF and I’m going to put this on my bike and you can also make something similar to spruce up a birthday cake or you can hang around town in order to use your local law enforcement. Whatever you do make sure to take pictures of it and put them in the next Flickr pool. Go make some circuits. Have a great weekend.

Wednesday, June 23, 2010

'Brand China' takes aim at global electronics giants

'Brand China' takes aim at global electronics giants
After decades building its reputation as the go-to country for electronics manufacturers, China's intention to promote its own brands and produce the world's next Sony or Samsung was obvious during a massive telecoms exhibition in Singapore.
While foreign giants such as Apple, Dell and Nokia have taken advantage of China's vast pool of cheap labour to manufacture or assemble their products, the country's own electronics firms are now looking to make their presence felt in the global marketplace.
Chinese firms led by heavyweights Huawei Technologies and ZTE Corporation flew the Asian giant's flag proudly at the massive annual CommunicAsia and BroadcastAsia trade fairs in Singapore, signalling the rise of a new power in the industry.
They were the top foreign exhibitors with 257 booths displaying everything from sleek tablet computers to slim mobile phones with Chinese branding, proof that the country is not just a cheap production centre for Western firms.
Once dominated by European and North American brands, the global telecoms industry is now more fragmented, and Chinese companies have joined the Japanese and South Koreans on the front lines of the battle for Asian and global market share.
Finland's Nokia is still the world's biggest mobile phone manufacturer, followed by Samsung and LG Electronics, the twin giants of South Korea's high-tech industry.
One of the most popular Chinese brands is Huawei Technologies, which had a massive booth at CommunicAsia displaying its mobile phones and tablets.
And beyond consumer devices, Chinese firms are also supplying digital encoders and receivers to the telecoms industry.
Technology consultancy IDC said the global telecom industry is now worth 1.5 trillion dollars a year, with the mobile sector accounting for than half of the total.
"More and more Chinese companies are paying more attention to the exhibitions overseas," said Tina Feng, who is in charge of international sales with Chengdu Dexin Digital Technology, a wireless equipment maker.
"You know, China has developed very fast so they can supply high-quality stuff now, and they want to show it through their products," she told AFP, beaming with obvious national pride.
She said her company, just a visitor to the show in 2008, decided to exhibit for the first time this year after spotting plenty of opportunities to reach out to new markets.
"There are many customers from Asia so our company hope to enlarge this market," Feng said.
"It's been rather busy for us at the show. We should be back next year again," she smiled.
Chinese participation at this year's show, which ended Friday, jumped 21 percent from 2009 and the interest is not only coming from the major players, according to organiser Singapore Exhibition Services (SES).
"It is not just the Huawei or the ZTE that you are talking about but you see a lot more group participation, and you also see a lot more of the medium-sized enterprises taking part," said Victor Wong, SES project director for communications events.
They were also the largest foreign exhibitor last year, but only by a small margin, said Wong.
Prior to that, the United States had the biggest number of foreign booths in 2008, but American firms were a distant second at this year's show with 179 exhibitors.
"I think one of the reasons for them to come out is they want to export, they find that it is really worthwhile for them to do so because if you continue to do stay in China, you can only compete on price," he said.
"I think we have confidence that the Chinese participation will continue to grow," Wong added.
Alan Yin, a regional sales director with Chinese electronics company Konka Group, is convinced his country has what it takes to produce the world's next Samsung, Sony or Motorola.
"In the past years, we have learnt technology from the Western countries but now a lot of Chinese companies have invested a lot in research and development in the high-tech area.
"I am sure in the next 10 or 20 years later, Chinese companies will be stronger," Yin said.

Tuesday, June 15, 2010

Geolocation Made easy

Geolocation is the process through which the geographical position related to an user connected to Internet can be obtained basing on the information provided by its IP address. Knowing the physical location is an important thing, since, using it, a website could provide more detailed information to the user (such as hotels or restaurants close to his/her area, targeted ads, maps and other information related to the traffic or the weather conditions), and, moreover, it is very useful and helpful when used on mobile devices such as laptops, smartphones, or PDAs. IP addresses are assigned to the Internet users by the service provider and they are assigned all over the world basing on geographical areas: basing on this information, the physical location can be easily associated to each IP address (in a similar way to what happens for the telephone numbers). In order to do that operation, a database with the IP <-> location association is required; on the web there are several companies that provides this type of service, either free of charge or not. One of these companies is Maxmind, with its GeoIP technology (http://www.maxmind.com/app/ip-location). By visiting a website powered with GeoIP, it is possible to obtain detailed information about the user’s location, such as: country, region, city, postal code, area code, latitude, longitude, connection speed, ISP, company name, and domain name. MaxMind provides geolocation APIs both for Linux and Windows, and for many different languages, such as C, C#, Java, Pascal, Perl, PHP, Python, Ruby, and so on.

GeoIP Javascript Web Service

We will see now the Javascript code provided by MaxMind at THIS address:


Country Code:


Country Name:


City:


Region:

Region Name:

Latitude:

Longitude:


Postal Code:

Just copy this script in an html page and open it with your favorite web browser: you will see the relevant information related to your geographical position. It’s really very easy, right? GeoIP JavaScript is a service offered by MaxMind to return the Country, Region, City, Latitude, and Longitude for your web visitors. It uses Javascript and is very easy to program, works on both static and dynamically served web pages. You can even produce a graphical output by means of the Google Maps application (visit the website: http://code.google.com/intl/it-IT/apis/maps/), centering it providing the coordinates (latitude and longitude) obtained with the MaxMind javascript. It should be noticed that IP geo-location does not always provide the exact geographical position: an approximation is always present depending on the provider’s actual position; moreover, if you are using a private network connection (that is, a VPN) you might not obtain the right information (actually misleading information will be shown, probably).

W3C geolocation API

Support for geolocation is provided also by W3C through a specific set of APIs (specifications are available at THIS site. Not all of the Internet browsers support it, as well, but Firefox (starting from release 3.5) is one of those that provide support for it. You can check the coordinates (latitude and longitude) corresponding to your IP address position by running the below shown script. It should also be noticed that, in order to protect your privacy, the browser will ask you for permission when requesting the position’s coordinates (you may accept or not accept it, of course):


Obtaining a map with Google Maps

We can now put all stuff together and, knowing the current geographical position (expressed by latitude and longitude), we can display the map corresponding to that position. That is achieved through the Google Maps service, and you should prior register and obtain a key for non-commercial use (insert your key in place of the "InsertHereYourKey" word). The following script starts displaying a fixed map centered on Italy (you can change lat and lon to display another geographical area); then, if the user agrees to do it, it shows the current position coordinates in a dialog box. Finally, it shows the map corresponding to that geographical position:



The following two images shows the output of the previous script assuming the Internet user is located in the Florence area:

Monday, June 7, 2010

Intel® Core™ i7 Processor Extreme Edition

Gear up for extreme processing power

Hardcore multitaskers rejoice. Fly through everything you do on your PC - from playing intense 3D games to creating and editing digital video, music, and photos. With the high performance platform capabilities of Intel® X58 Express Chipset-based motherboards, along with faster, intelligent multi-core technology that applies processing power dynamically when its needed most, PCs based on the Intel® Core™ i7-980X processor Extreme Edition deliver incredible performance with a rich feature set.
Wield the ultimate gaming weapon for greater performance in 3D gaming applications. Experience smoother and more realistic gaming made possible by distributing AI, physics, and rendering across six cores and 12 threads, bringing 3D to life for the ultimate gaming experience. And take digital content creation to a whole new level for photo retouching and photo editing. Unlock your full potential with Intel’s top-of-the-line desktop processor and experience total creative freedom that’s limited only by your imagination.

Product information

Intel® Core™ i7-980X processor Extreme Edition

  • 3.33 GHz core speed
  • Up to 3.6 GHz with Intel® Turbo Boost Technology
  • 6 cores and 12 processing threads with Intel® Hyper-Threading Technology
  • 12 MB Intel® Smart Cache
  • 3 Channels DDR3 1066 MHz memory
  • 32nm manufacturing process technology

Intel® Core™ i7-975 processor Extreme Edition

  • 3.33 GHz core speed
  • Up to 3.6 GHz with Intel® Turbo Boost Technology
  • 4 cores and 8 processing threads with Intel® Hyper-Threading Technology
  • 8 MB Intel® Smart Cache
  • 3 Channels DDR3 1066 MHz memory
  • 45nm manufacturing process technology

Features and benefits

Get extreme with your gaming and advanced multimedia.

Intel Core i7 processors deliver an incredible breakthrough in six-core performance and feature the latest innovations in processor technologies:
  • Intel® Turbo Boost Technology maximizes speed for demanding applications, dynamically accelerating performance to match your workload-more performance when you need it the most.³
  • Intel® Hyper-Threading Technology enables highly threaded applications to get more work done in parallel. With 8 threads available to the operating system, multi-tasking becomes even easier.Δ
  • Intel® Smart Cache provides a higher-performance, more efficient cache subsystem. Optimized for industry leading multi-threaded games.
  • Intel® QuickPath Interconnect is designed for increased bandwidth and low latency. It can achieve data transfer speeds as high as 25.6 GB/sec with the Extreme Edition processor.
  • Integrated memory controller enables three channels of DDR3 1066 MHz memory, resulting in up to 25.6 GB/sec memory bandwidth. This memory controller's lower latency and higher memory bandwidth delivers amazing performance for data-intensive applications.
  • Intel® HD Boost significantly improves a broad range of multimedia and compute-intensive applications. The 128-bit SSE instructions are issued at a throughput rate of one per clock cycle, allowing a new level of processing efficiency with SSE4 optimized applications.
  • AES-NI Encryption/Decryption Acceleration provides 6 new processor instructions that help to improve performance for AES encryption and decryption algorithms

Tuesday, June 1, 2010

multithreading

It is easy to confuse multithreading with multitasking or multiprogramming , which are somewhat different ideas.

Multithreading is the ability of a program or an operating system process to manage its use by more than one user at a time and to even manage multiple requests by the same user without having to have multiple copies of the programming running in the computer. Each user request for a program or system service (and here a user can also be another program) is kept track of as a thread with a separate identity. As programs work on behalf of the initial request for that thread and are interrupted by other requests, the status of work on behalf of that thread is kept track of until the work is completed.

Multitasking

Multitasking, in an operating system, is allowing a user to perform more than one computer task (such as the operation of an application program) at a time. The operating system is able to keep track of where you are in these tasks and go from one to the other without losing information. Microsoft Windows 2000, IBM's OS/390, and Linux are examples of operating systems that can do multitasking (almost all of today's operating systems can). When you open your Web browser and then open word at the same time, you are causing the operating system to do multitasking.
Being able to do multitasking doesn't mean that an unlimited number of tasks can be juggled at the same time. Each task consumes system storage and other resources. As more tasks are started, the system may slow down or begin to run out of shared storage.

It is easy to confuse multitasking with multithreading, a somewhat different idea.

Sunday, May 30, 2010

Parallel Processing

The simultaneous use of more than one CPU to execute a program. Ideally, parallel processing makes a program run faster because there are more engines (CPUs) running it. In practice, it is often difficult to divide a program in such a way that separate CPUs can execute different portions without interfering with each other.
Most computers have just one CPU, but some models have several. There are even computers with thousands of CPUs. With single-CPU computers, it is possible to perform parallel processing by connecting the computers in a network. However, this type of parallel processing requires very sophisticated software called distributed processing software.

Note that parallel processing differs from multitasking, in which a single CPU executes several programs at once.

Parallel processing is also called parallel computing.