Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Netduino Plus 2, I2C, and Arduino "R3" pinout


  • Please log in to reply
9 replies to this topic

#1 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 09 November 2012 - 06:18 AM

A quick note on Netduino Plus 2: Netduino Plus 2 uses the new "Arduino R3" pinout. This revised Arduino pinout moves the I2C pins to the new SDA and SCL headers, instead of A4/A5. This is because many of the new Arduino boards have I2C on different microcontroller pins than the ones that are connected to the A4/A5 headers. One of our goals with Netduino Plus 2 is to enable the new "R3" shields to work. But an equally important goal is to maintain backwards compatibility with existing Arduino shields. We have two strategies to make sure that as many Arduino shields work as possible with Netduino Plus 2: 1. Most existing shields and new "R3" shields should work as-is. In the rare case that a shield uses the ICSP pins, sandwich a MakerShield in between the shield and the Netduino Plus 2: that will route the ICSP pins to the proper places. 2. For existing shields which use I2C, you'll want to connect jumper wires between SDA/SCL and A4/A5 for the moment. We're working on an enhancement for the I2C class which will mirror the I2C data on A4/A5 by default (and also turn off the mirroring...so you can get two extra GPIOs instead). That new feature will be available in a December firmware update, giving us the best of both worlds. The same firmware update will bring I2C to Shield Base. We're using the default STM32 I2C drivers with Netduino Plus 2. If you have troubles getting an I2C device to work (especially one which was working fine with Netduino or Netduino Plus 1), please let us know. There may be some potential improvements we can make. Looking forward to seeing what you all build with Netduino Plus 2, Chris

Edited by Chris Walker, 09 November 2012 - 09:54 AM.
"r3" terminology now consistent with arduino


#2 Mario Vernari

Mario Vernari

    Advanced Member

  • Members
  • PipPipPip
  • 1768 posts
  • LocationVenezia, Italia

Posted 09 November 2012 - 07:50 AM

Any chance to see the schematic of the new born? Looking forward to hack the hackable...
Biggest fault of Netduino? It runs by electricity.

#3 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 09 November 2012 - 07:56 AM

Any chance to see the schematic of the new born?
Looking forward to hack the hackable...

Of course!

Netduino Plus 2 schematics (PDF)

Chris

#4 Stefan

Stefan

    Moderator

  • Members
  • PipPipPip
  • 1965 posts
  • LocationBreda, the Netherlands

Posted 09 November 2012 - 08:49 AM

Great idea to follow the Arduino "Rev C" pin layout! I love the shield compatibility and I think it's a great step to add a IORef pin. B)
"Fact that I'm a moderator doesn't make me an expert in things." Stefan, the eternal newb!
My .NETMF projects: .NETMF Toolbox / Gadgeteer Light / Some PCB designs

#5 neslekkim

neslekkim

    Advanced Member

  • Members
  • PipPipPip
  • 350 posts
  • LocationOslo, Norway

Posted 09 November 2012 - 09:25 AM

Btw, Arduino people have used the R3 name for this layout, not "Rev C", atleat here "The processor, like all other in this class, runs at 3.3v therefore all the shields that fully implement the Arduino R3 layout are compatible straight away (like our wifi shield and our eth shield) but other 3rd party shield might not be compatible. if you have doubts ask your supplier and they will be able to tell you." http://arduino.cc/bl...s-finally-here/ And in various forumposts Massimo have written. (There have been lot of fuss around this layout since the Due came with 3v3 IO's that is not 5v tolerant, but if shields are properly implemented according to the R3 spec, the shield will know if it should operate on 3v3 or 5v.) And while that happens, we wonder how many Arduino Due's is blown.. :) And on that matter, very good that the N+2 is 5v tolerant (as far as I have found)

--
Asbjrn


#6 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 09 November 2012 - 09:42 AM

And while that happens, we wonder how many Arduino Due's is blown.. :) And on that matter, very good that the N+2 is 5v tolerant (as far as I have found)

Netduino Plus 2 is fully 5V tolerant on all pins by default--and also on the /RESET pin.

There is a Cortex-based NETMF board out there which has the old Arduino pinout and looks like it's safe to use with Arduino shields. But it's not 5V tolerant on some pins, and you can permanently damage the microcontroller simply by plugging in a shield. :huh:

We spent a lot of time working through the various scenarios to make sure Netduino Plus 2 users were insulated from such worries. We even put each PWM on a separate timer for maximum flexibility...with a low-level option to synchronize several of them if desired. These new STM32 chips are pretty awesome.

Chris

#7 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 09 November 2012 - 09:48 AM

Btw, Arduino people have used the R3 name for this layout, not "Rev C", atleat here

Really good point. I'll make sure we use the "Rev 3" / "R3" terminology :)

Chris

#8 neslekkim

neslekkim

    Advanced Member

  • Members
  • PipPipPip
  • 350 posts
  • LocationOslo, Norway

Posted 09 November 2012 - 09:49 AM

We spent a lot of time working through the various scenarios to make sure Netduino Plus 2 users were insulated from such worries. We even put each PWM on a separate timer...and it's possible to synchronize several of them. These new STM32 chips are pretty awesome.


It's the exact same chip as on the Go right?
I think I saw somewhere that you can reprogram the unit so i2c placement can be moved, can other things also move around like that?
That's something i like a lot on FPGA based boards, you can reconfigure any pinlayout you want :), but I guess you cannot do that on these.

--
Asbjrn


#9 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 09 November 2012 - 09:53 AM

It's the exact same chip as on the Go right?

Yup! We actually designed Netduino Plus 2 and Shield Base together. After Shield Base shipped there were some clarifications in the Arduino R3 layout which let us add a fourth serial port and use hardware I2C pins on SDA/SCL...but otherwise they're spec-identical.

I think I saw somewhere that you can reprogram the unit so i2c placement can be moved, can other things also move around like that?
That's something i like a lot on FPGA based boards, you can reconfigure any pinlayout you want :), but I guess you cannot do that on these.

You can move I2C by using a timer and software to emulate I2C. I2C not a fast protocol, so this is very reasonable to do. You could also technically move I2C by selecting one of several pre-configured pins hardware I2C can route to.

Chris

#10 CW2

CW2

    Advanced Member

  • Members
  • PipPipPip
  • 1592 posts
  • LocationCzech Republic

Posted 09 November 2012 - 10:58 AM

I think I saw somewhere that you can reprogram the unit so i2c placement can be moved, can other things also move around like that?

Yes, the GPIO pins support up to 16 alternate functions and usually there are few pin groups for a particular feature - for example, I2C clock of the first I2C module (I2C1_SCL) can be on PB6 or PB8, similarly I2C2_SCL can be on PB10 or PF1. But not all packages have all pins, you'd need to check out the pinout in the datasheet.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.