avr Questions - Chiphacker most recent 30 from http://chiphacker.com 2010-08-01T09:14:22Z http://chiphacker.com/feeds/tag/avr http://www.creativecommons.org/licenses/by-nc/2.5/rdf http://chiphacker.com/questions/3815/can-the-stk500-program-an-xmega Can the STK500 program an XMEGA? joeforker 2010-08-01T01:19:30Z 2010-08-01T04:25:35Z <p>Can the STK500 program the XMEGA as it arrives from Atmel?</p> http://chiphacker.com/questions/3776/which-programmers-work-with-the-atmel-raven-boards Which programmers work with the Atmel Raven boards? kwo 2010-07-29T13:22:51Z 2010-07-30T14:49:04Z <p>This <a href="http://stackoverflow.com/questions/2242817/how-do-i-program-an-avr-raven-with-linux-or-a-mac/2809748#2809748">post</a> answers the question of if it possible to program an Atmel AVR Raven board with avrdude or not. Yes, it is possible.</p> <p>My question is which programmers will work with the Atmel Raven + avrdude? I'm trying to avoid buying the $300+ AVR JTAGICE mkII. There are clones available for $50 (for example the <a href="http://www.olimex.com/dev/avr-isp500.html" rel="nofollow">AVR-ISP500</a> from Olimex).</p> <p>Can anyone confirm having used a clone programmer with avrdude to program the Atmel Raven boards? Which programmer(s)?</p> http://chiphacker.com/questions/129/ideal-wifi-to-serial-or-spi-bridge Ideal WiFi to Serial (or SPI) bridge? davr 2009-11-02T06:20:50Z 2010-07-27T00:26:28Z <p>What are some recommendations on an ideal WiFi to Serial bridge? My ideal qualities would be:</p> <ul> <li>Simple connectivity, SPI or Serial</li> <li>Reasonable fast speed, at least 1mbit/sec ideally (though probably wouldn't always need that fast)</li> <li>Inexpensive, I'm thinking under $50</li> <li>Low power -- it should use at most 100mA, if we could get it even lower like say 20 or 30ma, even better.</li> <li>Built-in protocol stack -- I want it to handle the WiFi protocol, along with DHCP, TCP/IP, DNS, etc, so that all I have to do is tell it what IP/port to connect to, and then handle the data myself.</li> <li>If at all possible, 5V-tolerant I/O's...to make it easy to interface to our old-school microcontrollers.</li> </ul> <p>So far I've found:</p> <ul> <li><a href="http://www.lantronix.com/device-networking/embedded-device-servers/matchport.html" rel="nofollow">Matchport b/g</a></li> <li><a href="http://www.rovingnetworks.com/wifly-gsx.php" rel="nofollow">WiFly GSX</a> </li> </ul> <p>Anyone have any experience with other possibilities?</p> http://chiphacker.com/questions/3703/avr-debugwire-in-linux AVR debugwire in Linux bjarkef 2010-07-26T10:57:17Z 2010-07-26T18:19:13Z <p>Hi all</p> <p>So, I have hooked up a ATtiny88, and am programming it with the Dragon AVR using ISP. I have also set up the build toolchain, using avrdude, and the gnu avr tools. Everything is working great.</p> <p>Now I would like to do in-circuit debugging using the advertised debugwire which is also connected to the ISP and which the dragon supports. But which tools do I use? I see there is a avr-gdb, but it seems that I needs some kind of simulator, however I would like to debug in-circuit on the real MCU. Is this possible?</p> <p>Thanks in advance.</p> http://chiphacker.com/questions/3653/avr-random-number-generator AVR Random Number Generator vicatcu 2010-07-21T17:14:59Z 2010-07-22T23:50:40Z <p>I've read an appnote from TI (SLA0338) that describes a technique for generating "for real" (as opposed to "pseudo") random numbers. It exploits the somewhat exotic clock subsystem of the MSP430 to achieve this goal. Does anyone know of a technique that can be implemented on an AVR (I'm interested in the XMega's in particular) for generating "for real" random numbers?</p> http://chiphacker.com/questions/1107/avr-vs-arm-vs-others AVR vs ARM vs Others Chris Gammell 2009-12-18T14:03:12Z 2010-07-20T01:28:34Z <p>Does anyone even care about what you're developing on? I just wonder because there is such a strong contingent for AVRs in the Arduino family. I understand that they are the official processor but there isn't a reason the code couldn't be ported to an ARM or a Freescale architecture other than cost, right? As long as there is onboard memory, I figured there could be easy migration into those parts.</p> <p>I see a lot of ARM in industry (seems like every vendor is pushing one into their designs) and was wondering why there wasn't more uptake in the Arduino developer world. Thoughts?</p> <p>~Chris</p> http://chiphacker.com/questions/1299/spi-or-i2c-which-to-use-for-a-longish-bus SPI or I2C... which to use for a longish bus edebill 2009-12-27T16:46:46Z 2010-07-02T00:36:02Z <p>I'm contemplating a project that would require several AVRs talking to each other over a bus. They'd be separated by as much as 6 feet.</p> <p>It seems like both I2C and SPI can let a series of micros communicate over a bus, but I haven't seen anything talking about how long that will be. Has anyone tried connecting these protocols over distances of several feet?</p> http://chiphacker.com/questions/263/using-diodes-to-limit-current-to-leds Using diodes to limit current to LEDs edebill 2009-11-07T04:46:28Z 2010-06-29T06:25:04Z <p>I'm setting up an attiny2313 to drive an array of LEDs and blink them in different patterns. Rather than putting a series resistor in line with each LED (they'll be controlled separately, so I can't do tricks like putting them in series with each other), I was wondering about just using a couple diodes to get the voltage down to the right range.</p> <p>The system is running at 3.3V (with a regulator to keep it pretty constant), and two 1N4001 diodes will drop that down to 1.9V - right in line with the lower end of the 1.8 - 2.2V these LEDs are specced for. Since the diodes will always want to maintain the same voltage drop across themselves, I don't have to worry about that voltage changing as I turn the LEDs on or off. Overall I save 6 components.</p> <p>Has anyone else tried something like this? Any gotchas I've overlooked? I realize the diodes will have to dissipate the full current from all the LEDs, but for this small amount of current that doesn't seem like it will be an issue.</p> <p>(edit: I'm putting these diodes between the common cathode of the LEDs and ground)</p> http://chiphacker.com/questions/3150/on-an-avr-attiny2313-which-is-serviced-first-when-timer0-ovf-and-timer0-compa On an AVR (ATtiny2313), which is serviced first when TIMER0_OVF and TIMER0_COMPA are due at the same time? joeforker 2010-06-24T11:50:34Z 2010-06-29T06:17:42Z <p>If an AVR's 8-bit timer compare register is 255 and the timer overflows (according to the datasheet, the compare interrupt happens on the next timer clock cycle) then both the overflow interrupt and the compare interrupt should be due at the same time. Which will be serviced first?</p> http://chiphacker.com/questions/3046/how-do-i-calibrate-an-avrs-rc-oscillator-using-the-uart How do I calibrate an AVR's RC oscillator using the UART? joeforker 2010-06-16T18:19:17Z 2010-06-28T12:48:49Z <p>I would like to set my AVR's OSCCAL for proper RS-232 communication using the other end's transmission as the calibration clock, without having to solder the RX pin to a timer pin. Is there firmware to do this?</p> <p>I wound up writing my own synchronization routine and soldering the RX pin to the ICP (input capture) unit. When the ICP pin changes, TIMER1's value is copied into a register and an interrupt fires.</p> <p>The code uses an ADCPM-inspired search technique. OSCCAL is incremented or decremented by 1 initially. Each time OSCCAL needs to move in the same direction again it moves twice as far, when it switches direction it starts over at 1. <a href="http://code.google.com/p/pwmsign/source/browse/synch.c" rel="nofollow">http://code.google.com/p/pwmsign/source/browse/synch.c</a></p> <p>All that trouble, and I discovered the perfect OSCCAL was only 1 off from the factory setting.</p> http://chiphacker.com/questions/464/what-did-you-wish-you-knew What did you wish you knew? NeedTungsten 2009-11-15T19:05:30Z 2010-06-26T20:22:49Z <p>When working with AVR microcontrollers or Arduinos, what is something that if you had known sooner would have saved you a lot of time or frustration?</p> http://chiphacker.com/questions/3130/which-avrs-are-pin-compatible-with-the-attiny2313 Which AVRs are pin-compatible with the ATtiny2313? joeforker 2010-06-22T13:34:48Z 2010-06-23T00:32:44Z <p>Until the 4kb upgrade to the ATtiny2313 is available, which AVRs can I substitute when the ATtiny2313 is too tiny?</p> http://chiphacker.com/questions/2811/measuring-0-1mhz-0-25hz-resolution-squarewave-using-an-mcu Measuring 0 - 1MHz ( 0.25Hz resolution) Squarewave using an MCU volting 2010-05-30T15:14:57Z 2010-06-12T01:34:42Z <p>I need to measure the frequency of square-wave that can vary between 0 and 1MHz, and has a resolution of 0.25Hz.</p> <p>I havent decided on which controller yet but It will most likely be one of the 20pin Attiny's.</p> <p>Normally how I would measure lower frequency signals would be by using two timers one configured in timer capture mode to interrupt on say the rising edges of the external signal and another timer set up to interrupt every second therefore the former timers counter register value after 1 second would be equal to the frequency of the signal.</p> <p>However this method obviously wont work for capturing signals ranging between 0 and 1MHz with a resolution 0.25Hz for this I would need a 22Bit counter (AFAIK 8bit micros only have 8/16bit counters).</p> <p>One Idea I had was to divide the signal before applying it to the micro but this would be impratical as the signal would have to be divided by 61 therefore the frequency could only be updated every 61 seconds where I would like it to be every few seconds.</p> <p>Is there another method that would allow the frequency to be updated say every 4 seconds?</p> <hr> <p><strong>Update:</strong></p> <p>The simplest solution is to use an use an external interrupt or a timer capture to interrupt on the rising edge of the signal and have the <code>isr</code> increment a variable of type <code>long int</code>. Read the variable every 4 seconds (to allow for frequencies down to 0.25Hz to measured).</p> <hr> <p><strong>Update 2:</strong></p> <p>As pointed out by JustJeff an 8bit MCU will not be able to keep up with a 1MHz signal so that rules out interrupting on every rising edge and incrementing a <code>long int</code>...</p> <p>I have chosen the method suggested by timororr. Once I get around to implementing it Ill post back and share the results. Thanks to all for your suggestions. </p> <hr> <p><strong>Progress Report:</strong></p> <p>Iv'e started to test some of the ideas presented here. Firstly I tried vicatcu's code. There was a obvious problem of TCNT1 not been cleared after the frequency been calculated -not a big deal...</p> <p>Then I noticed when debugging the code that about every 2 to 7 times the frequency was calculated timer 1's (the timer configured to count external events) overflow count would be short by two. I put this down to latency of Timer 0 ISR and decided to move the if statement block form the ISR to the main (see snippet below) and just set a flag in the ISR. Some debugging showed that the first measurement would be ok but with every subsequent reading Timer 1's overflow count would be over by 2. which I can't explain -I would have expected it to be under not over...</p> <pre><code>int main() { while(1) { if(global_task_timer_ms &gt; 0 &amp;&amp; (T0_overflow == 1)) { global_task_timer_ms--; T0_overflow = 0; } ..... } } </code></pre> <p>Next I decided I would try to implement timrorrs suggestion. To generate the neccesary interval (of approx 15ms between each timer_isr interrupt) I would have to cascade the two 8-bit timers as the only 16-bit timer on the Atmega16 is being utilized to capture the rising edges of the external signal. </p> <p>I thought this solution would work and be much more efficient as most of the overhead is shifted to the timers and only one short isr left for the cpu to handle. However it wasn't as accurate as I had hoped, measurements shifted back and forth by approx 70Hz which I wouldn't mind at high frequencies but its definitely not acceptable at lower frequencies. I didnt spend two much time analysing the problem but Im guessing the timer cascading arrangement is not so accurate as I have implemented a similar arrangement to timrorrs suggestion on a far slower 8051 controller that had 2 16-bit timers and the results were quite accurate.</p> <p>I have now gone back to vicatcu's suggestion, but I have moved the frequency calculation into the Timer 0 isr <em>(see snippet below</em>), this code has produced consistent and reasonably accurate measurements. With a little calibaration accuracy should be approximatly +/-10Hz.</p> <pre><code>ISR(TIMER0_OVF_vect) { TCNT0 = TIMER0_PRELOAD; //Reload timer for 1KHz overflow rate if(task_timer_ms &gt; 0) { task_timer_ms--; } else { frequency_hz = 1.0 * TCNT1; TCNT1 = 0; frequency_hz += global_num_overflows * 65536.0; global_num_overflows = 0; frequency_hz /= (TASK_PERIOD_MS / 1000.0); task_timer_ms = TASK_PERIOD_MS; } } </code></pre> <p>If anybody has any other suggestions Im open to them although but I rather not have to use ranges... Im also no longer to intent on getting 0.25% resolution, there doesnt seem much point with the level of accuracy that I have at the moment.</p> http://chiphacker.com/questions/1536/avr-stick-data-logger-usage AVR Stick Data Logger Usage Evs 2010-01-27T05:58:39Z 2010-06-05T22:54:23Z <p>Has anyone used this data logger (or similar) with <a href="http://www.obdev.at/products/vusb/index.html" rel="nofollow">v-usb</a> to collect data?</p> <p><a href="http://www.sparkfun.com/commerce/product_info.php?products_id=9147" rel="nofollow">http://www.sparkfun.com/commerce/product_info.php?products_id=9147</a></p> <p>If so, what is the maximum times per second voltage data can be sent at HID messages? (I can't understand the spec sheets) And can it work with an ultrasonic rangefinder (or similar) also from sparkfun?</p> <p>Thanks</p> http://chiphacker.com/questions/2820/avr-external-clock-problem AVR external clock problem Rick_2047 2010-06-01T16:26:58Z 2010-06-02T20:26:09Z <p>hey i have some chips with the arduino bootloader on it and some chips without. I want to use them using the same circuit. The confusion I have is with the clock the arduino uses 16MHz external and avr has its internal will it cause a problem if I use them in the same circuit?</p> <p>I was thinking, I just add the clock, the arduino chips will use the crystal and the other chips will not. Am I right?</p> http://chiphacker.com/questions/2797/charlieplexing-on-a-breadboard CharliePlexing on a breadboard Rick_2047 2010-05-29T18:56:38Z 2010-05-29T23:49:08Z <p>Hey,</p> <p>I was making a breadboard demo for a Microcontroller class. Basically my project is to make a score keeping device. I want to drive 4 seven segment displays using an atmega8. I read about charlie plexing and understand that it will enable me to drive all the 4 displays using a single port. I understood the theory but can't really figure out how to make the charlie plexing circuit on a bread board. Can anyone please help? </p> http://chiphacker.com/questions/2522/reading-a-pin-as-an-input-on-avr-xmegas Reading a pin as an INPUT on AVR Xmegas ril3y 2010-05-05T11:56:24Z 2010-05-19T21:23:08Z <p>I have been messing with AVR's xmega line. They are pretty amazing uC's howevet ATMEL changed much with this new line. What I am trying to do is detect a pin going low. </p> <p>I set the PINnCTRL register to every combination with no luck. I can detect the pin going HIGH but not the other way around? Below is the working code for turning on the LED on pin5 when pin6 goes high. However I wanted to do the same thing just instead of when pin6 goes high I would like to have pin 6 go low and turn on the led on pin5.</p> <p>Anyhow, have not seen a lot of XMEGA stuff on here thought I would try.</p> <p>I am using AVR-Studio ATXmega256A3 uC</p> <hr> <p>AVR PINnCTRL Configuration Register Table (at least for the pull sections 0b00xxx000) FULL DATASHEET HERE: <a href="http://www.atmel.com/dyn/resources/prod_documents/doc8077.pdf" rel="nofollow">http://www.atmel.com/dyn/resources/prod_documents/doc8077.pdf</a>. <P> On page 131 (section 13.4) this lists the definition of all of table below. NOTE: the PINxCTRL register contains more than just the pullups for settings. The bits I am working with are these: 00xxx000 The x's correspond with the listing below.</p> <pre><code>Table 13-4. Output/Pull Configuration Description OPC[2:0] Group Configuration Output configuration Pull configuration 000 TOTEM Totempole (N/A) 001 BUSKEEPER Totempole Bus keeper 010 PULLDOWN Totempole Pull-down (on input) 011 PULLUP Totempole Pull-up (on input) 100 WIREDOR Wired OR (N/A) 101 WIREDAND Wired AND (N/A) 110 WIREDORPULL Wired OR Pull-down 111 WIREDANDPULL Wired AND Pull-up </code></pre> <hr> <pre><code>#include &lt;stdio.h&gt; #include &lt;avr\io.h&gt; #define F_CPU 32000000UL #include &lt;util\delay.h&gt; void Config32MHzClock(void); int main(void) { //Init stuff.. Config32MHzClock(); CLK.PSCTRL = 0x00; // no division on peripheral clock PORTCFG.CLKEVOUT = PORTCFG_CLKOUT_PE7_gc; PORTA.DIR = (1 &lt;&lt; 5); //Sets pin5 as an output (led) //011 PULLUP Totempole Pull-up (on input) is what is set PORTA.PIN6CTRL = (0x30); //Sets Pullup on Input on pin 6 PORTA.OUT = (1&lt;&lt;5); //Turn on the LED while(1){ //Never ending main loop if (PORTA.IN &amp; (1&lt;&lt;6)) //If pin 6 goes HIGH PORTA.OUT = (0x00); //Turn off led PORTA.OUT = (1 &lt;&lt; 5); //Turn LED back on } } //Function to setup clock.. void Config32MHzClock(void) { CCP = CCP_IOREG_gc; //Security Signature to modify clock // initialize clock source to be 32MHz internal oscillator (no PLL) OSC.CTRL = OSC_RC32MEN_bm; // enable internal 32MHz oscillator while(!(OSC.STATUS &amp; OSC_RC32MRDY_bm)); // wait for oscillator ready CCP = CCP_IOREG_gc; //Security Signature to modify clock CLK.CTRL = 0x01; //select sysclock 32MHz osc }; </code></pre> http://chiphacker.com/questions/2708/latching-switch-ideas Latching switch ideas Dirk 2010-05-19T02:03:34Z 2010-05-19T17:38:22Z <p>I'm trying to build a latching switch connected to a door and would appreciate ideas.</p> <p>The switch is connected to a microcontroller input pin, and I'd like it to operate as follows: When a person opens and closes the door, it latches on. It remains on until it is reset in software. </p> <p>The basic idea is to time how long since the door was opened and closed again, and do something based on that. Once I have done this, I can reset the switch again. It does not matter if the door is opened or closed several times.</p> <p>I'm not sure where to start, so any ideas welcome.</p> http://chiphacker.com/questions/1337/program-an-attiny13-as-an-audio-oscillator-with-variable-frequency-and-pulse-widt Program an ATTiny13 as an audio oscillator with variable frequency and pulse-width. noise 2009-12-29T21:37:57Z 2010-05-18T17:44:21Z <p>I want to create a simple square wave oscillator similar to what one would do with a 555, but I want to use interrupt based pwm support to control pulse width and frequency.</p> <p>I have been studying the datasheet, avr api and whatever pwm examples I can find, but I haven't quite been able to put it all together.</p> <p>Is it possible to create such an oscillator with the built in avr pwm functionality and if so how. I friend of mine did something similar with an 8 pin PIC.</p> <p>My reasoning is that I will get interesting sounds by changing the pulse-width and therefore the wave form at a given frequency. Similar to how the Atari Punk Console works but hopefully in a more stable way (i.e. changing the pulse width, but leaving the frequency constant or vise versa).</p> http://chiphacker.com/questions/2211/driving-a-dc-hobby-motor-using-an-avr-and-a-single-power-supply Driving a DC hobby motor using an AVR and a single power supply Tim 2010-04-13T02:45:35Z 2010-05-18T08:23:45Z <p>Hi everyone,</p> <p>I've recently begun experimenting with AVRs and am keen to progress beyond making blinkies to making things <em>move</em>. I've tried to start with something easy, but it seems I'm already foiled! What I'd like to know is this: is it possible to drive both an AVR and a motor from the same power source and without them interfering with one another?</p> <p>The schematic below illustrates my initial attempt at doing this. The ATtiny is generating a ~3kHz PWM signal (1/3 duty cycle) on pin 5, with the intent of supplying a time-averaged voltage of 3V to the motor via the power transistor. When I wire this up though, the motor just seems to cough and sputter. <img src="http://i42.tinypic.com/iy314k.jpg" alt="alt text"></p> <p>Thanks heaps in advance,</p> <p>Tim</p> <p>p.s. I'm just wondering about the fundamental possibility/impossibility of what I'm trying to do: I don't expect anybody to debug my circuit for me! :-)</p> http://chiphacker.com/questions/2324/why-are-atmel-avrs-so-popular Why are Atmel AVRs so popular? Tim 2010-04-22T09:25:48Z 2010-05-18T08:17:30Z <p>A recent question asked about the advantages/disadvantages of various types of MCU. AVRs seemed not even worth a mention given the answers. Why then does it seem to an outsider that AVRs are experiencing a rush of popularity? Is this solely due to the Arduino, or is there something else that makes the AVR an especially good microcontroller?</p> http://chiphacker.com/questions/2585/avr-self-programming AVR self-programming Joby Taffey 2010-05-11T10:54:24Z 2010-05-13T18:23:19Z <p>According to the datasheet, the ATMega168 can only execute self-programming instructions when running code from the bootloader block.</p> <p>Once the bootloader is complete and the application starts, can the application then jump back into a subroutine in the bootloader block and have it write to the flash?</p> <p>Or, is it the case that once the program leaves the boot block it's not allowed to self-program again until after a reset?</p> http://chiphacker.com/questions/2377/attiny13-avr-gcc-hello-world-uses-over-100-bytes ATTiny13 -- avr-gcc Hello World uses over 100 bytes!? earlz 2010-04-25T02:19:27Z 2010-04-25T22:23:33Z <p>Hi, I'm trying to write a program for the ATTiny13. My problem is that it has huge size constraints. Well, when making my first Hello World program, it took 100 bytes of program space just to make a light turn on and off! Are there any options I can give to avr-gcc to shrink this size down? Also, what is in the crt0? I'm not too keen on AVR assembly so I don't understand it much.. </p> <p>I do not want to have to drop to assembly for this project.. </p> http://chiphacker.com/questions/2266/at90usb1287-usb-barcode-scanner-interface At90usb1287 USB \Barcode scanner interface Kedar 2010-04-17T12:14:58Z 2010-04-18T07:36:16Z <p>how to interface barcode scanner to AVR AT90usb1287 microcontroller.</p> http://chiphacker.com/questions/1009/anyone-ported-the-qp-state-framework-for-arduino Anyone ported the QP state framework for Arduino? Harley Mackenzie 2009-12-14T03:05:46Z 2010-03-26T17:37:54Z <p>In reviewing possible approaches for my data logging project, I have found the book "Practical UML statecharts in C/C++" to be very interesting for more serious work with the Arduino. QP is a family of ultra-light, open source, state machine-based frameworks for embedded systems and they distribute code and ports for their frameworks (GNU GPL2) at <a href="http://www.state-machine.com/" rel="nofollow">http://www.state-machine.com/</a> where they have a port for the AVR and AVR mega using the WinAVR/Gnu C++ tool set. </p> <p>Although the chip specific headers are appropriate, has anyone created a board BSP file or had any experience with these frameworks? I am just starting with the book, so any comments greatly appreciated.</p> http://chiphacker.com/questions/2012/start-off-with-embedded-c-with-atmega32-atmega-avr-series Start off with embedded C with atmega32 (atmega avr series) Rick_2047 2010-03-24T05:22:27Z 2010-03-24T14:34:41Z <p>I have a atmega32 board laying around and I figure it would be perfect to start off with microcontrollers. I once did some babbling in embedded C (thats when I got this board) but the flow was stopped due to some things. Now I have two questions </p> <ol> <li><p>What is the best free resource to start off with C for the avr series. I know of AVR-GCC but was looking for some tutorials or free books to start me off.</p></li> <li><p>Should I directly jump to C or go through ASM first? I see there are many asm books around. So what is a better option?</p></li> </ol> <p>Edit:</p> <p>while searching the Internet, I found the arduino bootloader for atmega32 here <a href="http://retrointerfacing.com/?p=30" rel="nofollow">http://retrointerfacing.com/?p=30</a> but the problem is I a hesitant to do some tinkering with the fuse bits and all. Is it safe to do so? </p> http://chiphacker.com/questions/1920/securing-code-on-an-avr-arduino-and-delivering-updates Securing code on an AVR/Arduino and delivering updates stbtra 2010-03-17T02:37:20Z 2010-03-22T00:15:02Z <ol> <li>What is the best way to protect code flashed onto any AVR based device from reverse engineering? </li> <li>What is an easy way to provide updates to end users to flash on their own without disclosing the code? (Is it with a bootloader that decrypts an encrypted image?)</li> </ol> <p>Don't flame me for promoting DRM, I am in favor of open platforms--I am just curious how this would work.</p> http://chiphacker.com/questions/1332/best-way-to-control-75-leds-with-arduino Best way to control 75 LEDs with Arduino msawicki 2009-12-29T01:48:12Z 2010-03-06T23:25:13Z <p>Hi, I need to control 25 groups of 3 LEDs or 25 RGB LEDs. Each group will be dismissed from the uC by up to 20 cm (about 8 inches). 20 cm is very safe assumption but I think it will be 10 cm or less. </p> <p>However, I think If it be even 5 cm, it will be hard to create in matrix way, so I think using MAX7219 likie IC (<a href="http://www.arduino.cc/playground/Main/MAX72XXHardware" rel="nofollow">http://www.arduino.cc/playground/Main/MAX72XXHardware</a>) is not best idea.</p> <p>I will probably use shift registers (<a href="http://www.arduino.cc/en/Tutorial/ShiftOut" rel="nofollow">http://www.arduino.cc/en/Tutorial/ShiftOut</a>). I can connect multiple 74HC595 or use something like STP16C596.</p> <p>I prefer STP16C596 but they are obsolete. I found SCT2026 (<a href="http://zefiryn.tme.pl/dok/a04/sct2026.pdf" rel="nofollow">http://zefiryn.tme.pl/dok/a04/sct2026.pdf</a>) but I'm not sure is It right choice.</p> <p>One more note. My current project requires only "2 bit control" over each group (3 LEDs off, or selected and turned on only one of them), but I don't think it make my project easier or cheaper, also controlling each LED separately will give much more flexibility in case of changes. </p> <p>What solution will be fit best for my requirements. </p> <p>It will be nice if parts will be available in this shop - <a href="http://www.tme.eu/en/katalog/?&amp;page=1,20#main" rel="nofollow">http://www.tme.eu/en/katalog/?&amp;page=1,20#main</a> or <a href="http://eu.mouser.com/" rel="nofollow">http://eu.mouser.com/</a> (but i prefer first one).</p> http://chiphacker.com/questions/33/arduino-as-avr-programmer Arduino as AVR Programmer littlebirdceo 2009-10-30T11:44:36Z 2010-03-03T04:20:05Z <p>Can you use the Arduino as an AVR programmer?</p> http://chiphacker.com/questions/1586/how-do-i-program-an-avr-raven-with-linux-or-a-mac How do I program an AVR Raven with Linux or a Mac? Andrew McGregor 2010-02-11T06:36:32Z 2010-03-01T23:12:07Z <p><a href="http://www.sics.se/%7Eadam/contiki/docs-uipv6/a01107.html" rel="nofollow">This tutorial</a> starts with programming the Ravens and Jackdaw with a Windows box. Can I do those initial steps with a Linux or OS X machine instead? If so, how? Is there any risk of bricking the hardware if I just try? </p> <p>I have a USB JTAG ICE MKii clone, which is supposed to work for this.</p> <p>I'm totally new to AVR, but very experienced with C/C++ programming on Linux or OS X, up to and including kernel programming.</p>