---
title: "stm32-eth"
url: "https://maker.wiznet.io/mayuri/projects/stm32-eth/"
markdown_url: "https://maker.wiznet.io/mayuri/projects/stm32-eth/md"
type: "UCC: User Created Content"
author: "offa"
author_url: "https://github.com/offa/stm32-eth"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "offa"
original_url: "https://github.com/offa/stm32-eth"
published: "2023-02-14"
language: "en"
hardware: ["WIZnet W5100"]
likes: 3
views: 220
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# stm32-eth

> offa/stm32-eth

Original author: offa (source: https://github.com/offa/stm32-eth)

## Components

- **WIZnet W5100** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5100))

## Article

## [Stm32 Eth](https://github.com/offa/stm32-eth)

[![CI](https://github.com/offa/stm32-eth/workflows/ci/badge.svg)](https://github.com/offa/stm32-eth/actions) [![GitHub release](https://img.shields.io/github/release/offa/stm32-eth.svg)](https://github.com/offa/stm32-eth/releases) [![License](https://img.shields.io/badge/license-GPLv3-yellow.svg)](https://github.com/offa/stm32-eth/blob/master/LICENSE) [![C++](https://img.shields.io/badge/c++-20-green.svg)](https://camo.githubusercontent.com/1c6aa7c40a5aa9e5177e8ac727e36b0d4cb720360e0df37ffb60b384c36cb441/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f632b2b2d32302d677265656e2e737667)

Ethernet connectivity for **Stm32F4** Boards using W5100 Ethernet controller.

## • Requirements

- [**CMake**](http://www.cmake.org/)

- [**CppUTest**](https://github.com/cpputest/cpputest) – **(Optional)**

- [**GNU ARM Embedded Toolchain**](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm) (**arm-none-eabi-gcc**)

## • Testing

Build and execute Unit Tests:

```plaintext
mkdir build && cd build
cmake ..
make
make unittest
```

Executing tests using CTest: `make test` or `ctest`. For `unittest` it's possible to switch verbosity by CMake option.

## • Integration Test

Integration Test for **Stm32F4** are enabled by the `INTEGRATIONTEST` option. The target `stm32-eth-it` is available as **ELF** (default) and **HEX**.

## • Flashing (OpenOCD)

Both **ELF**- and **HEX**-files can be flashed using [OpenOCD](http://openocd.org/):

```
$ openocd -f stm32f4discovery.cfg
```

```
$ telnet localhost 4444
> reset halt
> flash write_image erase <filename.[elf|hex]>
> reset run
```

## • Wiring & Pin Assignment

#### W5100 Wiring

Connect Reset and 3.3 V with **4.7 kΩ Resistor**.

[![W5100 Pin Assignment](https://github.com/offa/stm32-eth/raw/master/doc/W5100-Pin-Assignment-Scaled.png?raw=true)](https://github.com/offa/stm32-eth/blob/master/doc/W5100-Pin-Assignment.png?raw=true)

#### Stm32 Pin Assignment

| Pin | Stm32 |
| --- | --- |
| MOSI | PB15 |
| MISO | PB14 |
| SCK | PB13 |
| SS | PB12 |

## License

**GNU General Public License (GPL)**

```plaintext
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
```

### Third party licenses

The License does not apply to files of [**system**](https://github.com/offa/stm32-eth/blob/master/system) directory. Files included in the [**system**](https://github.com/offa/stm32-eth/blob/master/system) folder are licensed under different conditions – please refer to it's files for more details.

---

Source: https://maker.wiznet.io/mayuri/projects/stm32-eth/
