Interfacing MPXV5100 pressure sensor to Atmega8

The MPX5100 series piezoresistive transducer is a state-of-the-art monolithic silicon pressure sensor designed for a wide range of applications, but particularly it is convenient to interface to microcontroller or microprocessor with A/D inputs. This is thin-film metallization, and bipolar processing to provide an accurate, high level analog output signal that is proportional to the applied pressure. More details can be found here MPXV5100 This sensor measures differential pressure comparing to atmospheric so when there is no pressure applied it shows 0kPa;

Analog Devices Digital temperature sensor AD7416

There aremany situations when you might need to measure temperatures or trigger some events due to temperature changes. It is very convenient to have these values in a digital format. Then you can transfer digital values to microcontroller to process data or jus to display on LCD screen. AD7416 Sensor description This is 10 bit digital temperature sensor which ca measure temperatures in range interval -40 to 125ï‚°C). Temperature conversion ADC has 15 conversion times. Sensor can be supplied from 2.7 to 5.5V, so it is no problem to connect directly to ARM microcontrollers. Data is transferred through I2C serial interface. More detailed description – datasheet can be downloaded from Analog devices page: AD7416. Here you find simple routine where Atmega8 microcontroller reads sensor data decodes temperature value and displays it on 2×16 LCD display. Lets connect everything to simple circuit. Don’t forget to connect pull-Ups to SCl and SDA …

Continue reading


AVRISP is very popular Parallel port programmer for flashing AVR type microcontrollers. Earlier I used programmer connected to com port, but frequently I needed this port for other purposes, I decided to make it work on parallel port. The programmer on parallel port is much simpler than connected to serial port, because there is no needed voltage adapter like MAX232. You can only connect your MCU directly to port. But for safety reasons there is good practice to use buffer ship like 74HC244. The header for programmer I used standard 6 pin ISP header. I wanted to make compact programmer, so I put circuit inside LPT head. Few pictures of it:   Programming is usually done by using PonyProg software. Bellow is its configuration:


After release of AVRStudio4 there is ability to integrate AVR-GCC compiler in it. As you know AVR studio has only assembler compiler- debugger. Integration of AVR-GCC is done by plugin. Plugin detects AVR-GCC by it self, you don’t have to bother. What do we get from it? Of course – full set of good tools comparable to commercial. Convenient user interface, automatic makefile generation, visual debugging by watching processors register, or even you can flash the chip. We can say that abilities are: 1. Compilation, setting parameters, automatic AVR-GCC detection; 2. Graphical User Interface – convenient project setting; 3. Tree like project view; 4. Project can be complied with predefined configurations; 5. Convenient error handling; 6. Ability to use external makefiles; 7. Map and List file generation; 8. Plugin inspect connections among source files(c and h files who are not part of project); 9. User can work with c or …

Continue reading


This time I decided to lay down some information on using AVR-GCC compiler. I am not going to rewrite what’s in documentation is already written, but just write down some issues, what can help you start using this amazing tool. Introduction Probably the most AVR programmers had a question in their mind what compiler to use for their designs. The choice is really big. You can use commercial ones like IAR, CodeVision, ImageCraft. These compilers come with convenient GUI’s, code generators. But you have to buy license to use them. So if you are going to make low budget project, the best choice is to use open source compiler GCC . This is the most successful open source compiler in the world. For AVR platform it is called AVR-GCC. The compiler itself has no graphical interface everything can be done in MSDOS command line or in Linux command line. To …

Continue reading

Microcontroller C programming

There is no doubt that everyone faces C language when programming microcontrollers. This is most popular language among hardware programmers. There are plenty books about this language – you just have to open and read. This article is not about language basics, but there is effectiveness of c language in embedded systems touched. Quite often you can find good examples of effective algorithms: faster code performance and code size as well. In order to write good optimal algorithm you have to know structure of compiler. Of course we are not going to analyze compilers, but we can look through few rules and tricks and achieve optimal algorithm. Begining What to do when limit of program size is overrun or there is not enough speed in some cases. Of course you will say, that these parts it is best to write in assembler, but is this a solution? Maybe there is …

Continue reading

GNUARM for ARM microcontrollers

In this article you’ll find some information about how to configure GNUARM toolset for compiling ARM7 microcontrollers. GNUARM is the open source toolset for ARM7 MCUs. It has GCC compiller and debugger. Our purpose now is to set up tools in Windows environment and compile one project. First of all download compiled toolset from Select the newest [GCC-4.0 toolchain] located bellow Cygwin. After it is downloaded, start the installation: 1. Start window 2. Accept license agreement. 3. Select folder where do you want GNUARM to be installed: 4. Select the components. You can select all of them. 5. Chose Start menu folder name – just leave as it is. 6. Select desktop shortcut to be placed. I higly recoment to check Cygwin DLL, because despite I had cygwin installed, but I had to copy DLLs to copy manually. If this option ischecked, DLL files will be copied without bothering …

Continue reading