0

I hope this question isn't overly broad although it is more of a search for consolidated information.

BACKGROUND:

I am new to the Arduino universe and am drawn in by the open hardware concept. After years of doing electronics projects with PICs, I have tired of iterative hardware prototyping and DIY printed circuit construction for small one-off projects. The lure of buying off-the-shelf hardware and doing minimal wiring on protoboards / shields is a powerful concept that I welcome.

The availability of the hardware from multiple sources (and it seems multiple designers) does present a small problem I have discovered. There appear to be small but important differences between Arduino boards from multiple sources.

As an example, I have found that the hardware PWM isn't always the same from one Arduino Board design to another. I find that the arduino.cc pages (including the Forums) appear to indicate that hardware PWM runs at about 487 Hz. However, my testing shows that on the Arduino 101, two of the four hardware PWM outputs run at 487 Hz while the other two run at 975 Hz. I did not find such details when researching board choices and comparisons. I am assuming that this difference may also exist on other board designs although I have only Uno, 101, and Mega2560 boards to play with at the moment.

A second example is that for at least the Arduino Uno and Arduino 101 board I have, the DC power input jack is 5.5mm/2.1mm, a very common size. However, the Arduino Mega2560 I have (third party) uses a 5.5mm/2.5mm DC input jack -- a standard albeit less common size.

Another difference is the well known differences in (TTL) RS232 port interface chips used. At least these are generally made known and documented so that you can plan in advance for differences that may or may not affect you.

Finally, I have found that on the Arduino 101, plugging in or unplugging (or turning on or off) DC power at the DC input jack (or Vin pin) forces a reboot of the Curie module on the board. I think this is caused by the use of the power management chip and power switching circuitry on the board. The Mega2560 does not show this reboot behavior whenever DC power is changed. (This reboot happens even if the USB source remains connected at all times.)

These sorts of minor differences can affect the choice of board one makes for a given project -- especially, if you develop an application on one board and plan to deploy it on another. (Example: develop on a Mega2560 yet intend on deploying on a Uno later to save cost.)

QUESTIONS:

1) Has anyone come across a Website / page that details many of the minor design differences between Arduino boards? [Edit] I should have used the word designs rather than boards in this question. I realize each vendor may have tweaks to a board but was more interested in detailed differences in the "official" design. Things like above would be interesting to know -- does the board reboot on application of DC input power? Are all PWMs running at the same default frequency, etc?

2) Are there any Web resources that might at least list other "oddities" with the different board choices? (i.e. PWMs at frequencies other than 487 Hz)?

Any pointers would be much appreciated.

  • 1) You won't find an exhaustive list of differences between all "Arduino" boards from every vendor ever. 2) If minor software differences exist (e.g. a different default PWM frequency on different pins) then either their core or their board description for the IDE has a bug and this should be reported to the appropriate organization. – Ignacio Vazquez-Abrams Oct 22 '16 at 1:29
  • Ignacio, I should clarify the intent of question 1. I did not mean to find documentation from all vendors in one place. That would indeed be unreasonable. The question was meant to attempt to find documentation for the the different board designs i.e. Uno, Mega256, 101, Pro, Pro Mini, Micro, etc. I will edit the question to make the intent more clear. – jdupton Oct 22 '16 at 1:42
2

You may find this helpful: PTD0001 Arduino Comparison Rev 0 - PDF - 245 KB.

Screenshot of above: Arduino comparison

Credit: Payne Technologies Limited

That compares some models in a way you might find useful.


I have found that the hardware PWM isn't always the same from one Arduino Board design to another

The PWM frequencies can be changed over quite a wide range. I have a page about timers which describes a lot of their features.

According to the Arduino reference page about analogWrite:

The frequency of the PWM signal on most pins is approximately 490 Hz. On the Uno and similar boards, pins 5 and 6 have a frequency of approximately 980 Hz. Pins 3 and 11 on the Leonardo also run at 980 Hz.

By changing the hardware register you can change those frequencies. The frequency of 980 Hz is because of the compromise needed to get an approximate 1 ms interrupt for use by the millis() function:

16e6 / 64 / 256 = 976.5625 Hz

In other words the clock speed of 16 MHz is prescaled by 64 and then counted to 256, giving that frequency.

Note that this is almost 1 ms. The code behind millis() and micros() functions compensates for that so that you get a reasonably accurate result.

By changing the prescaler, and "count to" point you can get lots of other frequencies. However if you do that to Timer 0 on the Uno (and similar boards) then you will throw out the calculations for the millis() and micros() functions (you can compensate for that, of course).


This only partly answers your question, but hopefully will provide a nudge in a useful direction.

  • Nick, thanks for the pointer to that chart. That is exactly the type of reference I was looking for. It would be nice if other differences were documented (as well as other Arduino designs like the 101), but I knew the chances of finding a comprehensive comparison all in one place was pretty low. – jdupton Oct 23 '16 at 0:04
  • If others know of similar charts out there, please do post additional answers with pointers. I will be building my own similar chart incorporating what I have learned from direct experimentation as well as any other sites that are pointed out. I sort of suspect that many other really helpful charts or comparisons are scattered about the 'net -- many buried deeply on vendors' Websites like the one Nick linked. – jdupton Oct 23 '16 at 0:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.