Blog Atom RSS

My AVR Development Board

Friday, December 9th, 2011

I build a new dev board for my AVR and Arduino development. My old one really was too small… Since I am daily are working on the evaluation of all the nice and tiny IC’s in my electronics box I needed this. Maybe it will become too small in some time but currently it helps me a lot.

It consists of two large breadboards and a wooden panel underneath with four rubber foots. I will work on optimizing this in the future and maybe I will write a document, describing how to build it like mine… ;)

Posted in: DIY

Evaluating LT1025

Friday, December 2nd, 2011

Today I found a chip named LT1025. It is a Thermocouple Cold Junction Compensator from Linear Technology which is very easy to use for building temperature sensors for measurement and control and can also be used to convert a heat gradient into electricity.

It took about 5 minutes to get it working in the Arduino environment.

Just order some samples from Linear, they will send you one or two without charge… ;)

Posted in: DIY, electronics

Evaluating 74HC238

Thursday, December 1st, 2011

Image of 74hc238 icI am currently working me thru my box of microchips and other electronic stuff. I found some 74HC238 IC’s today and gave them a try. It was no very spectacular event but it’s nice to know what I have laying around when starting the next AVR project.

The 74HC238 is a high speed CMOS 3 to 8 line decoder which makes it possible to control 8 outputs with only 3 input lines. You will find more information and the datasheet at Sparkfun.

I used it to control 8 LED’s with my Arduino using just 3 output pins. Nothing worth to show you a photo… ;)

Posted in: DIY, electronics

Building a working toolchain for AVR and Arduino development using Gentoo Linux

Wednesday, November 23rd, 2011


Gentoo‘s crossdev is not able to compile a toolchain with one command in one process. Since I am using Ardunio for embedded prototyping I really needed to fix this!

If you don’t have crossdev installed just execute:

emerge crossdev

Here you find more information about crossdev

crossdev is modifying /etc/portage/package.use while compile time… :/ Before stage2 it adds the obsolete USE=”nocxx” flag to cross-avr/gcc. If you have USE=”cxx” flag set in /etc/make.conf or when USE=”cxx” is not set in make.conf it will fail to build; I think it is a default value. So you need to add USE=”-cxx” in /etc/make.conf at the beginning of the process. When crossdev reaches stage2 it removes USE=”nocxx” in /etc/portage/package.use and expects USE=”cxx” and not USE=”-cxx” in /etc/make.conf. If the compile error rises up, simply change USE=”-cxx” to USE=”cxx” in /etc/make.conf. Then execute the crossdev command again. Since everything before gcc stage2 is compiled already, crossdev is not doing it again and continues at gcc stage2 with the USE flag changes set.


  1. /etc/make.conf: USE=”-cxx”
  2. crossdev -t avr
  3. Compile error at stage2
  4. Change USE=”-cxx” to USE=”cxx” in /etc/make.conf
  5. crossdev -t avr
  6. Installation complete! :)
  7. ln -s /usr/i686-pc-linux-gnu/avr/lib/ldscripts /usr/avr/lib/ldscripts

    This is filed in Gentoo bug #147155.

  8. For each AVR MCU you are using you need to do this:

    ln -s /usr/avr/lib/avr5/crtm168.o /usr/avr/lib/crtm168.o

    The Arduino IDE gives an error if the library for the used MCU is not found! Simply create a symlink for it and everything works… :/

  9. All done!

After all this pain in the last two days I have decided to build my own AVR toolchain in the future. I will never again go through this evil process of installing all this with packages provided by a Linux distribution regardless of Gentoo…

More about:

For Arduino users this solution does not fix the following problem:

It seems Gentoo is using a broken version of the avr-gcc toolchain. I have tried installing older versions of gcc, binutils and libc for AVR but with no luck. It took hours trying this out… :/

All the time I am getting problems related to the error described in the link from Archlinux above or much more complex problems I don’t wanna talk about. I am using the workaround described above for now but I think there must be a solution for these problems in the future.

I think this does not only happen for Arduino users because the compiled file implies the broken data and when writing it to an AVR using avrdude your program is broken regardless of Arduino. This is a problem for all people trying to use Gentoo for AVR development. After talking to some people on the Arduino develper list it seems not only Gentoo is broken at this place. Many distributions are shipping the latest avr-gcc version, utterly unaware how broken the most recent versions usually are.

I hope this information is helpful to someone and I wish good luck… ;)

BTW: I am using the wonderful GNOME based Arduino IDE called Gnoduino which I found by researching my problems today… ;) Give it a try! I love it because it natively runs on my Desktop, not GNOME but Xfce, without the use of JAVA.

Just ask me if you have questions!

Posted in: DIY, embedded, linux


<< 12 3 4 56 7 8 9 10 11 12 13 14 15 16 >>


Account ACTA Amsterdam Android App Arduino Arm Attiny Automation Avr Beach Board Book Bootstrap Circuit Clouds Code Community Cross Css3 Cyanogen Denhaag Denmark Desaster Deutsch Device Distribution DIY Dotnet Electronics Embedded Extension Extension news Firefox Foo Fosdem Freedom Freifunk Friends internet Fun Games GCC Gentoo German Git Gnoduino Hamburg Header Hello Holiday Host Howto HTML Html5 Httpd Internet Irc Jabber Javascript Keitum Kernel Language Lcd Led Lego Leiden Leo Leo-search Life Linspector Linux Madurodam MariaDB Matrix Mindstorms Minimal Mirror Mobile Monitoring Moon Music Mysql Nagios Nas Netduino Netherlands Network News NXT Ooc Openmediavault Opensource Openwrt Patents Pcsc Petition Photo Photos Php Politics Programming Python Question Recovery Robotics Rsync Sabayon Scheduler Scm Sensor Server Service Shell Simulation Smartcards Snow Soap Society Software Starwars Static Sun Sweden Sylt Techno Telemichel Toolchain Translation Vpn Website Wget Wine Wiring Wordpress Wsdl Xmpp Zsh Zynk