Tag Archives: atmega

Face tanner to PCB UV lamp

uv_lamp_displayThese times it seems like everybody does his PCBs at home and posts about his process. So do I. I bought me a used face tanner in order to use it as UV lamp for my PCBs. There is also nothing new to what many others did before. The face tanner also had a time switch that (I thought) would make it a perfect UV lamp without the need of modifications. But the time steps were too coarse. So I modified it to have a finer time control. This is what this post is about.

Continue reading

512KB EEPROM for your ATmega328P

uptime_setup_512kb_eeprom_headerDuring my minimalistic solar powered datalogging project (here, here and here) I was at the point where I had more data than could be stored in my 32KB EEPROM. It was time to have more! As I already had the 24AA256 (32KB) from Microchip because of the wide supply voltage range and the low power consumption I looked for the biggest one of this series: The 24AA1025 is a 128KB EEPROM! It’s pins A0 and A1 can be used to address more than one chip. So there is a maximum of four chips giving you a total of 512KB EEPROM for your ATmega328P. This post describes the hardware setup (easy) and the software side. In the end we have a 512KB EEPROM memory with linear address range. Continue reading

ATmega328P wakeup from sleep via interrupt

atmega_capacitors_pv_4In my project “Arduino powered by a capacitor” (start, first tests, reducing consumption, optimized tests) I want to use an extermal timer like the DS1337 to generate periodic interrupts for my ATmega328P that will wake it up from sleep to do datalogging or whatever is the desire.

Using a real time clock (RTC) has the advantage of higher timing accuracy but also brings in a new problem that is described and solved in this post. Continue reading

Instructions from the AVR power library for ATmega328P

The library <avr/power.h> makes it easy to shut down all unneeded hardware of an ATmega controller.

The documentation of this library shows all available instructions and also on which controllers they are working. As I didn’t find this very readable I copied the table and deleted everything that doesn’t apply to the ATmega328P. Continue reading

ArduinoISP: reading and writing fuses on ATmega328P

An arduino board like the Uno can be a programmer for a standalone ATmega chip. For the ATmega328P that is used in the Uno there is a tutorial on the arduino homepage. This lets you burn the bootloader into the chip without the need for other hardware. This post shows how to use the same configuration for reading and writing the fuses on the chip. Continue reading