A bias of 127 is to be added to the exponent number. The biased exponent can range from -126 to +128 Which can fit in 8-bit’s.
Mantissa(F)
There is a one-bit towards the left of the floating point. It must be noted here that is the number is shorter than 23 bits in length. Zeroes are padded towards the right side. to fit in the 23-bit field.
IEEE 754 format for the representation of 32 bit single-precision floating-point numbers
In an ARM Cortex, M4F processor-based microcontroller such as STM32L476vg; the floating-point number is stored in accordance to the IEEE-754.
In the above video, I have written a small code using IAR workbench. When I debugged the program using IAR. I have observed that the floating-point number is converted by the compiler into IEEE 754 format and it is being stored in S# registers of the STM32L476vg. Which are the register present in the FPU(Floating Point Unit) or VFP(Vectored Floating Point) unit.
If you want to go into details, here is the abstract
Abstract: This standard specifies interchange and arithmetic formats and methods for binary and decimal floating-point arithmetic in computer programming environments. This standard specifies exception conditions and their default handling. An implementation of a floating-point system conforming to this standard may be realized entirely in software, entirely in hardware, or in any combination of software and hardware. For operations specified in the normative part of this standard, numerical results and exceptions are uniquely determined by the values of the input data, sequence of operations, and destination formats, all under user control.
“IEEE Standard for Floating-Point Arithmetic,” in IEEE Std 754-2008 , vol., no., pp.1-70, 29 Aug. 2008, doi: 10.1109/IEEESTD.2008.4610935.
A great tool to have is the online IEEE 754 convertor
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 Pin
Arduino Uno Pin
VCC
5V
GND
GND
SDA
A4
SCL
A5
Circuit Diagram
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.
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.
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
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:
Feature
Benefit
Smooth
No noise, no vibration
Safe
Slips instead of breaking
Simple
No teeth or alignment needed
Shock-proof
Overload 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.