Skip to content

Instantly share code, notes, and snippets.

@rolandvs
Last active September 10, 2019 15:01
Show Gist options
  • Save rolandvs/a9c52d6a850664eedd6448c4540216fa to your computer and use it in GitHub Desktop.
Save rolandvs/a9c52d6a850664eedd6448c4540216fa to your computer and use it in GitHub Desktop.
NUCLEO-F091RC rearranging the UART's
# NUCLEO_STMF091RC
The NUCLEO boards have `ST-morpho` connectors and the `Arduino` connectors so anyone can hook up his/her favourite interfaces.
Please refer to document: [UM1724](https://www.st.com/content/ccc/resource/technical/document/user_manual/98/2e/fa/4b/e0/82/43/b7/DM00105823.pdf/files/DM00105823.pdf/jcr:content/translations/en.DM00105823.pdf)
## Arduino Serial Port
If one would like to use the Arduino connector to connect to a shield, you will run into trouble when the serial interface needs to be used.
The `NUCLEO_F091RC` PCB is not completely configured to work using the standard serial port; the `D0/D1` pins that refer to `PA3/PA2` for UART communication are simply **NOT** connected!
According to the manual (paragraph 6.8, page 25) you can remove the zero ohm resistors on the back to connect the UART2 to the pins `D0` or `PA3` and `D1` or `PA2`.
|Jumper | State | instruction |
|-------|-------|------------------------------------------------|
| | | Default connects UART2 to VCOM port of ST-LINK |
| SB13 | ON | 0 Ohm/ solder joint |
| SB14 | ON | 0 Ohm/ solder joint |
| SB62 | OFF | open |
| SB63 | OFF | open |
| | | Connects UART2 to D0/D1 Arduino, VCOM not used |
| SB13 | OFF | open |
| SB14 | OFF | open |
| SB62 | ON | 0 Ohm / solder joint |
| SB63 | ON | 0 Ohm / solder joint |
When setting UART2 to use the D0/D1 the communication towards the VCOM is lost and as stated in the manual you can use two wires to make a connection between the VCOM and UART3 instead. However it requires to reroute another UART to the VCOM of the ST-LINK. Much simpler is run two cross wires from `CN7-1` to `CN10-35` and `CN7-2` to `CN10-37` to connect `UART3` instead and leave everything as it is. The patch can be made even simpler by running two wires on the back of the PCB from `CN7-1` to `CN10-36` and `CN7-2` to `CN10-38`. Then just install two jumpers between `CN10` `35-36` and `37-38`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment