You are browsing as a guest. Sign up (or log in) to start making projects!

5h 39m 30s logged

First Devlog 🚀

I don’t really know where to start, but I’ll try to share what I worked on today.

I’ve been working on my IR Signal Emulator, which is basically a circuit that copies IR signals from almost any remote, saves them into memory, and retransmits them later. Since most IR protocols don’t encrypt their data, the emulator can imitate the original remote. My goal isn’t only to make it work, but also to understand why it works.

Here’s what I accomplished today.


âś… Added FOTA (Firmware Over The Air)

I integrated the ArduinoOTA library so I can upload firmware to my ESP32 over Wi-Fi instead of connecting a USB cable every time.

I mainly did it because I wanted to try something new. It wasn’t that hard to implement, but understanding what the library actually does internally took much longer than writing the code itself.

While researching, I wrote a lot of notes on paper. I’m planning to turn everything I learn during this project into a few PDF files and upload them to GitHub once the project is finished. Hopefully they’ll help someone else who’s learning the same things.


âś… Enabled IR Reception

The receiver started receiving signals… but there was a problem.

The Serial Monitor kept printing random signals with an UNKNOWN protocol even when I wasn’t touching the remote.

After a bit of investigation, I realized my circuit was sitting next to a window. Since sunlight contains infrared radiation, I moved everything into a nearly dark room. Most of the random signals disappeared immediately.

Unfortunately, the receiver still couldn’t detect my remote.

I couldn’t find the datasheet for my exact IR receiver. The only one I found was for another module with the same name but different dimensions, so after several random attempts I finally figured out the correct wiring by myself. Once I rewired it, the receiver immediately started detecting valid signals.

That was probably the most satisfying moment of the day.


âś… Added an IR Noise Filter

Even in a dark room, a few random signals still appeared.

Instead of ignoring them, I wanted to understand why.

That led me to spend a couple of hours learning how the IRremoteESP8266 library works, what raw timing data actually means, and how the library recognizes different protocols.

In the end, I built a simple filter:

  • Ignore every UNKNOWN protocol.
  • Ignore signals whose raw timing is below a chosen threshold.

If you’re interested in this topic, let me know. I wrote pages of notes while researching it, and I’d like to convert them into PDFs and upload them with the project.


âś… Enabled IR Transmission

Next, I added:

  • An IR LED
  • A Save button
  • A Send button
  • A Delete button

This part actually went much faster than I expected.


âś… Debugging

This was definitely the hardest stage.

The first bug was that if Wi-Fi failed to connect, the rest of my code never executed.

The second one took me much longer to understand.

The received signal wasn’t being saved correctly.

After several hours of debugging, I discovered that the problem wasn’t the receiver—it was my program logic. Since the loop() function runs thousands of times every second, the variable holding the received signal kept getting overwritten by new data before I pressed the Save button.

The solution was simply to keep a copy of the last valid signal instead of relying on the receiver’s working variable.

Honestly, that bug taught me much more about how the library works than I expected.

âť“ Question

I spent almost the entire day researching, reading documentation and debugging, but WakaTime only logged about 5 hours because most of that time wasn’t spent writing code.

Does anyone know a good way to track research hours as well?

0
184

Comments 4

@fsh

Time spent researching can’t be counted. Also, please don’t write your devlogs with AI

@Nasser

sorry about that but I used AI only to correct grammatical errors , and to enhance readability , because I’m not a native speaker .

@Nasser

and I think that it can be journaled then get logged , I’mI wrong

@Arblo

yooo homemade flipper zero. that’s sick! also- ai use is alright if you’re not a native speaker imo