ATMega644 Basic Prototype IoT Building Block

This Sensor IT Building Block is especially designed for IoT sensor prototyping, providing a low-consumption, powerful base platform for your designs


This device is fitted with an Atmel ATmega644 microcontroller, which benefits from a host of tools and Integrated Development Environments (IDE) already available for compatible platforms such as Arduino?, but providing double the capabilities from the memory point of view:

  • 64K of In-System Self-Programmable Flash

  • 4Kbytes EEPROM

  • 8Kbytes Internal SRAM

The microcontroller on this board runs on a 8Mhz Crystal, and it is fitted with a low-consumption, 250mA voltage regulator that allows the module to be powered by an external power source of up to 12V through the RAW pin. The internal operating voltage is 3.3V. The VCC pin allows to bypass the voltage regulator, requiring then an externally regulated 3.3V power source.

Usage Notes

This module does not come with any firmware (or bootloader) pre-loaded. Programming would need to be done through the In-circuit Serial Programmer (ISP) header (SPI connection), an ISP external device and an Atmel?-compatible tool, such as avrdude. For more information, visit The board is fully compatible with Lauszus’ Sanguino bootloader and board definition, which can be downloaded from

If you opt for the bootloader option, you can upload sketches through the UART interface (accessible through a header), using an USB to TTL serial adapter – I would recommend those based on the FT232RL over the CH340G, since the latter tend to cause a bit of a headache depending on the Operating System, but that is your choice. These are readily available and quite inexpensive, for instance on eBay – just search USB to TTL converter.? If they give you the option to power the module with 3.3V, you can also use that power source whilst uploading your sketch.

Since the board uses a 3.3V voltage regulator, the fuses for the ATmega644 should be programmed so that the microcontroller uses the external (8Mhz) crystal and the brown-out detection is configured for an internal operating voltage of 3.3V, as per below:

  • Low Fuse: FF
  • High Fuse: DE
  • Extended Fuse: FF

The above can be achieved using Atmel’s avrdude utility, with the following command line, once the hardware profile has been installed:

avrdude -C<avrdude conf file> -v -patmega644p -c<programmer used> -P<device file> -b<bauds> -U lfuse:w:0xff:m -U hfuse:w:0xde:m -U efuse:w:0xff:m

For more information of Atmel AVR fuses, check the online fuses calculator on: