• Blog
  • Work
  • LUTs
  • About
  • Contact

Galib F. Rahman

NYC - Based Photographer | Technology Enthusiast

  • Blog
  • Work
  • LUTs
  • About
  • Contact

Building a Matrix-Inspired Smart Ring: From Digital Rain to Reality

How a late-night Instagram post turned into an ongoing experiment in embedded systems, wearable technology, and a lot of trial and error.

The Inspiration

This project began when I came across a post from Instagram creator @danielidle showcasing a Digital Rain Ring inspired by The Matrix. The ring featured a tiny display embedded inside what appeared to be a signet ring, continuously playing the iconic Matrix code rain effect.

What immediately caught my attention wasn't just the animation—it was how seamlessly the technology disappeared into the design. When the display was off, it looked like a piece of jewelry. When it turned on, it felt like a prop straight out of a science fiction film.

What fascinated me most was that the ring wasn't trying to be a smartwatch, fitness tracker, or productivity device. It existed purely because it was cool.

I couldn't stop thinking about how it worked.

As someone who enjoys electronics, programming, photography, and making things, I found myself wondering:

Could I build something similar myself?

Not necessarily a replica, but a Matrix-inspired wearable that I could understand, customize, and use as a learning experience.

A few days later, I was ordering parts.

Choosing the Hardware

After exploring several options, I settled on an inexpensive development board:

AITRIP ESP32-C3 Development Board

  • ESP32-C3 microcontroller

  • Wi-Fi

  • Bluetooth 5.0

  • USB-C

  • 0.42" OLED display

The board seemed almost too good to be true. It included a display and a powerful microcontroller in a package small enough that I could at least begin experimenting with wearable designs.

Of course, before creating anything interesting, I first had to figure out exactly what I had purchased.

First Contact

The first challenge was getting the display to respond.

After working through libraries, examples, and display drivers, I finally got a single word to appear:

Alive

That was it.

One word.

But after hours of troubleshooting, it felt like a major victory.

The display worked.

The board worked.

Now I could start building.

Discovering the Display

One of the first surprises came when I realized the display wasn't actually using the full screen area I expected.

Like many small OLEDs, only part of the display was truly visible through the front window.

This meant a lot of my early graphics looked misaligned or partially cut off.

Simple messages like:

Wake up,

Neo...

needed careful positioning to avoid disappearing off the edge of the screen.

What seemed like a simple display problem quickly turned into an exercise in pixel-level layout design.

Enter the Matrix

My first attempt at a Matrix effect was exactly what most people imagine:

1010101010

0101010101

1010101010

Technically it worked.

Visually it wasn't quite right.

After researching how the original effect was created for the films, I learned that the Matrix code wasn't just binary. It incorporated:

  • Japanese katakana characters

  • Numbers

  • Symbols

  • Letters

That discovery changed the direction of the project.

Instead of a binary display, I began creating custom glyphs inspired by the movie's digital rain.

Suddenly the animation started feeling much more authentic.

Building the Startup Sequence

Once the display could show characters reliably, I wanted the device to feel alive.

Instead of immediately jumping into the rain effect, I created a startup sequence inspired by the opening scene of The Matrix.

The display would slowly type:

Wake up,

Neo...

followed by:

The Matrix

has you...

then:

Follow the

white rabbit.

I added:

  • Variable typing speeds

  • Delays between characters

  • Screen transitions

  • A blinking cursor

The goal wasn't to display text.

The goal was to create anticipation.

The Rabbit Problem

I probably spent more time on the rabbit than I would like to admit.

After displaying:

Follow the white rabbit.

I wanted an actual rabbit to appear on the screen.

On paper this sounded simple.

In reality, a rabbit rendered on a 0.42-inch OLED can easily end up looking like a potato with ears.

Several designs were tested.

Some looked like mice.

Some looked like blobs.

Some looked like absolutely nothing recognizable.

Eventually I settled on a simplified rabbit silhouette that could be animated and understood at a glance.

That taught me an important lesson:

On tiny displays, readability matters more than detail.

Building a Portal

Once the rabbit existed, it needed somewhere to go.

I began experimenting with expanding circles and spiral animations.

The sequence evolved into:

Follow the white rabbit.

↓

Rabbit appears

↓

Rabbit hops across the screen

↓

Portal forms

↓

Rabbit enters portal

↓

Portal expands

↓

Reality changes

This became one of my favorite moments in the entire project because it transformed a simple display animation into a tiny story.

The Spiral Tunnel

To transition into the Matrix, I built a spiral tunnel effect using trigonometry.

Using functions such as:

sin()

cos()

I created particles that orbit and slowly collapse inward.

As they approach the center, they transform from simple pixels into Matrix-inspired symbols.

Watching the effect run for the first time felt surprisingly satisfying.

It was also one of the first times I felt like I was creating something unique rather than simply following tutorials.

Digital Rain

Eventually all roads lead back to the rain.

The current version uses:

  • Multiple independent columns

  • Random speeds

  • Custom glyphs

  • Numbers

  • Symbols

The result isn't a perfect recreation of the film, but it captures the feeling remarkably well considering the hardware limitations.

Every so often, the rain is interrupted by a message:

WAKE UP

before returning to its endless cascade of symbols.

Those interruptions make the device feel less like a screen saver and more like an object trying to communicate.

Unexpected Discoveries

One of the more surprising discoveries came while experimenting with color.

The OLED itself is monochrome, but I tested various lighting gels to see how they changed the appearance of the display.

A piece of Rosco #010 Yellow gel unexpectedly produced a green tint that looked remarkably close to the iconic Matrix aesthetic.

Sometimes the best effects come from accidental experiments.

Debugging Adventures

Not every part of the project went smoothly.

At one point I accidentally purchased filament refills instead of actual filament for my 3D printer.

Another time I spent hours troubleshooting upload failures only to discover the issue was related to communication speed during flashing.

More recently, I have been experimenting with the ESP32-C3's Wi-Fi capabilities.

The plan seemed simple:

Create a Wi-Fi network.

Connect a phone.

Control the ring remotely.

Reality had other plans.

The network appeared.

Then disappeared.

Then reappeared.

Then devices could connect but not reach the web interface.

Then the network vanished again.

Embedded development has a way of reminding you that the hardest problems are often the ones you least expect.

Where the Project Stands Today

At this point, the software is further along than the hardware.

I have:

  • Matrix-inspired startup sequences

  • Animated digital rain

  • Custom glyphs

  • Rabbit animations

  • Portal effects

  • Spiral tunnels

  • Early Wi-Fi experiments

What I do not yet have is a finished wearable ring.

The biggest challenge now is power.

The Next Challenge: Power

My next step is building a proper power system around the ESP32-C3.

I have been exploring options including:

  • Rechargeable coin cells

  • Small LiPo batteries

  • USB-C charging

  • Compact charging circuits

The challenge is finding a solution that is:

  • Safe

  • Rechargeable

  • Compact

  • Comfortable to wear

  • Capable of supplying enough current for the ESP32

Power isn't just an electrical problem.

It directly affects the enclosure design, heat management, weight, comfort, and overall appearance of the ring.

Designing the Enclosure

Eventually I want to move beyond a development board sitting on my desk.

The goal is to create an enclosure that:

  • Looks intentional

  • Protects the electronics

  • Manages heat

  • Supports charging

  • Feels like a wearable object

I don't want it to look like a development board strapped to my finger.

I want it to feel like a mysterious artifact pulled from a cyberpunk universe.

Why I'm Documenting This

One of the reasons I wanted to write about this project is that I am still figuring it out.

This isn't a tutorial written after everything worked.

This is a record of the process.

The successes.

The mistakes.

The experiments that failed.

The rabbit sprites that looked terrible.

The Wi-Fi networks that disappeared.

The accidental discoveries that ended up becoming some of my favorite features.

I have no idea exactly what the final version of this ring will look like.

But that's part of what makes the project exciting.

What's Next?

The immediate goals are:

  • Build a reliable power system

  • Design a wearable enclosure

  • Improve Wi-Fi functionality

  • Refine the rabbit animation

  • Add more hidden Matrix-inspired interactions

  • Transition from prototype to wearable device

For now, the project remains a work in progress.

The digital rain continues to fall.

Wake up, Neo...

The Matrix has you.

categories: Engineering, DIY, Programming, Computer Science
Wednesday 08.19.26
Posted by Galib Rahman
 

How to Import and Apply Custom LUTs on the Sony ZV-E10 II

Step 1: Prepare the LUT File

  1. Format the Memory Card:

    • Insert an SD card into your computer.

    • Format the card to ensure it's clean and compatible with the ZV-E10 II.

  2. Create the Required Folder Structure:

    • On the SD card, create the following folder path:

      • /Private/Sony/PRO/LUT

    • Ensure all folder names are case-sensitive and match exactly.

  3. Transfer the LUT File:

    • Copy your .cube LUT file (e.g., YourLUT.cube) into the LUT folder you just created.

Step 2: Import the LUT into the Sony ZV-E10 II

  1. Insert the Memory Card:

    • Place the SD card back into your ZV-E10 II.

  2. Access the LUT Import Menu:

    • Turn on the camera and press the Menu button.

    • Navigate to:

      • Exposure/Color (icon: plus-minus)

      • Color/Tone

      • Manage User LUTs

      • Import/Edit

  3. Import the LUT:

    • Select an available user slot (User1–User16) to register the LUT.

    • Choose the memory card as the source.

    • Select the YourLUT.cube file and confirm the import.

Step 3: Apply the LUT to Your Recording

  1. Enable Log Shooting:

    • Navigate to:

      • Shooting

      • Image Quality/Rec

      • Log Shooting Settings

    • Set Log Shooting to On.

  2. Select the Imported LUT:

    • Go to:

      • Exposure/Color

      • Color/Tone

      • Select LUT

    • Choose the LUT you imported (e.g., YourLUT).

  3. Monitor with the LUT Applied:

    • To view the effect of the LUT on your monitor while shooting:

      • Navigate to:

        • Exposure/Color

        • Color/Tone

        • Display LUT

      • Set Display LUT to On.

    • This allows you to see the graded image on the camera's display without affecting the recorded footage.

Note: The Sony ZV-E10 II allows you to import and display custom LUTs for monitoring purposes. However, the LUT is not baked into the recorded footage; the camera records in the selected picture profile (e.g., S-Log3), providing flexibility for color grading in post-production.

For a visual walkthrough of this process, you might find this tutorial helpful:

How To Shoot In SLOG 3 and Install User Luts For The Sony ZV-E10 II

Monday 02.17.25
Posted by Galib Rahman
 

How to Import and Apply Any LUT on a Sony FX3

Step 1: Prepare the LUT File

  1. Format Your Memory Card:

    • Insert an SD or CFexpress card into your computer and format it.

  2. Create the Required Folder Structure:

    • For SD cards: create the following path:
      PRIVATE/SONY/PRO/LUT

    • For CFexpress cards: create:
      SONY/PRO/LUT

  3. Copy the LUT File:

    • Place your .cube LUT file into the LUT folder.

Step 2: Import the LUT to Your Sony FX3

  1. Insert the Card Into the Camera.

  2. Open the Menu:

    • Go to:
      Exposure/Color > Color/Tone > Manage User LUTs > Import/Edit.

  3. Import the LUT:

    • Select an empty user slot and import your LUT from the card.

Step 3: Apply the LUT for Monitoring and Recording

  1. Enable Log Shooting (S-Log3):

    • Go to:
      Shooting > Image Quality/Rec > Log Shooting Settings

    • Set Log Shooting to On.

  2. Select the LUT:

    • Go to:
      Exposure/Color > Color/Tone > Select LUT

    • Choose your imported LUT from the list.

  3. Apply the LUT to Your Recording:

    • In Log Shooting Settings, turn Embed LUT File to On if you want the LUT embedded as metadata (not baked in, but applied during editing).

  4. Monitor with the LUT Applied While Filming:

    • Turn on Display LUT under Exposure/Color > Color/Tone to preview the LUT on your screen.

Monday 02.17.25
Posted by Galib Rahman
 

What is Programming?

Programming is the process of creating instructions for a computer or other electronic device to follow. The code is then used to create software programs, applications, and websites. Becoming a programmer and software engineer can seem like a daunting task, especially if you have no prior experience. However, with the right mindset and resources, anyone can learn how to code and begin a career in the tech industry. Overall, programming is a challenging and rewarding field that requires problem-solving skills, creativity, and attention to detail. Programmers play an important role in the creation of technology and the growth of digital industries.

Read more

tags: Programming, Computer Science, Books
categories: Books, Computer Science, Programming
Saturday 01.28.23
Posted by Galib Rahman
 

Creating a Mood-board for Photoshoots

A mood board (or inspiration board) is a visual tool used to communicate the overall aesthetic, style, and mood of a photo shoot. It can be created using a variety of materials such as images, text, and samples of color and texture. A mood board can help you and your team get on the same page and ensure that the photoshoot stays true to the desired vision.

Here are some steps for creating a mood board for a photoshoot:

  1. Determine the theme and aesthetic of the photo shoot: Consider the purpose of the shoot, the target audience, and the desired mood.

  2. Gather inspiration: Look for images, text, and other materials that reflect the theme and aesthetic of the photoshoot. This can include fashion, art, design, and other sources of inspiration.

  3. Arrange the materials: Use a program or tool such as Photoshop, Canva, or a physical board to arrange the materials in a cohesive and visually appealing way.

  4. Refine and finalize: Review the mood board with your team and make any necessary changes to ensure that it accurately reflects the desired aesthetic and mood of the photoshoot.

By creating a mood board, you can clearly communicate the vision for your photoshoot and ensure that everyone involved is working towards the same goal.

tags: Mood-boards, Inspiration
categories: Photography
Saturday 01.28.23
Posted by Galib Rahman
 

Starting a Photography Business

Starting a photography business can be a fulfilling and lucrative career choice for those who are passionate about capturing memories through images. Here are some steps to follow to start a photography business:

  1. Determine your niche: Specialize in a specific type of photography, such as portrait, wedding, or commercial photography.

  2. Build a portfolio: Assemble a collection of your best work to showcase your skills and style.

  3. Invest in equipment: Purchase the necessary equipment for your business, such as a camera, lenses, lighting, and editing software.

  4. Set your rates: Determine how much you will charge for your services, taking into account your expenses and the going rates for photographers in your area.

  5. Create a website: Build a professional website to showcase your portfolio and provide information about your services.

  6. Promote your business: Use social media, networking, and local advertising to attract clients and build your business.

  7. Deliver high-quality work: Provide excellent customer service and produce top-notch images to ensure that your clients are satisfied and will recommend you to others.

By following these steps, you can build a successful photography business and make a living doing what you love.

tags: Business, Photography
categories: Photography, Business
Monday 01.02.23
Posted by Galib Rahman
Comments: 2
 

Galib's Book List for 2021

Think and Grow Rich by Napoleon Hill

How to Win Friends and Influence People by Dale Carnegie

The Compound Effect by Darren Hardy

Atomic Habits by James Clear

Rich Dad Poor Dad by Robert Kiyosaki

The Emperor’s Handbook by Marcus Aurelius

The Socrates Express by Eric Weiner

Tribe of Mentors by Tim Ferriss

Tools of Tians by Tim Ferriss

Man’s Search for Meaning by Viktor E. Frankl

How to Fight a Hydra by Josh Kaufman

Make Your Bed by William H. McRaven

Anything You Want by Derek Sivers

12 Rules for Life by Jordan B. Peterson

The Prince by Niccolò Machiavelli

Outliers by Malcom Gladwell

Indistractable by Nir Eyal

The Psychology of Money by Morgan Housel

The Daily Stoic by Ryan Holiday

Principles by Ray Dalio

Law of Attraction by Michael J. Losier

Presence by Amy Cuddy

Relentless by Tim S. Grover

I Will Teach You to be Rich by Ramit Sethi

Think and Eat Yourself Smart by Caroline Leaf

Superfans by Pat Flynn

Springboard by G. Richard Shell

2030 by Mauro F. Guillén

Give and Take by Adam Grant

Originals by Adam Grant

Contagious by Jonah Berger

Bargaining for Advantage by G. Richard Shell

Connected Strategy by Christian Terwiesch and Nicolaj Siggelkow

Extreme Ownership: How US Navy Seals Lead & Win by Jocko Willink & Leif Babin




tags: Books, Self-Improvement, Motivation, Wealth, Mindset, Strategy, Inspiration
categories: Self-Help, Books
Sunday 02.14.21
Posted by Galib Rahman