JeonLab @ instructables.com writes:
For relatively small (less number of pins than ATmega328) projects, ATtiny series, ATtiny45 or Attiny85 are good choice in terms of its physical size (8-DIP or 8-SOIC) and low power consumption. There are many ways to program it. One of the popular device is USBtinyISP and DASA. Both of them work very well with WinAVR (AVRdude).
ATtiny programmer using Arduino ISP - [Link]
Pedantite built his own Little Wire AVR programmer/tool:
The Attiny 85 has a neat feature that I had overlooked until I built this in that it has a built in PLL that lets you run the system off the internal RC oscillator at around 16Mhz. Many other AVR’s lack that PLL, and can only run at 8Mhz maximum without an external crystal.
Little Wire AVR-ISP - [Link]
USBTiny-MkII SLIM programmer (AVRISP-MKII clone) supports all Attiny, Atmega, and Xmega µcontrollers. It has three programming interfaces: ISP, PDI, and TPI. It works with AvrStudio or AvrDude. Small convenient board, contains double direction voltage translator for all interfaces and working from 1,2V, jumper for target chip voltage selection 5V or 3,3V (LDO stabilizer), and status LEDs. The heart of the device is a AT90USB162 controller with hardware USB, so it can provide fast programming speeds.
USBTiny-MkII SLIM programmer - [Link]
Here’s a header-less ISP connector for AVR microcontrollers. It’s based on the AVX 9188 Staggered SOLO Stacker connector. [via]
ISPtouch for AVR Microcontrollers - [Link]
LadyAda some time ago build a low-cost AVR ISP. In μC.net there was a further development of the project under the name “AVR ISP Stick” or “People’s Programmer” I take up the project and develop it further with the permission of Ada.
AVR ISP Stick - [Link]
We use an Arduino to program other ATmega without bootloader . This technique allows you to use all flash memory for code and make boards using new ATmega, cheaper than those with bootloader.
The qualities that have made the success of Arduino are undoubtedly the open-source software, many libraries, a good hardware and a virtually infinite Reference that explains each possible use of the platform.
But if we use Arduino for a specific use, we can integrate it into a specific circuit and program the micro in a way that performs a single firmware. We may so remove the bootloader and leave to the firmware the entire program memory.
The ATmega328 has 32 Kbytes of flash, that when the chip is mounted on Arduino are not all available, as a portion is reserved to the bootloader, the purpose of which is to communicate with the IDE Arduino to load programs (sketch) to be performed. The same bootloader, on each power on or reset of Arduino, verifies the presence of a sketch in flash memory and executes it. The bootloader occupies a space of 512 bytes, in the case of Arduino UNO.
Arduino ISP and stand-alone circuits - [Link]
This is a very basic Atmega328 development kit It includes:
- Atmega 328 8 bit microcontroller with 20 MHz crystal resonator
- PCB board with place for external components
- Power circuit that allows powering Atmega directly(2.7-5.5 V), or through a L7805 voltage regulator(8-35 V). L7805 circuit includes a thermal fuse.
- 10 pin ISP connection for programming.
Atmega328 Development Kit Guide - [Link]
Since this is a well working low budget AVR ISP progammer (by Thomas Fischl), I offer a compact single-sided THT-SMD combined layout. The circuit is identical to the official programmer, so the original firmware can be used with this board. This programmer is supported by avrdude. One of the main features is that the low speed USB protocol stack is realized directly with the used AVR controller, which makes this programmer a low budget one, about 5EUR material costs. Notice however that this programmer cannot be used with 3V3 systems without an additional level shifter.
Alternative board for USBasp AVR ISP programmer - [Link]
Picked up one of these IC test clips on eBay for a few quid.
The idea is that you clip it to a chip on a circuit board so you have easy access to the connections for use with test probes.
I’ve got a different use for it though. If you develop a circuit using an Atmega chip (like, say, a circuit you developed with an Arduino but have now moved to a custom board), reprogramming the chip is fiddly. The best way to make your circuit easily re-programmable is to build an ISP header onto your board – it’s just a 6-pin connector that lets you blast new programming onto the chip without removing it from the circuit.
DIY Atmega programming clip - [Link]
nabil’s blog: Bike Computer V0.1 Build – [via]
I’ve build the first prototype of my bike computer and have been developing the firmware for a couple of weeks now. Everything except the temperature sensor, accelerometer, servo headers, and Li-ion fuel gauge have been populated.
There have been a few minor electrical bugs like forgetting resisters for the ISP programmer, but nothing too difficult to fix for the next prototype. The bigger problems have appeared in the software world. First, the I’ve filled all 32K of the ATmega memory mainly because of lengthy sensor configurations, USB libs and FATFS. Second, RAM has become an issue when processing things like NMEA strings or drawing complex graphics. I’ve realized there is no point in having a vibrant TFT LCD screen if the 16MHz ATmega can only achieve millisecond refresh rates, which is why I’ll probably switch to some ARM processor for the next prototype. Maybe I’ll go with the STM32F4 series.
Bike Computer V0.1 Build - [Link]