All Projects → kongr45gpen → i2c-sniffer

kongr45gpen / i2c-sniffer

Licence: Apache-2.0 License
Debugging tool for I2C networks, built for STM32 microcontrollers

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects

Projects that are alternatives of or similar to i2c-sniffer

MPU6050
STM32 HAL library for GY-521 (MPU6050) with Kalman filter
Stars: ✭ 114 (+418.18%)
Mutual labels:  i2c, stm32, stm32f103c8t6
STM32-Bare-Metal
STM32F103C8 bare metal template
Stars: ✭ 26 (+18.18%)
Mutual labels:  stm32, stm32f103, stm32f103c8t6
tinyfont
Text library for TinyGo displays
Stars: ✭ 37 (+68.18%)
Mutual labels:  i2c, stm32
fabooh
c++ template library for cortex-m0+ (lpc8xx), cortex-m0 ( lpc1114 ), cortex-m3 (bluepill), and msp430 ( small msp430 )
Stars: ✭ 28 (+27.27%)
Mutual labels:  stm32, stm32f103c8t6
BlueVGA
VGA library for STM32F103C (BluePill) that can manipulate a screen with 28x30 tiles with 8x8 pixels each, in a total resolution of 224x240 pixels with 8 colors using a very low footprint
Stars: ✭ 39 (+77.27%)
Mutual labels:  stm32, stm32f103
grbl32
CNC controller running on the STM32F103 "Blue Pill" board, build and flash on Mac/Linux
Stars: ✭ 33 (+50%)
Mutual labels:  stm32, stm32f103
rpi
Microcontroller projects (RPi, Arduino, ATTiny85, ESP, Pico, STM8/32)
Stars: ✭ 76 (+245.45%)
Mutual labels:  i2c, stm32
ScopeMCU
虚拟示波器 MCU端
Stars: ✭ 59 (+168.18%)
Mutual labels:  stm32, stm32f103
stm32 tiny monitor
A tiny external monitor for PC using STM32 and ST7789. Connects to PC over USB and displays the captured screen on ST7789 (240x240) display.
Stars: ✭ 61 (+177.27%)
Mutual labels:  stm32, stm32f103
IOsonata
IOsonata multi-platform multi-architecture power & performance optimized software library for fast and easy IoT MCU firmware development. Object Oriented design, no board package to define, just pure plug & play any boards
Stars: ✭ 40 (+81.82%)
Mutual labels:  i2c, stm32
STM32F103 MSD BOOTLOADER
STM32F103 Mass Storage Device Bootloader
Stars: ✭ 23 (+4.55%)
Mutual labels:  stm32, stm32f103
stm32f10x makefile freertos
stm32f10x gcc makefile freertos
Stars: ✭ 28 (+27.27%)
Mutual labels:  stm32, stm32f103
stm-ILI9341-spi
STM32 ILI9341 spi
Stars: ✭ 77 (+250%)
Mutual labels:  stm32, stm32f103
STM32F103-Bare-Metal
Programming the STM32F103C8 micro controller at the "bare metal" register level.
Stars: ✭ 42 (+90.91%)
Mutual labels:  stm32, stm32f103
stm32 i2c to usb hid multitouch
i2c to usb hid multi touch with stm32
Stars: ✭ 55 (+150%)
Mutual labels:  i2c, stm32
rc-headless-transmitter
DIY 2.4 GHz RC transmitter without display, configurable through smartphone or web browser
Stars: ✭ 28 (+27.27%)
Mutual labels:  stm32, stm32f103c8t6
FASTUSBasp
This is the fast avr programmer for AVR MCUs based on cheap stm32f103c8t6 board with usb-to-serial support.
Stars: ✭ 78 (+254.55%)
Mutual labels:  stm32, stm32f103
DHT11-DHT22-STM32-HAL
Библиотека для работы с датчиками DHT11/DHT22/AM2302/AM2301 на STM32
Stars: ✭ 26 (+18.18%)
Mutual labels:  stm32, stm32f103
STM32F10x Servo Library
Servo library with stm developed by the Liek Software Team. We are working on new versions.
Stars: ✭ 14 (-36.36%)
Mutual labels:  stm32, stm32f103
MPU60X0
Fast, Lightweight STM32 I2C HAL Driver for the MPU6000/MPU6050 IMU
Stars: ✭ 15 (-31.82%)
Mutual labels:  i2c, stm32

I2C sniffer project

  • Board: STM32F103C8T6 "Blue Pill"
  • Pins used:
    • PA9: TX (connect to serial RX)
    • PA10: RX (connect to serial TX)
    • PB8: SCL
    • PB9: SDA
  • Serial baud rate: 3 000 000 bits/s
  • Additional required hardware: FTDI232 (or similar) USB-to-Serial converter

Project Purpose

This project is built to connect to any I2C network and process any data sent through it in a transparent way. It's useful for debugging faulty networks.

Notes

  • This project was built in STM32CubeMX for the free STM32CubeIDE. If you load the project in STM32CubeMX, you can export it to use any other IDE of your choice.

  • This project sets the processor clock to 72 MHz, the highest one achievable, so that the I2C data can be processed as fast as possible.

  • The serial output contains colours. If your terminal doesn't support colours, you might see garbled characters.

  • UART is used to output the data. You can connect an FTDI232 USB-to-Serial converter to receive the information. Note that you have to use a converter that supports a baud rate of 3 Mbits/sec.

    The command I used to open the terminal on linux was:

    minicom -s -c on -b 3000000 -D /dev/ttyUSB0

    You can also use RealTerm on Windows.

  • The HAL driver is used, but all the necessary driver files are included in the Drivers folder.

Important files

  • Src/main.c: The source code of the project
  • i2c_sniffer.ioc: Open this file inside STM32CubeMX to edit the project.

Screenshot

I2C Sniffer serial output screenshot

Schematic

Project Schematic

Frequently Asked Questions

Q: Where can I buy the required board for this application?
A: The board needed is the small development board "Blue Pill" for an STM32F1 microcontroller. It costs about 2$ and can be found on common marketplaces like ebay or AliExpress (search for STM32F103C8T6). When getting started with these chips, you will also need an ST-Link device (~2$) available at the same sites, in order to program it.
Finally, an FTDI232 board (~2$) will be needed for serial communication with the Blue Pill.
In total, this sniffer should set you back by less than 6$, if you don't already have the required components.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].