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]
I had done a project where the AVR is powered via the main 110Vac line, So I had to find a solution to be able to test my code in real life, I had look to many thing and found very cool opto-isolator, “you must check the datasheet IL717″
AVR ISP Galvanic Isolation - [Link]
This Arduino can be used for old school prototyping as well. Just use it as a standard ATmega8 and program it with the ISP connector. And it is one of the cheapest Arduino boards, that you can get. Arduino is a great prototyping platform and most of you probably know already about it. If not, check out the Arduino pages and the Arduino playground and dive into it.
Arduino Breadboard Clone – [Link]