Let's Make Robots!

YourDuino.com ships new Low-Cost Starter sets, Robot-oriented Arduino-compatible

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
TerryKing's picture

Hi Oddbot,

Good questions, as I'd expect from a very experienced Atmel designer...!

About the YourDuinoRobo1 which we source from a designer in Shenzhen:

- The only LED On an I/O Pin is the 'usual' pin 13.. So it has 1000 ohms and an LED to ground from that pin. This has been widely known as a problem if using pin 13 as in input, and quite a few guidelines say "Only use Pin 13 as an output"..

- I have run a few tests at 3.3V on this board.  Saying that "A complex blink test runs OK" is not all that reassuring.. I will run some more I have available.

Can you suggest a couple of tests that might be more demanding?

What kind of problems might you expect at 3.3V and 16MHz?

I have thought the the main use for running at 3.3V would be for use with multiple newer 3.3V sensors such as in Quadcopters etc.. Hmmm..

The increased 3.3V available current for devices, even if the processor is running 5V, is a nice feature compared to the 50ma or so from the typical USB interface chip.

BTW, I hope to have a couple of your Micro-Magician boards next week. THAT's a nice design. Anyone who hasn't seen it: http://letsmakerobots.com/node/31924

Regards, Terry

OddBot's picture

At first glance I thought those nicely coloured headers were diagnostic LEDs.

I have seen another arduino compatible board that claimed the ability to run at 3.3V or 5V and they admitted that this was effectively overclocking the chip but that all the chips they tested were ok.

The value of 4.5V in the datasheet is simply the voltage at which ATmel guarantee reliable opperation. The only way you can test with any real reliability is to run a program that test all of the internal circuitry (do some math, read analog values, do some serial data transmit and receive, some I2C, generate servo outputs etc.) and slowly lower the voltage until it fails.

If the voltage that all your boards fail at is for example 3V or less then they should be fine. If they are failing very close to the 3.3V (say 3.2V) then they probably wont be reliable at 3.3V although they will be fine at 5V.

It was for this reason that I designed the Micro Magician to be 3.3V only. I wanted to use a 3.3V accelerometer and as you say a lot of the newer sensors these days are 3.3V.

TerryKing's picture

Thanks for the perspective, Oddbot...

As an old Chip Test guy and Test System designer, As I recall, decreasing the voltage on a CMOS technology part moves at least 3 or 4 significant variables.  With a good chip development tester, the test language (one of my favorite pursuits, years ago) allows a test to be set up that "shmoos" (varys) 2 or more variables against each other, running the functional test(s) and recording fails. The result can be a "shmoo" plot which shows a 2-dimensional pattern of fails VS the variables.

Trivia: Such a plot run on a CORE memory produces a "Ghost in a sheet" shape, similar to the cartoon character. Cartoonist Al Capp was already world-famous and a millionaire in 1948 when he introduced an armless pear-shaped character called the Shmoo into his daily "Li'l Abner" strip.

From what I think I still know, reducing the voltage would (1) decrease the charge needed to be moved in a transition, but (2) decrease the pull-up current in a CMOS driver, and (3) get closer to the Threshold Voltage of the FETs (which would be BAD if it was really approached).  So the degradation in speed capability goes down, I think, more slowly than the voltage.  Maybe.

Timing is another issue. As I think I understand it, the timing chain / timing generator circuitry on many chips is designed to somewhat compensate for variables in a way that maintains some timing margins.  That is definitely done for process variations.

So "Fails" may be timing oriented (some node has a wrong-enough state voltage when the timing edge happens) or logic oriented (when some node is misinterpreted as being in the "other" state.)

When I get a chance I will ask my IBM CMOS mavens their opinion. When we were just headed to 3.3V in about 1995, I met Kerry Bernstein in the hallway. "What's happening Kerry?" I asked.  "ONE VOLT!" He said. THATS where I'm going...  People thought he was Too Far Out.  Now there are 1.1V internal processor voltages on latest Intel processors, right??

I'll try to run some better tests....



OddBot's picture

It doesn't matter what the IBM CMOS mavens think. Just read the datasheet.

Since it is a linear progression the math is pretty simple. For 16MHz the minimum safe voltage is 3.78V. As the engineers error on the side of caution 3.3V might be enough in most cases.

merser's picture

 I think the IBM guys are in another world and weren't necesarily talking about atmegas. I thought I'd heard the plan was to go under 1 volt in future size shifts. Which is pretty amazing I think. Intels at 22nm now and I believe scheduling for a 2014 release of 14nm.
Compared to 12um for avr.

 

TerryKing's picture

I don't think the straight line is probably reality, but it's a safe spec-sheet presentation that is right for new designs..  I would bet the rate of speed dropoff is actually less closer to 5V.  Many chips have speed grades based on test results, but I don't think Atmel does that with AtMegas??  Usually batch to batch has some variations.

When I get home to Vermont USA in June I will have programmable power supplies etc. and can play Test Engineer.

The 1 Volt operating voltage is amazing to me alright.  I know there were concerns about the threshold voltages being so low and being able to hold the tolerances in the Ion Implant process steps that largely control that.  But I'm 15+ years out of date and I'm sure a lot of process FM has been found since then.  I will ask my kid at IBM what he knows, although he is deep in the logic design and verification and not in physical design.  There is amazing stuff; he is working with the fast! serial connections on chip and off chip, which are at about 8 GHz now!  Every one of hundreds of signal paths has smart transmitters and receivers that "tune" themselves at reset time and sometimes afterward. That's just connections on the chip.  Then there are the billion other transistors.

I wonder what we will see in the trickle-down from the high end to the $5 chips we love.  WhatIf we had a $5 chip with built-in USB, USB Host, Ethernet, WiFi, 10 hardware UARTS, multiple SPI/TWI, 1-wire in hardware, lots of Flash and SRAM and a Mega's worth of digital I/O.  2.5V with 3.3V tolerance?  Problem is we have to live with chips that have high volumes for other mainline customers, and I worry that there will be more and more application-specific chips. 

The real fun / real stuff today is doing stuff like the MicroMagician with lots of function crammed on a small form factor. 

OddBot's picture

I like the LEDs on the I/O pins as a diagnostic feature. How does it affect the pins input impedance?

How do you get it to work at 16MHz on 3.3V? The datasheet recomends 4.5V as the minimum voltage for reliable 16MHz operation.