Fixing bad AVR Fuses

It’s pretty easy to make mistakes while programming an AVR’s fuses and making a mistake could seem to render your AVR unusable. Don’t give up, there are three main causes that could lead to this message from avrdude:
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

  1. Check the connections between your programmer and the AVR (perhaps one of the leads have fallen out or one of the solder joints are damaged)
  2. The clock fuses are set for a source you aren’t providing, for more information on fixing this read below
  3. The SPIEN (SPI enable) fuse has been unprogrammed, this means that you can no longer program with a standard serial programmer (such as a USBTinyISP), to fix this you need a high voltage parallel programmer, for example MightyOhm’s High Voltage Rescue Shield (an arduino is required) or the Atmel AVR Dragon

Read more »

DIY AVR Target Board

In order to program the ATMega8 included with the Asuro Robot Kit I have designed two AVR Target Boards. Initially I had both in one, but I couldn’t fit both on the one veroboard. This target board is designed to program most 40 pin, 28 pin, 20 pin and 8 pin AVR 8-bit microcontrollers, for example ATMega162, ATMega328, ATMega128, ATTiny2313, ATTiny13, etc. I included a 2×3 ISP header so it will work with most new AVR ISP Programmers (for example adafruit’s USBTinyISP), but for those wanting a 2×5 header it should be a simple modification.

Click for a larger image...Click for a larger image...

Read more »

Asuro Programmable Robot Kit

I was given an Asuro Programmable Robot Kit for my birthday, but haven’t had a chance to look at it until now. It looks like a fantastic integrated solution to use as an introduction to robotics, however there is one particular aspect I dislike about it; the bundled software and programming solution. I haven’t tried installing the software, but it looks clunky, restrictive and painful, additionally they expect me to program it with the included IR programmer (utilising the software). I would much rather use Adafruit’s USBtinyISP, Emacs, AVRDUDE, GCC-AVR and design an AVR target board (which I’m about to finalise, more details to come) to program the included ATMega8.

After I have it all soldered together and have it running some software I’ll post more details on what I’ve done, for now all I have are plans.

Whirlpool Daily Roundup RSS Feed

Last year I wrote a Whirlpool Daily Roundup RSS Feed generator, the feed is generated hourly and can be accessed at http://fergofrog.com/wproundup/wproundup.rss. Please set your reader to not download it too often (every 20-30 minutes is fine), it is hosted on my home internet connection and I can’t handle too many regular requests.

I based it off a feed I used a few years ago, which is hosted at https://github.com/tarka/Whirlpool. However I wanted each post to have its own item in the feed, so I rewrote tarka’s version. My greatest problem was that the pubDate field requires a RFC 2822 formatted time stamp. Whirlpool not providing that on their page I began writing up a parser module that could handle each website and parse the date from there; however I found that whirlpool had too many sources, many of which don’t provide the time their article was published. My final solution was simply to set each article to be published at 10am AEST, which isn’t great but it was better than any other method I could think of (including stuff with databases and a mixture of database + parsers).

I have put the source code up here: http://fergofrog.com/wproundup/roundup2rss.py. It is released under GPL 2.0, if you want a copy of the license you can find it at http://fergofrog.com/wproundup/gpl-2.0.txt. Feel free to adapt it to your needs, or to another website, that’s why it is released under GPL. If you do use it, then feel free to leave a comment about it, I’ll be interested to see what you have done.

If you notice any problems with the feed please let me know in the comments, or my email address is in the source code.

Updated Server

In order to clear some space on my server’s HDD I have wiped and done a fresh install of everything on it. I have additionally added an 80GB HDD for the install, and a 250GB HDD for music. I had a backup of the old blog, but I have chosen not to install it and start fresh, again. I’m not making any promises on updating this often, but I will endeavor to post updates on things that I’m doing.