Anyone else have one of these lying around or one of it's siblings? I pulled mine back out of my toolbox and wanted to get it working again. Looks like the original support projects have been abandoned and the forums locked down. I wasn't able to get anything from the original toolchain to would work on Windows 11 and I didn't want to try and setup a VM or other box just to work with this board. So, I started exploring further and discovered that the STM32duino tools work with these boards. I installed the STM32CubeProgrammer and fiddled with the Arduino IDE's board settings and surprisingly got it to work. That little blue LED is blinking away like new. I was going to post some of my findings if there are others interested in reviving their Netduino's.
Here's what I learned...
The Netduino 2 uses a STM23F205RFT6 MCU, has a user button (PB11/PC14), a blue user-programmable LED (PA10), and the usual Arduino Uno layout with 6 analog and 15 digital pins. The schematic can be found on Github. Not sure why the button is wired to two pins, but both pin numbers worked for the single button. It should only take a few minutes to get the Ardunio IDE setup and working with this board. I have a full post on my blog with details, but here's the basic steps.
- Install the STM32CubeProgrammer
- Open the Arduino 2 IDE and add this additional board manager URL (File -> Preferences -> Additional Board Manager URls)
a.'https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json' - Using the Board Manager (Tools -> Board -> Board Manager) search for and install the 'STM32 MCU based boards by STMicroelectronics' package.
- Select and configure the board...
a. From the board menu (Tools -> Boards) there should be a new 'STM32 MCU Based Boards' sub menu.
b. Select the 'Generic STM32F2 Series' board
c. Back on the Tools menu, adjust the following additional board settings:- Board Port Number: STM32F205RFTx
- Upload Method: 'STM32CubeProgrammer (DFU)
- USB Support: 'CDC generic 'Serial' supersede U(S)ART'
To upload code to the board, you'll need to put it in bootloader mode. This is done by holding down the user button (BTN) while applying power. When in bootloader mode, both the white and blue LEDs will be lit and remain lit, and the device will appear as 'STMicroelectronics STM Device in DFU Mode' in device manager (Windows) or the command line 'lsusb' (Linux). If your using Linux and run into issues during code upload where the IDE can't find the programmer due to a problem with the PATH, try this fix which worked for me.
The STM32duino package has the pins defined but they are using the MCU pin names. I've included a mapping below for reference. These were pulled from the schematic (which had a few typo's i.e. there are two PB5, one should be PB6). I've not tested all of them so let me know if there are any corrections needed.
That should be it. With this setup you should be able to get Arduino sketches running on the Netduino 2.
Stay Curious!
MCU Pin | Board Pin |
---|---|
PC0 | A0 |
PC1 | A1 |
PC2 | A2 |
PC3 | A3 |
PC4 | A4 |
PC5 | A5 |
---------- | ---------- |
PC7 | D0 |
PC6 | D1 |
PA3 | D2 |
PA2 | D3 |
PB12 | D4 |
PB8 | D5 |
PB9 | D6 |
PA1 | D7 |
PA0 | D8 |
PA6 | D9 |
PB10 | D10 |
PB15 | D11 |
PB14 | D12 |
PB13 | D13 |
---------- | ---------- |
PB7 | SCA |
PB6 | SCL |
---------- | ---------- |
PA10 | Blue LED |
PC13 | Power LED |
PB11 | User Button |
PC14 | User Button |