Posted on Leave a comment

Arduino Uno I2C LCD Display Using Arduino IDE | In-Browser Code Uploader

The I2C LCD display is a simple way to show text, sensor readings, and status messages in Arduino projects while using only two communication pins. In this project, we will interface a 16×2 I2C LCD with an Arduino Uno and display text on the screen.

Using the In-Browser Flash feature, you can upload the program directly from your browser without copying the code manually.


Components Required

  • Arduino Uno
  • 16×2 I2C LCD Display
  • USB Cable
  • Jumper Wires

About the I2C LCD Display

A standard 16×2 LCD normally requires many Arduino pins. The I2C module attached to the LCD reduces the connection requirement to only four pins:

  • VCC
  • GND
  • SDA
  • SCL

This makes wiring simpler and leaves more pins available for other sensors and modules.


Circuit Connections

I2C LCD PinArduino Uno Pin
VCC5V
GNDGND
SDAA4
SCLA5

Circuit Diagram

Open circuit Open circuit

Arduino Code

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup()
{
lcd.init();
lcd.backlight();

lcd.setCursor(0, 0);
lcd.print("Hello EXASUB");

lcd.setCursor(0, 1);
lcd.print("Arduino Uno");
}

void loop()
{
}

In-Browser Flash

Upload the program directly to your Arduino Uno using the button below.

How to use the In-Browser Flash button


How the Code Works

Include Required Libraries

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

The Wire library enables I2C communication, while the LiquidCrystal_I2C library controls the LCD display.

Create LCD Object

LiquidCrystal_I2C lcd(0x27, 16, 2);

This creates an LCD object with:

  • I2C Address: 0x27
  • 16 columns
  • 2 rows

Initialize LCD

lcd.init();
lcd.backlight();

The LCD is initialized and the backlight is turned on.

Set Cursor Position

lcd.setCursor(0, 0);

Moves the cursor to the first column of the first row.

lcd.setCursor(0, 1);

Moves the cursor to the first column of the second row.

Display Text

lcd.print("Hello EXASUB");
lcd.print("Arduino Uno");

These commands display text on the LCD screen.


Expected Output

After uploading the code, the LCD should display:

Hello EXASUB
Arduino Uno

Troubleshooting

LCD Shows Nothing

  • Check VCC and GND connections.
  • Ensure SDA is connected to A4.
  • Ensure SCL is connected to A5.
  • Adjust the contrast potentiometer on the I2C module.

LCD Displays Random Characters

The I2C address may be incorrect.

Most modules use:

0x27

Some modules use:

0x3F

Finding the I2C Address

If the LCD does not respond, use the following I2C Scanner sketch.

#include <Wire.h>

void setup()
{
Wire.begin();
Serial.begin(9600);

Serial.println("Scanning...");
}

void loop()
{
byte error, address;

for(address = 1; address < 127; address++)
{
Wire.beginTransmission(address);
error = Wire.endTransmission();

if(error == 0)
{
Serial.print("I2C device found at 0x");
Serial.println(address, HEX);
}
}

delay(5000);
}

Open the Serial Monitor to view the detected I2C address.


Applications

  • Digital clocks
  • Temperature displays
  • Home automation systems
  • Menu-driven projects
  • Sensor monitoring systems
  • Robotics projects

Conclusion

In this project, we learned how to interface a 16×2 I2C LCD display with an Arduino Uno and display text on the screen using only two communication pins. I2C LCDs are widely used in Arduino projects because they simplify wiring and provide an easy way to display information.

Use the In-Browser Flash button above to quickly upload the project and start experimenting with LCD displays.

Posted on Leave a comment

3D Printed Right-Angle Friction Drive Using Cam and Follower

In this project we explore a simple but powerful mechanical idea:
how a rotating cam and a disc-type follower can be used to create a right-angle friction drive — without gears, belts, or electronics.

This entire mechanism is 3D printed and demonstrates how motion can be transferred purely through geometry and contact.


📹 Project Video

FreeCAD Rendering: 3D Printed Right-Angle Friction Drive

https://youtube.com/shorts/w_zL9D7RV9Q


🔧 What is a Right-Angle Friction Drive?

A right-angle friction drive transfers rotation between two shafts that are oriented at 90 degrees to each other using surface contact instead of teeth.

Instead of gears:

  • One rotating surface presses against another
  • Friction forces transfer motion
  • The driven part rotates because of rolling contact

This principle is used in:

  • Record players
  • Paper feeders
  • Conveyors
  • Machine tools
  • Old mechanical clocks

⚙️ How This Mechanism Works

This design uses:

  • A cam disc (rotating plate)
  • A flat roller follower (disc on a shaft)
  • A guided vertical shaft
  • A printed frame that holds everything in alignment

When the cam rotates:

  • It rubs against the flat follower disc
  • The disc rolls along the cam surface
  • That rolling causes the follower shaft to rotate
  • The top plate rotates smoothly as a result

Even though the axes are at right angles, rotation is transferred cleanly.

This is not gear action — it is rolling friction drive.


🧠 Why the Disc Rotates

The follower disc is mounted on a pin and is free to spin.

When the cam touches it:

  • The cam’s surface has tangential velocity
  • That velocity forces the disc to roll
  • Rolling motion turns into shaft rotation

This eliminates sliding friction and allows smooth motion.

In engineering, this disc is called a:

Roller follower


🛠 Why Use Friction Instead of Gears?

Friction drives have unique advantages:

FeatureBenefit
SmoothNo noise, no vibration
SafeSlips instead of breaking
SimpleNo teeth or alignment needed
Shock-proofOverload protection built-in

This is why friction drives are used in printers, CNC feeders, and audio equipment.


🧩 Mechanical Insight

By changing only the cam shape, this same rig can be converted into:

  • A rotary drive (as shown here)
  • A lifting cam
  • A pump
  • A stamping mechanism
  • A timing controller

The cam profile is mechanical programming.

Rotation in → Motion out.


🧪 Why 3D Printing is Perfect for This

3D printing allows:

  • Fast experimentation
  • Custom cam profiles
  • Swappable parts
  • Learning through real motion

This project shows that even with plastic parts, you can explore real kinematic systems used in industry.


📦 Applications of This Concept

This exact principle is used in:

  • Turntable drives
  • Conveyor rollers
  • Filament feeders in 3D printers
  • Mechanical automation systems
  • Educational models

🧠 Final Thought

This project shows that:

Motion does not need electronics — geometry is enough.

A rotating shape can drive, lift, pause, and spin simply by touching another shape.

That is the beauty of mechanical engineering.