Fruttenboel AVR department

During the 2006 IWM, we had some discussions about microprocessors and controllers. A lot of time was spent on the Atmel AVR line of processors and part of this, kept on echoing between my ears (on the inside). Due to a discussion in the dutch WISclub mailinglist, I got drawn into the Atmel AVR stories and after some time I felt I needed to get in touch with these processors. Not in the last place since Tigersmurf (as can be seen on makes such a wonderful products based on this architecture. So I ordered one of his cheaper boards, with an ATmega8515 processor on board, running at full 16 MHz. It's a development system targeted at AVR starters. And I am part of that set.

One remark: if you are a dedicated follower of the Penguin, like I am, you may have some difficulty browsing the achatz site. If so, switch to the Opera browser, or just hang in there and read between the lines. Franz' products are worth the effort.

AVR projects

Below is a list of AVR related projects. I have a plan, but I will not reveal it here. I will keep you posted and new results will be published as soon as possible. There are no clickable links in this section. All clicking should be done in the navigator frame on the right. There you can also find my E-mail address in case you want to get in touch with me.

AA, the Avr Assembler

Before continuing work on the Plov compiler I want to make an assembler first. Fort the AVR of course, since there isn't a decent one yet.

VAX 01

My first ever AVR processor board with lots of practical applications. Based on the AT Mega 16 processor. The PCB's are for sale.


Spent a lot of time working on the Okapi programmer. It doesn't look like the original anymore. I think it's better now. See if I can have some PCB's made in the far east.

NGW 100: Will the Atmel NGW100 work with Linux?

Experiences with the Atmel NGW100 kit, containing a 32 bit AVR DSP MCU running at 20 MHz with dual RJ45 connectors, USB port, serial port, SD/MMC card interface. Plus: the board runs AVR Linux! See how far we can come with this gem.

Yomal: Yet One More Avr Language

In the m4m section (visit it via Fruttenboel Homepage) I try to make a Modula-2 compiler for microcontrollers. I am not vbery succesful at it. So now I try to make the simplest possible compiler for the AVR. Yomal is a compiled language but it comes as close to assembler as it gets..

Choose an assembler

At first I wanted to start programming for AVR with the native gcc compiler. But I could not find it on the net. Which is no surprise since it is not available as such. It is part of the (AVR) binutils. And you need to compile this package to be able to extract the C compiler from it.

That was too difficult to me. So I looked a bit further and started to get ashamed... Such a small processor and then reverting to such a big language. So I determined assembler would be just for me. I considered some verions and thought that tavrasm and gavrasm were suitable for me. I chose to use gavrasm, since it came with the source and the source was for FreePascal. Which comes close to Modula-2. Perhaps there will be a port to Mocka, someday...


After studying the Picoweb server, Microweb server (a clone of the Picoweb server) and the WebTiger, I came to the conclusion that it will be best to make a successor to the Picoweb server from scratch. It will not be comparable to the WebTiger (with Nut/OS and 1 GB of filesystem), but the target is to make a modern day Picoweb server.

This will be a long time project. Don't rush me. But please do race me. If you are inspired, and need the thing right away, please make it and tell me you made it afterwards. Thank you!


Okapi (Optically Koupled AVR Programming Interface) is my attempt to make the so many-th AVR programmer. My goals are: reliability, safety, speed, simplicity. The programmer is meant to circumvent the chicken and egg problem: how to make a COM port based programmer when you cannot yet program the required ATtiny processor that is used in the interface...
Okapi uses COTS materials, although you might not have them on YOUR shelves... :o)

AVRdis: the AVR disassembler

After digging myself a road throught the AVR opcodes, I made this first version of the AVR disassembler. It works very fine, apart from some minor bugs in the address calculations with jumps and calls.

Opcode: the AVR instruction set

I entered the AVR mnemonics plus the associated opcodes into a text file, sorted the file on opcode (instead of mnemonic) and analyzed the result. Some interesting aspects of the AVR are revealed. Read about it in the Opcode section.

Page created 5 September 2006,