Arduino OLED Menu Tutorial (for beginners - Arduino UNO, 128x64px SSD1306 OLED screen, u8g)

Поділитися
Вставка
  • Опубліковано 16 січ 2025

КОМЕНТАРІ • 404

  • @upir_upir
    @upir_upir  11 місяців тому +12

    Do you like the video? Please consider buying me a coffee ☕, thank you! www.buymeacoffee.com/upir

    • @futuristicai268
      @futuristicai268 9 місяців тому

      i will definetely buy you a cofee when i start earning

    • @ianbirkinhead4103
      @ianbirkinhead4103 4 місяці тому

      Sorry, I was really interested but you spoke so fast, didn’t finish

  • @ChristianBehnke
    @ChristianBehnke 2 роки тому +74

    I always love that you provide full instructions for these projects. While I'm no novice with graphics, I'm still learning Arduino, so I can jump ahead, but for users who have no clue, omitting the graphic portion assuming they know how would leave them guessing and frustrated.

    • @upir_upir
      @upir_upir  2 роки тому +10

      Thank you for your nice comment, I really appreciate your nice words. I was actually thinking that most of the viewers would be more familiar with Arduino and not the graphics, but I guess it should work the other way around as well :) Good luck with your projects and please don´t hesitate to share your creations, I would love to see your graphics!

  • @ibendiben
    @ibendiben Рік тому +32

    Man, you went out of your way for this. You deserve a medal of honor!

    • @upir_upir
      @upir_upir  Рік тому +2

      Thank you, but I still don´t fully understand why this video is so much popular compared to my other videos that are very similar in style, but cover different topics. Perhaps the topic of the menu is useful for more projects?

    • @ibendiben
      @ibendiben Рік тому

      @@upir_upirI found it looking for a way to get neat icons and all on the oled. The way you explained this with the websites like image2cpp and the wokwi example to experiment helped me a lot further then what I could find so far.

  • @Shamanestr
    @Shamanestr 2 роки тому +9

    Most useful material about OLED menu, i ever seen!
    Great work!
    TNX for doing these!

    • @upir_upir
      @upir_upir  2 роки тому +1

      That´s great to hear, thank you for your nice comment and good luck with your project!

  • @ryleebrownfox
    @ryleebrownfox 11 місяців тому +6

    judging by how fast he talks, his processor is probably an overclocked i7 with a 2hp water cooling system. this comes with a twin cooling towers with forced air drafts. learned a lot from this tutorial. thanks

    • @upir_upir
      @upir_upir  11 місяців тому

      I´m glad it was still useful!

  • @biiLL4bonG
    @biiLL4bonG 2 роки тому +9

    Really like your projects, when i see them, there is always some inspiration for me. When i was younger i often thought outside the box - and maybe cuz i am getting older, its getting harder and harder for my mind. But then i see some of your stuff and can create something with it, so thanks for that! :D Keep up the good work 👍

    • @upir_upir
      @upir_upir  2 роки тому +1

      Thank you for your nice comment, I´m glad you like and that it inspires you for your own creations. Good luck with your projects!

    • @johnhunter9877
      @johnhunter9877 2 роки тому +1

      I always wished I had gone down the electronics toad when I was younger so understand when you say about it being harder as you age.

  • @starpatrick889
    @starpatrick889 8 місяців тому +2

    讲解太棒了,循序渐进,ui审美也非常在线,Like the video!

    • @upir_upir
      @upir_upir  8 місяців тому

      Thank you for your nice comment, I´m glad you like it!

  • @tb303wpf1
    @tb303wpf1 7 місяців тому +3

    Thank you so much for this amazing tutorial!! I will have to buy you a whole week worth of coffee for this valuable information. My project is looking so nice now!

    • @upir_upir
      @upir_upir  7 місяців тому +1

      Thank you for your nice words, I would be glad even for a single coffee!

  • @leonardogalli6237
    @leonardogalli6237 2 роки тому +4

    I love your menus bro, keep going we need more of them ❤️

    • @upir_upir
      @upir_upir  2 роки тому

      Thank you! I really like those OLED displays, so I´m sure there will be more graphics-content in the near future..

  • @RamBrosWorkshop
    @RamBrosWorkshop 2 роки тому +5

    I was just looking for this! Detailed and Easy to understand tutorial
    Thanks man

    • @upir_upir
      @upir_upir  2 роки тому +1

      That´s great to hear, feel free let me know if there is something else that you are looking for :)

    • @RamBrosWorkshop
      @RamBrosWorkshop 2 роки тому +1

      @@upir_upir I'm Currently working on a Remote for my 3D printed railway. I'm creating a simple UI with Dashboard and a Menu. I think I will also try the u8g2 since its identical to u8glib.

    • @upir_upir
      @upir_upir  2 роки тому +1

      Cool! Do you have any example/photos to share? There is just a slight difference between those two libraries that I will cover in the next video..

    • @RamBrosWorkshop
      @RamBrosWorkshop 2 роки тому +2

      ​ @upir_upir I shared the code, looks like youtube removed my previous comment because of the link.
      Just the basic dashboard is complete and runs with ESP32 dual core. I have to add a few more functions and a simple menu system.

    • @upir_upir
      @upir_upir  2 роки тому +1

      That’s strange, usually there is no problem with posting links. Could you please try it again?

  • @dienthongminhesmart
    @dienthongminhesmart 5 місяців тому +1

    Thanks for sharing, the video is really detailed and easy to understand. I will learn your way to develop IOT products!

    • @upir_upir
      @upir_upir  5 місяців тому

      Thank you for your comment, I´m glad you like it!

  • @baron8611
    @baron8611 3 місяці тому +2

    A very superb video, it helped me through the dark sad times in my life when no one was there for me.

    • @upir_upir
      @upir_upir  3 місяці тому

      I´m glad that a simple menu has such a power!

  • @alexxustube
    @alexxustube Рік тому +2

    I've learned so much in this video. I'm just speechless. Thanks for your awesome work! 👍😊

    • @upir_upir
      @upir_upir  Рік тому

      Happy to hear that! Thank you for your nice comment and good luck with your projects.

  • @damianwiecaw492
    @damianwiecaw492 Рік тому +2

    Best tutorial i have seen... great job man!

    • @upir_upir
      @upir_upir  Рік тому +1

      Wow, thanks! I really appreciate your comment.

  • @raymondmichael4987
    @raymondmichael4987 Рік тому +14

    Consider part two, with the following addition.
    1) using 5 buttons (up/down, left - / right +, select (center button) or one rotary encoder with button to handle both, select, change (-/+)
    2) functionality to select the current menu and change it's settings, like values,etc.
    BTW, I always rewatch your videos a lot, keep up the good work

    • @upir_upir
      @upir_upir  Рік тому +4

      Thank you for your comment, Raymond. It´s not a big surprise, but I will record a second part with 5-way button.. at least I will try to :) Good luck with your projects!

    • @marcomeli9882
      @marcomeli9882 Рік тому +3

      @@upir_upir +1 for rotary encoder; thank you for this fantastic tutorial, anyway!

    • @rarenu
      @rarenu Рік тому +1

      @@upir_upir +1 I too need the rotary encoder option from you. With kind regards.

    • @himikotiro8487
      @himikotiro8487 Рік тому +1

      i cobbled together some stuff like your suggestion to fit with my projects parameters!, i added an up, down, left, right and select button as well as an "ok" and "back" button! (ik im late but it was a fun project to try)

    • @raymondmichael4987
      @raymondmichael4987 Рік тому +1

      @@himikotiro8487 way to go buddy; didn’t play with this project because I’m currently working on a website design.
      But will definitely return to this.
      And again thanks @upir_upir for inspiring the rest of us :)

  • @ОлексійГончаров

    I'm still new to arduino, I watch your videos and they inspire me to take and do) Thanks for your work! sorry for my english)

    • @upir_upir
      @upir_upir  Рік тому

      That´s great to hear. If the video inspires you to create you own project, then it fullfiled it´s purpose.

  • @angryalliance4958
    @angryalliance4958 2 роки тому +2

    Extremely informative ! , keep uploading such great contents

    • @upir_upir
      @upir_upir  2 роки тому

      Thank you for your nice comment, I don´t plan to stop yet :)

  • @womacko
    @womacko 8 місяців тому +1

    This tutorial is very well-made! WOW thank you so much :)

    • @upir_upir
      @upir_upir  8 місяців тому

      You're very welcome, I´m glad it was helpful!

  • @aripjamaludinrumi
    @aripjamaludinrumi 2 години тому

    woow wooow woowwww This is the best tutorial video I have ever watched

  • @rarenu
    @rarenu Рік тому +1

    This is the best on OLED gauges, thank you for the wonderful presentation. With best regards.👌👌

    • @upir_upir
      @upir_upir  Рік тому

      Thank you for your nice comments and good luck with your projects!

  • @johnhunter9877
    @johnhunter9877 2 роки тому +1

    Very nice video and project, this is one of the best I've seen in recent months, I take great insperation from what you do here, you inspire me to push on with my hobbie.

    • @upir_upir
      @upir_upir  2 роки тому

      Thank you, John! I really appreciate your nice comment and wish you luck with your own projects. Please feel free to share your creations.

  • @kshysztof9649
    @kshysztof9649 2 роки тому +2

    Yeah, that's about it...
    We obviously have had slightly different approaches around the images and text itself due to the nature of our workflow, but you handle the code "more conciously", whatever that means.
    Anyway, it's a great learning material as always. I'll definitely come back to it in some time, and try to adapt it to my own needs.
    Thanks !

    • @upir_upir
      @upir_upir  2 роки тому

      Thank you for your comment Kshysztof. I always feel that my code could be improved, but hopefully it will get better with time and more projects. Good luck with your project and I look forward seeing your updated menu!

  • @memesedikitreceh
    @memesedikitreceh Рік тому +1

    I love this ❤️ thank you for the information, very valuable for me who is still a beginner 🙏

    • @upir_upir
      @upir_upir  Рік тому

      That´s great to hear! Thank you for your nice comment and good luck with your projects.

  • @VolosProjects
    @VolosProjects 2 роки тому +1

    Great, tnx.

  • @EmirAliYldrm-lo2tp
    @EmirAliYldrm-lo2tp 2 місяці тому +1

    Thank you! I learned a lot with this video.

    • @upir_upir
      @upir_upir  2 місяці тому +1

      That´s great to hear, thank you for your comment!

  • @elguapo3436
    @elguapo3436 11 місяців тому +1

    Freaking useful! thank you, subscribed for sure

    • @upir_upir
      @upir_upir  11 місяців тому

      Thanks for the sub!

  • @debarjo
    @debarjo 2 роки тому +1

    Wow! C`est magnifique Upir!!!!

  • @emrullahkazak1566
    @emrullahkazak1566 25 днів тому +1

    mükemmel bir anlatım olmuş. teşekkür ederim

    • @upir_upir
      @upir_upir  25 днів тому

      Thank you, I´m glad you like it!

  • @WinChester_Ltd
    @WinChester_Ltd Рік тому +1

    Thanks for the video, great job 👍

  • @lmbruguera
    @lmbruguera Рік тому +1

    very good video, very interesting...
    i like you show all the process and get a better solution in the end

    • @upir_upir
      @upir_upir  Рік тому

      Thank you for your comment, I´m glad you like it!

  • @fullpower8382
    @fullpower8382 Рік тому +1

    Thats real hot Stuff!!! Thx. Best Video ever for explaining all around! Niceee

    • @upir_upir
      @upir_upir  Рік тому

      Thank you, I´m glad you like it. Make sure to check also my other videos where I use the same explaining style but with various different projects.

    • @fullpower8382
      @fullpower8382 Рік тому

      @@upir_upir Hi my Best, I watched your first CNC Project at least and go on to the Next I am interesting in, on your Channel. I am very exciting in your Content and you have a new Member for sure! I am at the beginning to make own Projects with Microcontrollers and I am very happy when I find any Content like Yours with clean and compact Knowledge and a good round about view of that. Best Greetings from Germany

  • @yigitozen
    @yigitozen Рік тому +1

    amazing tutorial, thanks for the tools introduced.

    • @upir_upir
      @upir_upir  Рік тому +1

      You are second, I’m glad you like it! Thank you for your comment

  • @nyfaz
    @nyfaz 2 роки тому +1

    Thank you very much. Always appreciate your content :)

    • @upir_upir
      @upir_upir  2 роки тому

      Thank you, I´m glad you like it!

  • @ABG_3D
    @ABG_3D Рік тому +1

    Oh wow, fantastic video as always upir, hats off to you for taking the time and explaining in such detail for most of us to follow along and not to forget @PCBWay for being such an amazing sponsor for your channel 🙌🏽
    This is a job very well executed and along the way what I want to do with my one project but just on a 128x128 RGB OLED.
    One question: Are you able to save the currently selected page to memory (the currently opened menu item) and display it upon power on as the first screen you see ?

    • @upir_upir
      @upir_upir  Рік тому

      Thank you for your nice comment! Yes, you can save the currently selected menu item / screen, use the eeprom library to store the value in eeprom. Just keep in mind that there is a limited number of writes, I believe it´s 100000...

    • @ABG_3D
      @ABG_3D Рік тому

      @upir thank you for the reply.
      Ah, that makes sense and will not work as the best solution.
      Just a thought, but will adding an additional flash memory module not be the answer?

  • @Meganano
    @Meganano 2 роки тому +1

    Great video thank you👍
    ❤ Arduino

    • @upir_upir
      @upir_upir  2 роки тому +1

      Thank you, I´m glad you like it!

  • @nkronert
    @nkronert Рік тому +19

    Don't you just hate it when someone draws a 16x16 pixel black and white image and it looks perfect in one go? 😂

    • @upir_upir
      @upir_upir  Рік тому +6

      I hate it as well!! Thankfully, I can cut out all the unsuccessful tries and only include the one that looks good :)

  • @JCC__BMX
    @JCC__BMX Рік тому +1

    Great job!!!
    Thank you very mutch

    • @upir_upir
      @upir_upir  Рік тому

      Thank you, I´m glad you like it!

  • @JeromeDemers
    @JeromeDemers 2 роки тому +2

    Keep it up! I love your work!

    • @upir_upir
      @upir_upir  2 роки тому

      Thank you Jerome, I really appreciate your nice comment and support.

  • @ravindupramod5998
    @ravindupramod5998 2 роки тому +1

    Thank U very much for this video.its very informative .

    • @upir_upir
      @upir_upir  2 роки тому

      You are welcome, I’m glad you like it!

  • @rexmar5630
    @rexmar5630 Рік тому +8

    Is it possible to connect it to car?

    • @upir_upir
      @upir_upir  Рік тому

      Do you mean to ODBII connector?

    • @rexmar5630
      @rexmar5630 Рік тому

      @upir_upir yes that this can show car temperature etc.

  • @pipsqueak2009
    @pipsqueak2009 2 роки тому +1

    Really useful - thank you for sharing

    • @upir_upir
      @upir_upir  2 роки тому

      That´s great to hear, thank you for your comment!

  • @Jindraxx20
    @Jindraxx20 Рік тому +2

    In the video the int item_sel_next is not set to 0 when overflows :) You just substract with 0 which ends up with nothing :P
    I know it's so minor but I couldn't prevent myself from mentioning it :D
    Thank you for the great content !

    • @upir_upir
      @upir_upir  Рік тому

      Thank you for the correction. Please feel free to mention any of my errors, I´m still learning and I often make a lot of those - and sometime I see it after the video is published.. This will hopefully get better with time. Good luck with your projects!

  • @masiyundanfauzana
    @masiyundanfauzana Рік тому +2

    Wau sangat menginspirasi❤
    Tambahkan subtitle indonesia 😂

    • @upir_upir
      @upir_upir  Рік тому

      Thank you, however, the subtitles were auto generated, so I hope it makes at least a little bit of sense…

  • @shreechandansamal5206
    @shreechandansamal5206 2 роки тому +1

    my godddddddddddddddddd.......................,,,,,,,,,,, really nice video..

    • @upir_upir
      @upir_upir  2 роки тому

      Thank you, I´m glad you like it!

  • @johnnyenglish3867
    @johnnyenglish3867 Рік тому +1

    insanely informative

    • @upir_upir
      @upir_upir  Рік тому

      Thank you, I´m glad you like it!

  • @bimokayoba
    @bimokayoba Рік тому +2

    thanks, new subscriber!!

    • @upir_upir
      @upir_upir  Рік тому +1

      Thank you, and welcome! :)

  • @donutoplack2436
    @donutoplack2436 10 місяців тому +1

    I knew nothing about coding getting into this video. But I somewhat sort of maybe kind of understand now

    • @upir_upir
      @upir_upir  10 місяців тому

      That´s great to hear, good luck with your learning and I hope my projects will help with that!

  • @Barzar100
    @Barzar100 2 роки тому +1

    Absolutly awesome

    • @upir_upir
      @upir_upir  2 роки тому

      Thank you, I’m glad you like it!

  • @andymouse
    @andymouse 2 роки тому +1

    Always interesting !...cheers.

    • @upir_upir
      @upir_upir  2 роки тому +1

      Thank you for your continuous support! :)

  • @etmax1
    @etmax1 Рік тому +1

    Very good and well explained video, thanks for sharing. I thought I would mention that the correct way to pronounce PhotoPea would depend on the language it was developed from and I'm just going to take a stab in the dark here and that foto pee is the original pronunciation, given that it is a small photo editor and that pea is often used to represent something diminutive.

    • @upir_upir
      @upir_upir  Рік тому

      I think you are right, also because the logo slightly resembles a pea stalk.. anyway, thank you for a nice comment!

  • @sammessina3849
    @sammessina3849 8 місяців тому +1

    The oled looks really crisp on camera! Did you do anything in code to stop the flickering or was it just camera settings?

    • @upir_upir
      @upir_upir  8 місяців тому

      Nothing special. This particular OLED is somehow easier to film compared to others. That said, none of them are blinking to the naked eye, it´s only a camera problem.

  • @CaminanteSinFinal
    @CaminanteSinFinal 2 роки тому +1

    So much thanks!

  • @ADMINM-ld7vu
    @ADMINM-ld7vu Рік тому +1

    that GUI reminds of the base model Mercedes Sprinter’s gauge screen GUI

  • @bob-ny6kn
    @bob-ny6kn 2 роки тому +3

    IIC PROTIP:
    A5 has 5 letters, as does CLOCK
    A4 has 4 letters, as does DATA

    • @upir_upir
      @upir_upir  2 роки тому

      This is very helpful, thank you!

    • @Meganano
      @Meganano 2 роки тому

      thats a great way to remember👍👌

    • @mitsos_306
      @mitsos_306 Рік тому +1

      Hi, can you please explain, A4, A5 on one side and SDA,CLK on the other side side of the board are bridged?

    • @upir_upir
      @upir_upir  Рік тому

      Yes, those are the same pins.

  • @Luka.Z.15
    @Luka.Z.15 Рік тому +1

    Thx mate👍

    • @upir_upir
      @upir_upir  Рік тому

      Thank you, Bojan! I´m glad you like it.

  • @yusufceyhan5560
    @yusufceyhan5560 9 місяців тому +1

    Thanks for video

    • @upir_upir
      @upir_upir  9 місяців тому +1

      You are welcome, I´m glad you like it!

  • @chriscowan8470
    @chriscowan8470 Рік тому +1

    excellent work :)

  • @ARJPRX
    @ARJPRX Місяць тому +2

    Nahh i thought I was the only weird one that stuck the tiny breadboard on the shield

    • @upir_upir
      @upir_upir  Місяць тому

      I already got the shield with the breadboard...

  • @jeanicezinho
    @jeanicezinho Рік тому +1

    so coool man, gratsss and thzz!

    • @upir_upir
      @upir_upir  Рік тому +1

      Thank you, I’m glad you like it! Good luck with your projects

  • @alejandroperez5368
    @alejandroperez5368 Рік тому +3

    Menu and submenu with settings that have a checkbox to enable/disable and settings with adjustable values (0-100) using a rotary encoder. For the second part, please!

    • @upir_upir
      @upir_upir  Рік тому +1

      Good idea! I do plan to record a second part soon...

  • @alberto1dh
    @alberto1dh Рік тому +1

    Wao first person I encounter that gives a full explanation of their micro controller projects, this is too much to digest but well learning experience! cheers, can this be used to extract real data from car via odb?

    • @upir_upir
      @upir_upir  Рік тому +1

      Thank you for your comment and hopefully it will be easier to digest with more time :) Yes, you can use ODBII. I do plan to record a video about that topic soon.

    • @alberto1dh
      @alberto1dh Рік тому

      @@upir_upir looking forward to learn about obd and make it functional for me

  • @Gooloso98
    @Gooloso98 Рік тому +1

    Thank you for the extensive tutorial, in the code I just would change the if statements to check the end of items, with modulus operator, and put the prev/next variables inside the loop as consts like so: const int item_sel_previous = (item_selected - 1) % NUM_ITEMS;
    no need to banch out code.

    • @upir_upir
      @upir_upir  Рік тому +1

      Good point! I also try to avoid branching and this is a good idea. Thank you

  • @jezclark3536
    @jezclark3536 4 місяці тому +1

    This is great - can you show a version with a rotary encoder (with push button) instead of separate buttons?

    • @upir_upir
      @upir_upir  4 місяці тому +1

      Thank you and sure, I will try rotary encoder for some of my future projects.

  • @DDryTaste
    @DDryTaste Рік тому +1

    Truly amazing video, how much inch is the oled you used? I got one of those 0.96 inch oleds but it appears a little bit smaller than the one you used in the video 🤔

    • @upir_upir
      @upir_upir  Рік тому +1

      Thank you. The OLED screen used is 1.54", it´s much better compared to the 0.96inch screens - it´s both bigger and brighter - s.click.aliexpress.com/e/_DlmCRtR

    • @DDryTaste
      @DDryTaste Рік тому +1

      @@upir_upir Oh wow, thank you so much. I'm gonna order these ASAP! I'm trying to make a PID-based humidity and (hot/cold) temperature controller for my tropical plants growtent. Your tutorials are a huge help for me to move my project a whole different league! Thanks again and stay awesome.

    • @upir_upir
      @upir_upir  Рік тому +1

      That’s great to hear, thank you for your nice comment and good luck with your project!

  • @m3lateef
    @m3lateef Рік тому +1

    I love it.

    • @upir_upir
      @upir_upir  Рік тому

      Thank you, and good luck with your projects!

  • @916senna
    @916senna 2 роки тому +2

    Nice video, would be interesting to see the same thing done in micropython so we could see the differences between C and python 👍

    • @upir_upir
      @upir_upir  2 роки тому +1

      Thank you for your comment! Even when I have used micropython for few of the projects, I still don´t have the knowledge to put together menu like this... but who knows, maybe in the future. It´s surely a good idea to compare speed.

  • @pixelfrenzy
    @pixelfrenzy 2 роки тому +1

    Lots of great tools in here, thanks! Can I ask what's the name or part number of the transparent keycaps so I can find it on Mouser or somewhere? Cheers.

    • @upir_upir
      @upir_upir  2 роки тому +1

      Thank you, Chris! Here is a link on AliExpress - s.click.aliexpress.com/e/_DmXS8B9

  • @giovanni4151
    @giovanni4151 Рік тому +1

    Great video!

    • @upir_upir
      @upir_upir  Рік тому

      Thank you, I´m glad you enjoyed it!

  • @leocapp7520
    @leocapp7520 Рік тому +1

    UPIR - Thank you so much for this set of tutorials!! incredible tha quality, the speed, the details .. I was giving up to do something using OLED but based in your videos make me re think about use it!!!
    Any chance to convert it to NodeMCU? Thank you in advance!!! Leo

    • @upir_upir
      @upir_upir  Рік тому

      Thank you for such a nice comment, I really appreciate it! I hope you will be able to create something great. I will take a look at the NodeMCU, but I have a lot of projects in progress, so it will take some time. Thanks again and good luck with the projects!

  • @ayourk1
    @ayourk1 5 місяців тому +1

    I'd love to see a version of this that can also display the same output on an HTML5 Canvas at the same time for web clients connected.

    • @upir_upir
      @upir_upir  5 місяців тому

      That would be cool, but unfortunately, it is currently outside the scope of my knowledge.

  • @maddida
    @maddida 2 роки тому +1

    Excellent work …. Am curious tho could you make a boost controller from this project to control a MAC valve ?

    • @upir_upir
      @upir_upir  2 роки тому

      Thank you! I think it should be possible, what do you plan to use it for?

    • @maddida
      @maddida 2 роки тому

      @@upir_upir well I would like it to read inputs from the can network or directly from the ecu and control a Mac valve to control turbo boost levels and maybe display other parameters using one of those displays… me personally wold love one of those transparent displays

  • @Proto_Turk
    @Proto_Turk 11 місяців тому +1

    That load of info was fast to acquire. Why did you divide128/8? Do you have a video teaching how to do submenus?

    • @upir_upir
      @upir_upir  11 місяців тому

      I´m glad the video was helpful. The 128/8 is because the used draw function requires the width to be in bytes, not in pixels. I don´t have a submenu tutorial (yet), but I´m working on it...

  • @igort5418
    @igort5418 2 роки тому +1

    How are you handeling the buttons ? are you using external interrupts, and how are you dealing with the bounces ?

    • @RocketMan66666
      @RocketMan66666 2 роки тому +1

      You may want to view to the end

    • @upir_upir
      @upir_upir  2 роки тому +1

      No interrupts, just reading the pin value in the loop function. There is no need to deal with the bounces, as the drawing loop takes quite a lot of time, so there is actually the opposite problem - not registering the button press sometime. I´m sure the interrupts would help, but I wanted to keep it simple for now.

  • @DuroLabs85
    @DuroLabs85 8 місяців тому +3

    Is it possible to use a external EEPROM to store images so it doesn't take the space in the main sketch ??

    • @upir_upir
      @upir_upir  8 місяців тому +2

      You can, but probably a better way would be to use a different Arduino or Arduino compatible board with bigger memory. There are plenty of those.

  • @michalchoma6112
    @michalchoma6112 2 роки тому +1

    super!

  • @ChronoGXay
    @ChronoGXay 9 місяців тому +1

    Really cool video. At this point in my journey I have a good bit of familiarity with coding logical statements in Arduino and basic circuit design, so I’m trying to come back through and familiarize myself with how to control more ‘snazzy’ things like an actual graphic display (compared to the standard 16X2 that comes with Arduino kits, if you know what I mean).
    When it comes to telling which menu items should be displayed for next and previous items from the array, wouldn’t it be easier to simply write something like
    ‘prevItem = (currItem-1)%menuCount)’ and
    ‘nextItem = (currItem+1)%menuCount)’ ?

    • @upir_upir
      @upir_upir  9 місяців тому +1

      Thank you for your comment. I agree that your code is easier, but might be slightly too advanced for novice users.

    • @ChronoGXay
      @ChronoGXay 4 місяці тому

      @@upir_upirGood point. 😅

  • @Kulderzipke123
    @Kulderzipke123 11 місяців тому +2

    Hi i really like this and i am going to modify it so i have a list of ir codes that i can send
    But is this possible for the nano maybe it has not so big storage?

    • @upir_upir
      @upir_upir  11 місяців тому

      Thank you for your comment, the Nano has also 32KB of flash memory, so there should be no problem running this sketch on this board.

    • @Kulderzipke123
      @Kulderzipke123 11 місяців тому +1

      @@upir_upir no! Thank you for the tutorial

  • @kleurendoof7257
    @kleurendoof7257 Рік тому +1

    Could be show me an example or explain how i could make a menu like this but then with submenus and functions

    • @upir_upir
      @upir_upir  Рік тому +1

      I´m working on the video with the menu project that also has submenus, hope that will answer all of your questions.

  • @erosionreactions
    @erosionreactions Рік тому +1

    Great video as always, but how would you make each selected option not be a photo. So if i selected the Turbo option on the menu, the turbo code would start and so on for the rest of the options. It would take a lot of coding right?

    • @upir_upir
      @upir_upir  Рік тому

      Thank you. It should not be hard since I already have sketches for all the designs, but it would definitely not fit on the Arduino UNO with the limited memory. That said, it might be possible to fit on something like ESP32. I might try it, since I would be also interested about the memory usage, and how smooth it would run. I would also need to make sure I´m not using the variables with the same names in those sketches, as they would collide.

  • @josueberumen2883
    @josueberumen2883 9 місяців тому +1

    hello good day What would I have to change if I want to put a larger screen? I'm thinking about making a digital cluster for my VW MK1. and your videos are helping me a lot, I just don't know what it would take to get if I want to add a 7-inch screen (I don't know what type of screen either) greetings from Mexico.

    • @upir_upir
      @upir_upir  9 місяців тому

      Thank you for your comment. The approach for bigger screen is quite different compared to those small oled displays, but I would like to cover those as well in my future videos. What exactly are you trying to display?

  • @changpuak
    @changpuak Рік тому +1

    The 4th letter in the alphabet is a D like DATA. Therefore A4 = SDA.

    • @upir_upir
      @upir_upir  Рік тому

      Someone else mentioned CLOCK = 5 letters = A5, DATA = 4 letters = A4.

  • @neowmingg01
    @neowmingg01 2 місяці тому +1

    Hey can you make tutorial for TFT full color displays? especially for ili9341

  • @jinekaleko8706
    @jinekaleko8706 2 роки тому +1

    This is God Sent been working onthis just today. if youcould show a video with a rotary encoder for direction and internal button for ok

    • @upir_upir
      @upir_upir  2 роки тому

      Thank you! Yep, I might record another video if there will be enough interest..

  • @thefastelephant94
    @thefastelephant94 Рік тому +1

    Is there a tutorial for an AFR Gauge?

    • @upir_upir
      @upir_upir  Рік тому +1

      Do you have a dedicated sensor connected to Arduino, or are you getting those values from OBDII port?

    • @thefastelephant94
      @thefastelephant94 Рік тому

      @@upir_upir I basically want an AFR Reading from a Wideband O2 Lambda Sensor Bosch LSU 4.2 to be specific

  • @TrevorFlores123
    @TrevorFlores123 13 днів тому +1

    Thank you for this video, it was very helpful for a project i am working on. however i am having a coding issue, i made up 9 different screens, all assigned to different menu options. when i switch between screens and options, the options don't start at the first menu option, and the text for the screen menu as well as other screen menu text becomes an option. any idea how to fix?

    • @upir_upir
      @upir_upir  11 днів тому

      Thank you for your comment. Perhaps watching my other OLED-related tutorials will help? I have a lot of those on my channel.

  • @chellavee2248
    @chellavee2248 Рік тому +1

    This is amazing work!
    Do you think I can edit the menu list and add link http link to the menu for playing internet radio.

    • @chellavee2248
      @chellavee2248 Рік тому +1

      Thinking of using EPS32

    • @upir_upir
      @upir_upir  Рік тому +1

      Thank you for your nice comment. Sure, I don´t see any reason why you couldn´t update the menu to do what you mention. Please feel free to post link to your project once you have it finished. I would be interested to see it!

  • @zwtsch
    @zwtsch 21 день тому +1

    Instead of buttons, can we integrate them into a rotary encoder?

    • @upir_upir
      @upir_upir  20 днів тому

      Yes, that might be a good idea. I might try that in the future.

  • @rogergoetty3701
    @rogergoetty3701 2 роки тому +1

    Im trying to build a motorcycle dash and your videos are helping a lot! How would you make something work based on a button state? Right now i have dozen of bitmaps for each icon on the dash and it draws them if the pin is set to high, but its too hardcoded to work smooth as your projects.

    • @upir_upir
      @upir_upir  2 роки тому

      Thank you for your comment, Roger! Unfortunatelly, it´s not 100% clear to me what you are trying to achieve. Could you please provide more details? If you don´t want to share it publicly, please feel free to send me an e-mail. It should be listed on the about page. Thank you and good luck with your project!

  • @iotan09
    @iotan09 Рік тому +1

    Thanks sir

    • @upir_upir
      @upir_upir  Рік тому

      You are welcome! Good luck with your project

  • @trevorflores1019
    @trevorflores1019 Рік тому +1

    nice video it helped me alot! im new to Arduino so i dont know much but im working on a project that requires the buttons to be usable on multiple screens. is there a way to do this?

    • @upir_upir
      @upir_upir  Рік тому

      Thank you for your comment, that’s great to hear! Please take a look at my other video where I use buttons to jump between the screens, hope it will help you. Feel free to ask any questions.
      ua-cam.com/video/HVHVkKt-ldc/v-deo.html

    • @trevorflores1019
      @trevorflores1019 Рік тому +1

      @@upir_upir thats the video i meant to comment under im sorry and in the code you wrote a comment saying up and down buttons only work for main screen, is there a way i can make these buttons work on multiple screens?

    • @upir_upir
      @upir_upir  Рік тому

      @@trevorflores1019 It only works for main screen because there is an IF statement to work for the main screen. If you remove the IF statement, it will work for any screen. Let me know if that makes sense. Thank you.

    • @trevorflores1019
      @trevorflores1019 Рік тому +1

      @@upir_upir IT WORKED!!! THANK YOU!

    • @upir_upir
      @upir_upir  Рік тому

      @@trevorflores1019 Perfect, that´s great to hear!

  • @DjordjeKostic
    @DjordjeKostic 2 роки тому +1

    Awesome video. Can you explain how to make menu with encoder, but on 1.8" TFT ST7735 display. Thank you for great explanation!

    • @upir_upir
      @upir_upir  2 роки тому +1

      Thank you! I will record another video with the encoder, and probably slightly different graphics, but at this point, I do not plan to use color LCD, as it would require different library and I need to first get familiar with it a little bit... but for the future, who knows :)

  • @SpGIIFaCeZz
    @SpGIIFaCeZz 8 місяців тому +1

    I have a question. I'm trying to use a button interface in one of my projects with the Arduino Uno. But I'm encountering the problem where some button presses do not register because of the code not reading that precise line when the button gets klicked.
    You seem to have gotten this to work without even using hardware interrupts. Could you please share how you have gotten your menu buttons so responsive?

    • @upir_upir
      @upir_upir  8 місяців тому +1

      Can you maybe measure how long your loop takes? This sketch updates I believe at least 10x in a second, so it´s a big chance that you catch the button press. If that would not be the case, using interrupts would be a good idea.

    • @SpGIIFaCeZz
      @SpGIIFaCeZz 8 місяців тому

      @@upir_upir WOW, Thanks for the answer! Means a lot for me that you take a part of your invaluable time to answer my question.
      I will take that into consideration. I will check how long it takes for my sketch to update tomorrow!

  • @kennethvargas5953
    @kennethvargas5953 Рік тому +1

    Thank you for your video. Please allow me to make a suggestion. You need to slow down your narration. You speak too fast and it is sometimes difficult to understand what you are trying to convey. Otherwise, great video. Thanks

    • @upir_upir
      @upir_upir  Рік тому +1

      Sorry for that, I always try to find balance between too fast and too boring. I will try to work on this more.

  • @supunchathuranga5596
    @supunchathuranga5596 Рік тому +1

    Can you do same kind of tutorials for esp32 with u8g2 library!

    • @upir_upir
      @upir_upir  Рік тому

      Yep, that’s also on my todo list. In the meantime, here is the u8g2 version for Arduino-
      ua-cam.com/video/K5e0lFRvZ2E/v-deo.html

  • @isaacfuertes
    @isaacfuertes 2 роки тому +1

    make an air fuel ratio sensor with a lambda wideband please

    • @upir_upir
      @upir_upir  2 роки тому

      Do you have any examples? Is this something you want to add to your own car?

    • @kshysztof9649
      @kshysztof9649 2 роки тому

      it would be easier to decode existing CAN bus lines with arduino

    • @isaacfuertes
      @isaacfuertes 2 роки тому +1

      @@upir_upir AEM's X-Series Wideband UEGO Air/Fuel Ratio Sensor Controller Gauges

    • @upir_upir
      @upir_upir  2 роки тому

      @@isaacfuertes is something like this what you are looking for? www.instructables.com/Boost-and-Air-Fuel-Ratio-LCD-Gauge/
      Of course the second possible way is to directly read the CANBUS values and do not use a separate sensor.

    • @isaacfuertes
      @isaacfuertes 2 роки тому

      @@upir_upir Something like that would be nice. It would be more interesting with the separate sensor, it is more universal.

  • @str0g
    @str0g Рік тому +1

    From where did u get those keyboard like buttons

    • @upir_upir
      @upir_upir  Рік тому

      The link should be in the description of the video.

    • @str0g
      @str0g Рік тому

      @@upir_upir no, didn't find anything

  • @rkd898
    @rkd898 Рік тому +1

    Okay,that was a really great tutorial and I appreciate it very much.But I want to know where and how to connect it to car to get dashboard and boost gauge data?I just don't get it.

    • @upir_upir
      @upir_upir  Рік тому

      Thank you for your comment. This was mainly about creating the menu, not connecting it to the car.
      For GPS speed, you don´t need to connect it to the car, as you can use external GPS sensor as described here - ua-cam.com/video/dSD02o3M2sw/v-deo.html
      For turbo boost pressure, you can use external sensor that acts in the similar was as a potentiomater - i.e. reporting different voltage based on the pressure - s.click.aliexpress.com/e/_DFhEWPX
      You can also connect it to the car with OBD2 and read the data from there. I do plan to record a tutorial on how to do that soon.

  • @SAMETELMACI
    @SAMETELMACI Рік тому +1

    awesomeee

    • @upir_upir
      @upir_upir  Рік тому

      Thank you, I’m glad you like it!

  • @AlexMartin-vi4eq
    @AlexMartin-vi4eq Рік тому +2

    I am using u8g2 lib with an esp32 and it seems that it draws also the black parts, for example when I draw first the srcollbar and then the selectedIcon the scrollbar dissapear in the middle. So i have to draw first the selectedIcon and then de scrollbar. Maybe there is an option for this.

    • @upir_upir
      @upir_upir  Рік тому +2

      Yes, u8g2 library has two modes for drawing bitmaps, just make sure to set it to transparent and you should be fine. github.com/olikraus/u8g2/wiki/u8g2reference#setbitmapmode

    • @AlexMartin-vi4eq
      @AlexMartin-vi4eq Рік тому +1

      @@upir_upir Oh, Thanks!

    • @upir_upir
      @upir_upir  Рік тому +2

      Sure, you are welcome. Good luck with your projects!

  • @jbelmont72
    @jbelmont72 Рік тому +1

    Great tutorial. Thank you. I am using the OLED with a nano ble and have checked that my IC address is correct. The problem I am having is that only the top 10% of the screen shows the display. The bottom 90% is just white and black dots. I tried a second display and have the same result. Any suggestions?

    • @upir_upir
      @upir_upir  Рік тому

      Thank you for your comment! Try using this initialization line if that helps:
      U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0 | U8G_I2C_OPT_NO_ACK);