Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update hardware.md #169

Merged
merged 4 commits into from
Feb 18, 2019
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 12 additions & 17 deletions src/intro/hardware.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,37 +8,32 @@ Let's get familiar with the hardware we'll be working with.
<img title="F3" src="../assets/f3.jpg">
</p>

We'll refer to this board as "F3" throughout this book.

What does this board contain?

- A STM32F303VCT6 microcontroller. This microcontroller has
- A [STM32F303VCT6](https://www.st.com/en/microcontrollers/stm32f303vc.html) microcontroller. This microcontroller has
- A single-core ARM Cortex-M4F processor with hardware support for single-precision floating point
operations and a maximum clock frequency of 72 MHz.

- 256 KiB of "Flash" memory. (1 KiB = 10**24** bytes)

- 48 KiB of RAM.

- many "peripherals": timers, GPIO, I2C, SPI, USART, etc.

- lots of "pins" that are exposed in the two lateral "headers".
- Many integrated peripherals such as timers, I2C, SPI and USART.

- **IMPORTANT** This microcontroller operates at (around) 3.3V.
- General purpose Input Output (GPIO) and other types of pins accessible through the two rows of headers along side the board.

- A USB interface accessible through the USB port labeled "USB USER".

- An [accelerometer] and a [magnetometer][] (in a single package).
- An [accelerometer](https://en.wikipedia.org/wiki/Accelerometer) as part of the [LSM303DLHC](https://www.st.com/en/mems-and-sensors/lsm303dlhc.html) chip.

[accelerometer]: https://en.wikipedia.org/wiki/Accelerometer
[magnetometer]: https://en.wikipedia.org/wiki/Magnetometer
- A [magnetometer](https://en.wikipedia.org/wiki/Magnetometer) as part of the [LSM303DLHC](https://www.st.com/en/mems-and-sensors/lsm303dlhc.html) chip.

- A [gyroscope].
- A [gyroscope](https://en.wikipedia.org/wiki/Gyroscope) as part of the [L3GD20](https://www.pololu.com/file/0J563/L3GD20.pdf) chip.

[gyroscope]: https://en.wikipedia.org/wiki/Gyroscope
- 8 user LEDs arranged in the shape of a compass.

- 8 user LEDs arranged in the shape of a compass
- A second microcontroller: a [STM32F103CBT](https://www.st.com/en/microcontrollers/stm32f103cb.html). This microcontroller is actually part of an on-board programmer and debugger named ST-LINK and is connected to the USB port named "USB ST-LINK".
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While it is possible that there's a new DISC1 version of this board, in many cases the ST-Link/v2 is implemented via a STM32F103C8 MCU. I'd prefer to leave out the the part after the 103 to cater for both cases.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what you are getting at. Is there an alternative version of the same board? Shouldn't it have a different part number then?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what you are getting at. Is there an alternative version of the same board? Shouldn't it have a different part number then?

Yes. Typically the discoveries have a different part number but in this case there're just three revisions: "On-board ST-LINK/V2 for PCB version A or B or ST-LINK/V2-B for PCB version C and newer". Revision A and B have a STM32F103C8, revision C is a STM32F103CB.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about

This microcontroller is actually part of an on-board programmer / debugger and is connected to the USB port named "USB ST-LINK".

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean striking the previous sentence? Works for me.


- A second microcontroller: a STM32F103CBT. This microcontroller is actually part of an on-board
programmer and debugger named ST-LINK and is connected to the USB port named "USB ST-LINK".
For a more detailed features list and further specification of the board take a look at [STMicroelectronics](https://www.st.com/en/evaluation-tools/stm32f3discovery.html) website.

- There's a second USB port, labeled "USB USER" that is connected to the main microcontroller, the
STM32F303VCT6, and can be used in applications.
A word of warning: be careful if you want to apply external signals to the board. The microcontroller STM32F303VCT6 pins take a maximum voltage of 4 volts, but ideally should be driven by the nominal voltage of 3.3 volts. For further information consult the [6.2 Absolute maximum ratings section in the manual](https://www.st.com/resource/en/datasheet/stm32f303vc.pdf)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would not mention "4V" (not even sure whether that's a typo or the maximum tolerable regular 3.3V) but instead say the nominal voltage is 3.3V with only a few pins being 5V tolerant.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with this.