How to Reverse Engineer Common LCD Kitchen Timers (Egg timers) with Arduino

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 มิ.ย. 2024
  • Join me on my journey of reverse engineering a common kitchen timer LCD. This video shows how to use common kitchen timers with 4 digit LCDs, and controlling the segments to print out text.
    The heart of this project is a custom PCB, designed as a drop-in replacement for the original kitchen timer circuit. The TM1621D LCD driver on the PCB is controlled by either an attiny13a or an ESP12E module, providing flexibility.
    If you need wifi and memory, solder ESP12E module. If you dont need those, and have a simple application in mind, solder attiny13A.
    The programming for this project is done using the Arduino framework.
    You can find all necessary files from the link below:
    Github Page:
    github.com/MakersFunDuck/Comm...
    Components used:
    TM1621D:
    www.amazon.com/gp/search?ie=U...
    s.click.aliexpress.com/e/_opO...
    Potentiometer 10k:
    www.amazon.com/gp/search?ie=U... 10k RM-065
    s.click.aliexpress.com/e/_opO...
    ESP12E module:
    www.amazon.com/gp/search?ie=U...
    s.click.aliexpress.com/e/_msx...
    ▬ Contents of this video ▬▬▬▬▬▬▬▬▬▬
    0:00 - Intro & summary
    0:26- Why I did this
    1:41- Tear down of original hardware
    4:00- Finding Segment and Common pins
    7:13- Mapping out the segments
    9:12- Methods to drive an LCD
    12:42 - Schematics and PCB Layout
    14:00 - Real replacement board PCB
    15:42- Programming the "Attiny13a" version
    16:36 - Programming the "Esp8266"version
    Attiny13a:
    amzn.to/3S5vBjM
    s.click.aliexpress.com/e/_m0G...
    0402 resistor assortement kit:
    amzn.to/3vB68Hv
    s.click.aliexpress.com/e/_ooA...
    PCB manufacturing:
    pcbway.com/g/Epj64b
    www.pcbway.com/project/sharep...
  • แนวปฏิบัติและการใช้ชีวิต

ความคิดเห็น • 65

  • @SecularMentat
    @SecularMentat 4 หลายเดือนก่อน +11

    Love the work you've done here. I really like the idea of reverse engineering and coopting already made products to do projects.

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน

      Thank you very much!

  • @jdk8787
    @jdk8787 4 หลายเดือนก่อน +20

    Nice video. I like how you walked through the different options and why you choose one over another. Not too much detail, just enough. How you used trial and error to determine the pinout of the screen that was very helpful. In the past I have thrown out those screens from old devices, thinking it would be impossible to figure out what all the pads on it do. But you have shown that, with enough time, I could figure it out.
    There are a lot of basics videos on electronics and microcontrollers, but after learning the basics I find it hard as a hobbyist to learn more intermediate level projects like this. Thanks for the video, I know how much time and effort go into making it.

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +6

      Thanks. There are tons of theory videos. What we makers do not have is practical explanations. Thats why I am trying to not get into theory, and try to focus on what is important to us :)

  • @koraypekericli
    @koraypekericli 3 หลายเดือนก่อน +2

    Fantastic way to creep out people randomly with quick odd messages in between timer button presses. 😀 Great work! Thank you!

    • @makersfunduck
      @makersfunduck  3 หลายเดือนก่อน

      :D might be indeed quite funny

  • @mattsan70
    @mattsan70 4 หลายเดือนก่อน +61

    I watched the whole video but still don't know how long I should boil my eggs for.

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +7

      :D me neither @mattsan, me neither.

    • @TheTruthfly
      @TheTruthfly 3 หลายเดือนก่อน +3

      ​​@@lolcatwill
      3-5 minutes: liquid yolk with soft, whites not fully set
      6 minutes: liquid yolk with fully set whites
      7 minutes: jammy yolk with outer edges set
      8 minutes: half set yolk
      9 minutes: half set yolk
      10 minutes: mostly set yolk
      15 minutes: hard as a rock

  • @MaxintRD
    @MaxintRD 3 หลายเดือนก่อน +2

    Excellent video! Liked & Subscribed... I love how you gave very clear explanations on how you went about reverse engineering this timer and how to control it. It reminds me of the bank card reader I once gutted to reuse its LCD.
    Nice to see that versatile PCB you made. I made a library for TM16xx LED drivers that includes a 7-segment font to implement the familiar Arduino print function. As you say most characters can be made up using 7 segments in a fairly readable form and with a bit of scrolling even 4 digits can be enough to display a longer message.
    I knew about the TM1621D chip, but didn't use them yet. Your video encourages me to buy some too and perhaps include them into my TM16xx library. Thank you for sharing!

    • @makersfunduck
      @makersfunduck  3 หลายเดือนก่อน

      Thanks for your kind comment. Indeed having a proper library is a great idea. I also saw your library. Others can easiliy use it for their own purposes. It might be a good idea to have a pointer to define all the segments first. Because pinouts are different for most screens, and there are custom segments on most LCDs. Maybe instead of including it to existing library, a separate library would be easier to use.

    • @MaxintRD
      @MaxintRD 3 หลายเดือนก่อน

      @@makersfunduck- Thank you for the suggestion. Good point. In the past I've also encountered need for such segment mapping and I've implemented support in a few sub-libraries, mainly for addressing 15-segment alphanumeric LED displays. I intend to make it into a generic feature but I'm still figuring out what the best way would be to unify the variations in memory size, number of segments and common anode vs. cathode usage. Perhaps it's best to redesign the library, but for now I try to keep it compatible with its predecessors.

  • @TheSchizoDuckie
    @TheSchizoDuckie 4 หลายเดือนก่อน +14

    That was bloody awesome, I learned loads from this. thanks!

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +3

      You're very welcome! I'm thrilled to hear that you found it awesome and learned a lot. If you have any more questions or need further clarification on anything, feel free to ask.

  • @jensschroder8214
    @jensschroder8214 4 หลายเดือนก่อน +6

    I've already done that with an Arduino Mega 2560.
    in the loop:
    I2C was read out,
    packed into a string,
    an LCD font was applied,
    and the pins were sorted,
    created an inverted image.
    The pins are output with an free running interrupt, straight or inverted.
    The only disadvantage I needed a lot of IO pins.

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +4

      Another disadvantage would be the code I think if it had more than 1 digit. If you have your code somewhere, that would be nice if you can share it.

  • @FixitFrank
    @FixitFrank 4 หลายเดือนก่อน +4

    I did a whole project that used one of those LF1902's. I was driving a 10-pin 4 digit 1/3 duty cycle TN display that I had made.

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +2

      It sounds pretty cool. Couldnt find it in your channel though.

  • @dktr2
    @dktr2 4 หลายเดือนก่อน +5

    Please note that powering the LCD with direct current (DC) will quickly damage the display.

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +2

      Hi dktr2, thanks for pointing out to the @4.42 in the video. It is indeed worth emphasizing.

  • @EdwinMartin
    @EdwinMartin 4 หลายเดือนก่อน +9

    Very nice explanation! Thanks for sharing.

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +4

      Glad it was helpful :)

  • @riccardoiacob4560
    @riccardoiacob4560 4 หลายเดือนก่อน +8

    You could also design a small boost converter and put it on the PCB, so you can use standard AAA cells. Although the small AAAs don't have much energy.

    • @b0e
      @b0e 4 หลายเดือนก่อน

      don't forget about deep sleep ! @@makersfunduck

  • @jw200
    @jw200 4 หลายเดือนก่อน +6

    Thanks.
    I can try this on other LCDs also.

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +2

      You are welcomed. Would like to hear back from you if you come up with a cool project :)

  • @trippycat
    @trippycat 4 หลายเดือนก่อน +4

    nice work

  • @TheIronHeadRat
    @TheIronHeadRat 4 หลายเดือนก่อน +6

    Thanks for sharing 👍

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +3

      Glad you liked it :)

  • @ScriptCoded
    @ScriptCoded 4 หลายเดือนก่อน +2

    Smart idea! Maybe an optional USB port could be nice for power

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +1

      It is a nice idea. I will add usb from now on for the next projects :)

  • @JoPiDo
    @JoPiDo 4 หลายเดือนก่อน +3

    Thanks!

    • @makersfunduck
      @makersfunduck  3 หลายเดือนก่อน +1

      Thank you as well :)

  • @orangeinfotainment620
    @orangeinfotainment620 4 หลายเดือนก่อน +3

    Thank you sm

  • @user-xx5kw3wt1l
    @user-xx5kw3wt1l 2 หลายเดือนก่อน

    Hi, do you believe you could assist in reverse engineering an Opel LCD screen (specifically the Opel clock display) for a project I'm working on? I aim to utilize the factory screen, but I'm encountering difficulties achieving the desired functionality due to my limited knowledge. I'm willing to purchase the screen for you to work with, so there won't be any expense on your end.

  • @DaveyRaaijmakers
    @DaveyRaaijmakers 3 หลายเดือนก่อน

    Heel erg vet, ik ga dit zeker ook proberen. Waar heeft u de oorspronkelijke wekker gekocht?

    • @makersfunduck
      @makersfunduck  3 หลายเดือนก่อน +2

      Action store :)

    • @DaveyRaaijmakers
      @DaveyRaaijmakers 3 หลายเดือนก่อน

      @@makersfunduck Dank je wel, ik ga het zeker ook uitproberen.

  • @VEC7ORlt
    @VEC7ORlt 4 หลายเดือนก่อน +5

    Pretty sure you dont even need a driver, you could have easily bit banged it, as the drive frequency is something like 50hz is sufficient.

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +4

      You are technically correct. But programming part was a little tricky. Also your mcu needs to work all the time even if you put interrupts + it saves you pins. So I thought I could afford just 20 cents for all these luxuries :)

  • @ElectronDuino
    @ElectronDuino 4 หลายเดือนก่อน

    How did you make the LCD footprint?

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +2

      with KiCAD footprint editor

    • @ElectronDuino
      @ElectronDuino 4 หลายเดือนก่อน

      Sorry for the wrong question. I mean how did you take the measurements for the pads? With a caliper?

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน +3

      @@ElectronDuino Ah, yes. I have used a caliper and took measurements. and to relax the tolerances, I made the pins a bit wider and longer than the original footprint.

  • @necoisidois7570
    @necoisidois7570 4 หลายเดือนก่อน +1

    LCD, how much VOLT need?

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน

      the one that I used required roughly 1.5 V.

  • @jayare7750
    @jayare7750 หลายเดือนก่อน

    No 8008?

  • @sabyasachisarangi
    @sabyasachisarangi 4 หลายเดือนก่อน

    Can you do one with the oximeter color lcd?

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน

      Do you already have one at hand and checked what mcu is used in it?

    • @sabyasachisarangi
      @sabyasachisarangi 4 หลายเดือนก่อน

      @@makersfunduck I have one that I am using, let me try to get a look.

  • @lohikarhu734
    @lohikarhu734 4 หลายเดือนก่อน

    No oscilloscope?

    • @makersfunduck
      @makersfunduck  4 หลายเดือนก่อน

      well, you dont need one for this.

  • @lo2740
    @lo2740 4 หลายเดือนก่อน +5

    that is not "reverse engineering" by any stretch, it is simply random "DIY project" aka "youtube content" consisting of connecting a 20 years old avr to a random segment LCD, which is not an achievement, really, any segment LCD is extremely easy to drive.

    • @TheSchizoDuckie
      @TheSchizoDuckie 4 หลายเดือนก่อน +16

      I hope it helped you got that out of your system.
      Sometimes it's just better to say nothing on the internet.
      This is one of those times.

    • @ParodieHecker-mobile
      @ParodieHecker-mobile 4 หลายเดือนก่อน +10

      You must be fun at parties 🤓

    • @ddjazz
      @ddjazz 4 หลายเดือนก่อน +6

      I also assumed after reading the title he found a way to reprogram the "blob" to customize the egg timer function. It is not , but still an interesting video.

    • @pro5p3c7or1
      @pro5p3c7or1 4 หลายเดือนก่อน +6

      show us your video lets see how good is compare to this... what? you don't upload videos? then "stfkup "dude, nobody cares

    • @Raytenecks
      @Raytenecks 4 หลายเดือนก่อน +7

      He did reverse engineer the pinout of the LCD, which helped make sure the controller he was getting would work with what he would buy.

  • @rleonmx
    @rleonmx 4 หลายเดือนก่อน

    eso no ingeniería inversa, es reciclar una pantalla y reusar botones, que chafa video

    • @MaxintRD
      @MaxintRD 3 หลายเดือนก่อน

      Totally disagree. Finding out what connection does what without documentation, is reverse engineering in my book...