Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

Review on AVR serial and parallel microcontroller programmers

Its been a lot written about AVR microcontroller programmers. This article concludes most common programmers. The easiest programming method is Serial Downloading so called ISP. This allows to program AVR microcontroller without removing it from target board. Usually in such boards are special ISP connector where you connect external AVR ISP with standard 6 or 10 header. AVR ISP usually connects to computers COM or LPT port. COM port has advantage of ability to use long cables while LPT is limited up to about 1 metter long. But in other hand using COM port requires additional complementary circuit to match the voltage levels while simplest LPT programmer doesn’t need any parts at all: But it is safer to use some kind of buffering circuit like 74HC244 to add some protection from port failure. Another programmer which can be successfully used is ByteBlaster. This is recommended when you are used to work with PLD (Altera) devices. You may easily modify ByteBlaster to be able to program AVR microcontrollers. For programming AVR microcontrollers you may use AVReAL programming software or avrdude. It is up to you how you will configure your software. You don’t even have to modify your ByteBlaster programmer if…

Continue reading

Few words about SMD-Surface Mount components

Today electronics is shifting to SMT (Surface Mount Technology) or SMD (Surface Mount Devices) area. DIP domination has left behind. They won’t be vanished from electronics industries as there many areas where they are and will be successfully used. But as electronic circuit complexity grows, demand on PCB miniaturization increases there is no other way as to use SMD technology to achieve these goals. I bet Electronic hobbyists noticed that it is harder to find some particular electronic elements in DIP packages. Many microcontroller types are released only in SMT packages like Atmega128- QFP64, LPC2000 microcontroller series in LQFP package series. I don’t talk about bigger IC like AVR32 or FPGA where BGA packages comes with 672 connection balls. This situation pushes all us to other level of prototyping. Many of electronic designers and hobbyists are using SMT quite a long time as they see benefits of it. The rest through-hole technology lovers have to accept and manage the SMT. There is nothing difficult up to some level. Probably you have tried to solder SMD resistor or some SOIC IC. It may look difficult at a first glance but some patience and you will master this. Let’s go through some…

Continue reading

Programmable logic devices

In a market you can find a bunch of programmable logic devices – PLD. They can be small scale integrated – SSI, medium scale integrated- MSI, mask programmed gate array – MPGA (MPGD – masked programmable logic devices). Now the most popular are FPGA (Field Programmable Gate Arrays). What is a difference between FPGA and MPGA? MPGA are hard-coded during manufacturing and cannot be erased or reprogrammed while FPGA are programmable – usually EEPROM or SDRAM. Of course there are other differences between FPGA and MPGA. One of them is speed. MPGA usually is faster as MPGA needs fewer elements to form logic gate while FPGA needs additional elements to enable programmability – this adds additional resistances and capacitances in circuits. But today’s technology allows reaching significant speeds with FPGAs too. Other difference may be integration. As we mentioned MPGA requires fewer elements to form one logical gate, they can contain more logical gates, but again the area of chip is also limited by pin number- this different becomes meaningless. The main criteria of choosing MPGA or FPGA would be: Speed; Density; Cost; Manufacturing; Prototyping; Ability to modify; Simulating. If we need to prototype a project you will chose FPGA…

Continue reading

AVR microcontroller memory map

AVR microcontrollers are using Harvard architecture. This means, that in this architecture a separate memory types (program memory and data memory) are used and connected with distinct buses. Such memory architecture allows processor to access program memory and data memory at the same time. This allows to increase the performance of MCU comparing to CISC architecture, where CPU uses same bus for accessing program memory and data memory. Each memory type has its own address space: For instance few Atmega series memory map examples:

Continue reading

Flash programming of AT89 microcontrollers using ISP adapter

Microcontrollers family AT89C has parallel programming interface of flash memory. In order to write information we need to supply programming voltage +12V and for controlling almost all pins of ports are used. This is why parallel programming is done in special devices – programmers. Microcontrollers AT89S besides parallel programming ability have ISP programming ability. Using Serial programming interface doesn’t need +12V of programming voltage, because inside interface is voltage converter included. When programming AT89S microcontroller using ISP method there are only four lines needed – RESET, SCK, MOSI, MISO. Using ISP programming method it is not necessary to remove microcontroller from circuit ISP is so called in-system programmability. How does it look in circuit shows following illustration: Programmer connects to microcontroller using ISP header. Resistors R1-R4 are used to avoid conflicts of signals between programmer and peripheral circuitry. ISP programmer can be connected to LPT port which controls all programming process and synchronizes overall process. Programmer is same as AVR ISP programmer and AT89S microcontrollers can be programmed using popular software like PonyProg.

Continue reading

AT89 microcontroller family of Atmel

Microcontrollers with MCS-51 architecture of Atmel are one of the first product with inbuilt Flash program memory. Such attitude of Atmel gained popularity of its products among embedded system designers and hobbyists. Built in flash memory reduced the overall cost of microcontrollers. As we know the main popularity of Atmel is gained by AVR microcontrollers where flash memory is used with self programming abilities. This step of Atmel organisation made other companies like Motorola, Philips, Texas Instruments to release flash microcontrollers. All Atmel microcontrollers of family MCS-51 with flash memory are marked as “89”. This rule is followed by other manufacturers like Philips, Temic, SST, ISSI, just Winbond corporation marks them as W77 and W78. Write cycles of AT89 family microcontroller flash are over 1000. Reading AT89 microcontroller markings can give yo ua bunch of information like letter “C” (AT89C) says that chip is based on CMOS technology and parameters are similar to similar microcontrollers of other organisations like Intel 80C51 or Philips 87C52. Marking AT89LV means that power supply level is reduced to 2.7V. AT89S has ability to be in system programmed (ISP) using ISP interface. AT89LS has ISP ability but also should be powered by voltage of 2.7V.…

Continue reading

Prototype PCBs fast

Making PCB at home is time consuming matter. How to make prototype PCB fast at home require some skills. I bet fastest and messiest thing would be using resist-pen and paint track directly on PCB board. But this process is limited by complexity of your circuit. More complex your circuit is – more mistakes you can make. It is better to manage one good PCB layout software like CadSoft. This is more than enough for hobby projects. For smaller PCB’s you don’t even have to buy it. It has free limited version where PCB size is limited to 2.5×4”. It is rich in component libraries o make prototyping PCB even faster. For prototyping you will need etchant solution (like Fe2CL3), laser printer, iron, glossy photo paper and copper board. And start prototype PCBs fast: First step – draw your schematic to schematic capture program. Then place parts on the board and route the board; Print trace image in a glossy paper; Transfer toner to PCB using hot Iron; After paper stuck to PCB soak it with water and remove; Etch the board; Clean toner from PCB; Drill holes; Now you are ready to solder. Find mode details on prototype PCBs…

Continue reading