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

Embedded C program libraries and linking

What is compilation of program maybe it is more or less clear. But what is program linking? I am sure many beginners heard of this but done exactly know what it is. In a few words I can say, that linker creates an output file from relocatable objects. Compiler is not one big program. It usually consist of up to a dozen smaller programs. These programs are controlled by some program so called “program driver”. This driver can be a makefile and make.exe program. The pieces of whole compiler are: the preprocessor, the syntactic and semantic checker, code generator, the assembler, the optimizer, the linker and make program. Lets see common example of compiling procedure: These programs are split in pieces for easier design and maintain as each is specialized program in its own. In many cases same program can be used for different programming languages. One disadvantage of running different tools will take longer time that running one bigger program. Because there is need to send information between programs. There can be two types of libraries that can be linked to program: static and dynamic. If a copy of libraries is physically part of executable, then we say program…

Continue reading

JTAG Solutions for Testing-Programming

In a few words JTAG is debugging system of embedded systems. But sometimes it is used to program as it allows doing this. JTAG debugging is supported by AVRStudio with JTAG Solutions for Testing-Programming like JTAG-ICE, JTAG-ICE MKII, Dragon, etc. JTAG is understanded as tool which allows to manipulate and track the status of supported AVR while microcontroller is running on a circuit. JTAG allows to stop execution at any time, manipulate internal registers. It allows to examine Flash memory, EEPROM memory, SRAM memory, register file, Program counter, fuse and lock bits and I/O of course. JTAG debugging is working on Atmega microcontroller series starting from Atmega16. What you can get when using JTAG with AVRStudio: Emulation of analog and digital; JTAG Programming support; Support of ASM and high level language like GCC; Program and data bits Breakpoints; Real time operations One of simple JTAG Solutions for Testing-Programming adapters (AVR-JTAG) can be found at Olimex which is fully assembled and tested.

Continue reading

Sensing Sound Wave with microcontroller

Sound wave can be sensed by using sound sensor. If you are designing some kind of robot, sometimes it is useful to enable sensing of sound. Then you can program your robot to follow your voice commands. In some cases sound wave sensors are used as collision sensors. Sound wave sensor is a microphone. Microphone is a device which converts sound pressure in to electric signals. Lets see how sound wave can be sensed. As we already know, sound is a complex signal which consists of multiple different frequency waves. One sound wave can be represented as sin or cos signal: When many of such waves are summed (s called harmonics), we can represent any analog signal- any shape and any frequency. X(t)=A*sin(2πt/T)=A*sin(2πft), Where A – Amplitude, T – Period, f=1/T – frequency, t- time. This is a function of above sine signal. I am not going too deep in to details of trigonometric functions, you can find them in many math or physics book. Lets see how square impulses can be made of few different frequency, phase and amplitude sine waves. We can see in illustration that by adding multiple harmonics we can get desired signals. More harmonics we…

Continue reading

IrDA interface for an embedded systems

IrDA is a transmission standard commonly used in computer and peripherals like mobile phones. The primary purpose of IrDA is to provide device-to-device communication over short distances. IrDA solves the problem of usage cables, that may differ from machine to machine. With IrDA, no wires are required so this is easy to connect the same device to multiple device types like your mobile phone to laptops, other mobile phones or PDA’s. Full IrDA description can be found at https://www.irda.com. IrDa standard requires close communication of devices. This is low power transmission. It is essential because regulations are guarding the maximum level of IR radiation that can be emitted. Also, it is reasonable to assume that the two devices that are to communicate will be physically pointed toward each other before use. And only two devices can communicate at the same time. So IrDA doesn’t have to deal with collisions. And the main thing that IrDa is simple, cheap and require low-cost parts. The IrDA standard specification states that supported data rates can be between 2400bps and 115.2kbps over 1-meter distances. Later standard has expanded to support 1.152 and 4 mbps. Transmitter beam angle is from 15 to 30 degrees, and…

Continue reading

Power up your electronics using potato batteries

Thomas Pfeifer does something new and amazing every day. This time he demonstrates how simple digital clock or LED diode can be powered by using batteries made of few potatoes and two different types of metal (iron and coper). Demonstration shows that such battery made from single potato generates 0.848V voltage and is able to to give up to 130uA. He used three potatoes connected in series to power digital clock or light the LED. More photos is here

Continue reading

Prototype board types

If you are just starting to take an interest in to electronics, this is good things to get to know what type of prototyping boards can be used. There can be four types of prototype boards: Solderless breadboard- where connections are made by using jumpers; Soldered protoboard – uses soldered jumpers and drilled holes; Wire wrap boards – special soldered breadboard or wire wrap board; Etched circuit board- requires drawing and etching with chemicals. What type of proto-board to choose depends of what type if schematic you are prototyping. For instance it is hard to work with SMT elements using breadboard, but this problema can be solved when using soldered proto-board. Soldered protobord takes more time to prepare comparing to solderless where connections are done by using jumpers. In solderless boards it is easy to repair mistakes. Personally I like breadboards for quick non complex prototyping. If my design is more complex and includes SMT elements then I prefer to use etched boards.

Continue reading

New generation ballistic transistor

As many of us know, that computer processor speed is limited because of transistor limits. But there is fourth generation transistor invented which is going to change todays technologies significantly. Specialists from the University of Rochester declared about the creation of ballistic transistor – device, which must become the instrument of new generation. Instead of improving the current transistor technologies they were experimenting on something different – ballistic transistor. Scientist Quentin Diduck states that new generation technologies would be measured not in gigahertz’s but shifts to tera-hertz’s. New device is based on silicon where electrons are in stage of two dimension electron gas. In this stage electrons can move without collision with aggregate substrate atoms. So called Ballistic Deflection Transistor – BDT working principle is based on electron movement like in pool game where electrons are directed by electric field. The electron movement is smooth an there is no need to forse them. It is enough to give electrons some amount of energy and they inertially will reach the exit. There can be two stages of transistor “0” and “1”. It depends in which direction electrons are directed by control field. Small demo movie (WMV file, 3.14Mb) demonstrates how it…

Continue reading