Story
Arduino Uno IMU
An Arduino Uno R3 SMD-Compatible Board With an Integrated MPU-6050
The Arduino Uno is fantastic for learning electronics and robotics, but motion sensing normally means connecting a separate IMU breakout board with jumper wires.
This project takes a different approach: an MPU-6050 is integrated directly onto an Arduino Uno-compatible PCB.
The result is an Arduino Uno platform with built-in 6-axis motion sensing.
What Is Added?
The board integrates:
-
MPU-6050 6-axis IMU
-
TXS0104ED bidirectional logic-level translator
-
5 V I²C pull-ups
-
3.3 V I²C pull-ups
-
IMU power decoupling
-
Supporting MPU-6050 circuitry
The MPU-6050 is located on the bottom side of the board.
How Does It Work?
The Arduino's ATmega328P operates in the 5 V logic domain, while the MPU-6050 uses the 3.3 V domain.
Therefore, the design does not simply connect the sensor directly to the Arduino.
The Arduino's I²C signals:
-
A4 / SDA
-
A5 / SCL
are connected to the 5 V side of a TXS0104ED level translator.
The 3.3 V side of the translator connects to the MPU-6050.
Separate 4.7 kΩ pull-ups are provided on each side of the I²C bus.
The MPU-6050 is documented at I²C address 0x68.
The interrupt functionality of the MPU-6050 is not available in this design, while normal I²C operation is supported.
Hardware Files
The project includes the files required to reproduce the board:
-
KiCad schematic
-
KiCad PCB
-
KiCad project
-
custom symbols and footprints
-
Gerber files
-
BOM
-
component placement data
-
IPC netlist
-
STEP model
-
board render images
Repository Structure
The complete source is available on GitHub:
https://github.com/kaustubh850/ArduinoEquipped
The project itself is located in:
Arduino Uno IMU/
Manufacturing
A Gerber archive is included for PCB fabrication.
The project also contains BOM and placement information suitable for assembly workflows.
Using the IMU
After assembling the board, program it as an Arduino Uno and use an appropriate MPU-6050 Arduino library.
The sensor can then be accessed through the normal Arduino I²C interface at address 0x68.
The hardware can be used for:
-
robotics
-
motion sensing
-
orientation experiments
-
balancing robots
-
gesture interfaces
-
sensor fusion
-
education
-
embedded experimentation
Credits
The project was developed by Kaustubh.
The original Arduino Uno SMD KiCad design used as the starting point was created by GitHub user sabogalc. The project has been modified to integrate the MPU-6050 and its supporting circuitry.
Open Hardware
The goal of this project is to make the design reproducible and allow other makers to study, manufacture and modify the hardware.
If you build one, I'd love to see what you do with it!







