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

Connect Nokia 3310 LCD to LPT port

I found this circuit really simple and interesting. It is really simple to drive Nokia 3310 graphical LCD by using simple LPT cable and some PC software. Firs of all connect graphical LCD to LPT port according to following circuit: Graphical display needs about 3.3V of supply voltage, while LPT gives about 4.5 -5V. This is why diodes are used to reduce voltage by formula: 4.5V-0.7V-0.7V=3.1V. LCD pin numbering on Nokia 3310 LCD is as follows: Graphical display is controlled by PCD8544 controlled. Download Controller specifications here:PCD8544.pdf As you have noticed LPT port data pins are used for data transfer and powering of LCD: When hardware part is done it is time to draw some images on LCD. For this download control program (Pascal source is included in package too). Software is written to drive ports directly in DOS or win98 operating system. If you are using Win2000 or XP you might want to read: Program LPT and COM ports easily under windows NT-2000-XP. I have copied One of solutions here: Download PortTalk and unzip it in separate folder somewhere. Then copy allowio.exe directly to the directory where is you program which you want to run. Then create shortcut of…

Continue reading

High capacity multimedia cards in embedded systems

Multimedia cards are popular around us. There are well known Compact Flash, CD, MMC Memory Stick. Usually when you make new design with external memory you usually are considering EEPROM or Flash ICs with some capacities with up to few Mb. But why limit yourself, because in some cases it is smarter to add multimedia card socket and use any capacity (even few Gb) multimedia cards in your projects. Using removable storage cards you get few advantages: You can share data from your card with any device that has reader; You can have any size of storage memory; Easier to get one than specific IC; Cost effective; What I really like about Using multimedia cards is that you can get huge amounts of storage of price small EEPROM or Flash IC. They are cheap because of mass production. They are available everywhere: digital cameras, Mobile phones, personal players, etc. Another advantage is that you can store data in format that PC understands. This way it is easy to collect data for later analysis using PC software. MMC and SD cards Multimedia cards(MMC) and SD-Media cards are compatible. Connectors are really cheap an easy to solder: Bellow is an example how…

Continue reading

RS-485 interface for connecting multiple devices

RS-485 is updated version of RS-422 interface. It is designed to communicate between multiple devices connected to single data line. Standard allow connecting 32 transceivers to data line. This is achieved by using tri-stable drivers that are separate programmable. This allows only one device work at a given time. Resistors used in circuit are so called termination resistors for matching impedances of transmitter and receiver to avoid reflections. Matching resistor depends on cable used, but is 120Ohm. Usually RS485 chips have two control inputs Data Enable(DE) and Receiver Enable(RE): On the IC you see that DE active is high level and RE is low level. This allows connecting control line to single MCU pin. This assures that node won’t be receiving while it is transmitting: In many cases CAT-5 cable is used with impedance of 100Ohm and terminations of 120Ohm resistors at both ends of transmitter and receiver. CAT-5 cable has already twisted pairs and it is cheap enough to use for many applications.

Continue reading

RS-422 interface basics

RS-422 is a standard for serial data transfer similar to RS-232, but it uses the difference between two lines (RS-232 uses a reference to ground). RS-422 uses twisted pair (difference pair) to represent the logic level. Such data transmission type is so-called balanced transmission as it is not referenced to ground. This is a noise proof solution because the same noise affects both lines which are differentiated out. This allows carrying data at much longer distances at higher data transfer rates. RS-422 can transmit data to up to 1200metters. Maximum transfer rate can be 10Mbits/s. 120Ohm resistor act as terminal resistor which removes reflections, that may occur during transmission over long distances. Voltage levels between twisted pair lines are 4V and between transmission lines is 12V. RS-422 can be compatible to RS-232 interface by simply connecting the negative wire of twisted pair to ground. There are many RS-422 interface chips available in the market. One of them is MAX3488. They can be connected to the MCU UART interface like they are RS232. The single difference between RS232 and RS422 is voltages but transfer protocol is the same and you can work with it like it was RS232, just more noise…

Continue reading

ATMEL announced 3 new low power Tiny AVR microcontrollers with high speed timers

Atmel’s new devices are 20-pin tiny-AVR microcontrollers with high-speed timers. All three devices are pin-compatible, differing only in the size Flash, EEPROM and SRAM memories. The ATtiny261 has 2 Kbytes of self-programmable Flash memory; The ATtiny461 has 4 Kbytes of self-programmable Flash memory; The ATtiny861 has 8 Kbytes of self-programmable Flash memory. All devices deliver 20 MIPS throughput when running at maximum 20 Mhz frequency. The internal 8 MHz RC oscillator and the on-chip PLL can run the 10-bit timer/counter up to 64 Mhz speed. The high-speed timer/counter with three independent PWM generators is ideal for battery chargers, battery monitoring, power monitoring and motor-control applications. All devices have internal EEPROM, pull-up resistors, an internal 8 MHz precision oscillator and 12 general I/O pins for application use. Alternatively, the I/O pins work as ADC inputs or PWM outputs. ATtiny261, ATtiny461 and ATtiny861 are available in 20-pin SOIC and PDIP and 32-pad QFN packages.

Continue reading

Quick start using WinARM

WinARM is a collection of GNU tools for ARM MCU family packed by Martin Thomas that works on MS Windows. WinARM is developed by inspiration on WinAVR project and it is really simple to start working with it if you had a chance to try WinAVR. WinARM doesn’t depend on cygwin or mingw-environment like GNUARM tools does. WinARM toolset is compilled to work with most ARM microcontrollers including LPC2000 series, Atmel’s ARM microcontrollers and Analog devices ARM microcontrollers as well. Basically tools should work with any microcontroller with ARM architecture.

Continue reading

What are ARM microcontrollers

First ARM microcontrollers I have tried was LPC2148. This is part of LPC2000 NXP 16/32-bit MCU family. The microcontroller I mentioned above is based on ARM7 core, which is based on RISC architecture.  ARM7 sometimes called ARM7TDMI is widely used ARM core variant. Many digital equipment like mobile phones, digital cameras, printers uses ARM7 microcontrollers.ARM7 is a 3 volt 32 core with Thumb 16-bit compressed instruction set. ARM7 can work at clock rates up to (and sometimes over) 100MHz. ARM core works using: 3-stage pipelining;32/16 bit RISC architecture(ARM/THUMB instruction set);64 bit result multiplies;EmbeddedICE system debugging via JTAG interface;low power; It is really simple architecture and you don't even to be a prof of ARM architecture to start working with. Almost all developers now are developing applications using high level languages like C. Compilers are dealing with hardware routines that you don't always need to care about. ARM microcontrollers are easy and fun to learn as they have some properties that you wont find in AVR microcontrollers or in MSC51 architecture. Few of them are: shaded Registers for different operation modes,  conditionally executed instructions, ARM/THUMB instructions for 32/16 instruction sets, memory acceleration (MAM), clock source programming, vectored interrupts and many more.…

Continue reading