Bitcoin Price Ticker Using An ESP32 and OLED Display

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 มิ.ย. 2024
  • Today we're going to be making a Bitcoin price ticker using an ESP32 development board and an OLED display. This one has been set up to show the current Bitcoin price in USD, but you can change yours to monitor any cryptocurrency's price. Along with the price, it also displays the percentage change from yesterday's closing price and has a red or green LED to indicate a price increase or decrease.
    Visit my blog for the full written guide, including the code - www.the-diy-life.com/bitcoin-...
    The code is based on Andrew Budziszek's ticker - github.com/SonnyBrooks/bitcoi...
    Get your PCB’s made with PCB Way - www.pcbway.com/
    Buy a kit that includes the electronics and PCB to build your own ticker - www.etsy.com/listing/99502248...
    What You Need To Build Your Own Bitcoin Price Ticker (Amazon Affiliate Links)
    ESP32 Development Board - amzn.to/3exbjMj
    I2C OLED Display - amzn.to/2QxTTY4
    5mm Red & Green LEDs - amzn.to/3gFIkZr
    330 ohm Resistors - amzn.to/2S5TTPv
    M3 Brass Standoffs - amzn.to/2QBwzJ1
    M3 Button Head Screws - amzn.to/3tVuBSc
    What You Need To Build Your Own Bitcoin Price Ticker (Banggood Affiliate Links)
    ESP32 Development Board - www.banggood.com/custlink/m3D...
    I2C OLED Display - www.banggood.com/custlink/mKD...
    5mm Red & Green LEDs - www.banggood.com/custlink/GvD...
    330 ohm Resistors - www.banggood.com/custlink/mm3...
    M3 Brass Standoffs - www.banggood.com/custlink/DDD...
    M3 Button Head Screws - www.banggood.com/custlink/3vD...
    Soldering iron used - amzn.to/3aZxN81
    The above parts are affiliate links. By purchasing products through the above links, you’ll be supporting this channel, with no additional cost to you.
    If you've got any ideas for Raspberry Pi, Arduino, or other Electronics projects or tutorials you'd like to see, let me know in the comments section.
  • แนวปฏิบัติและการใช้ชีวิต

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

  • @vishalkjaiswal
    @vishalkjaiswal 2 ปีที่แล้ว +4

    This is excellent, I really love it, I will like to connect a little bigger display so will definitely try

  • @kmr4244
    @kmr4244 2 ปีที่แล้ว +1

    You are a true innovator, Superb.

  • @ksoonsoon
    @ksoonsoon 2 ปีที่แล้ว

    Outstanding project

  • @farrasrayhand
    @farrasrayhand 7 หลายเดือนก่อน +1

    Thanks, best tutorial

  • @stgeotronics6256
    @stgeotronics6256 3 ปีที่แล้ว

    Great job! Love it!!!

  • @MyRAFA70
    @MyRAFA70 2 ปีที่แล้ว +1

    Mike, I did visit your DIY web, really amazing!

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      That’s great to hear!

    • @MyRAFA70
      @MyRAFA70 2 ปีที่แล้ว

      @@MichaelKlements michael , the Arfuido IDE gives error on the NTTPClient library, is there any way to have all the libraries files in a folder to be used from the IDE?

  • @RetroSteamTech
    @RetroSteamTech 2 ปีที่แล้ว +1

    I hope you don't mind but I've modified the sketch to work with a 1.3" SH1106 OLED display. I tried your sketch on a newer ESP32 the sleep timer still didn't work. So I replaced that with a simple delay set to 10 minutes and that works fine. Thanks again for the video and the project page.

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +1

      That's great. I'll look into the sleep timer, there might be a newer library for it.

  • @marclavigne961
    @marclavigne961 2 ปีที่แล้ว +1

    Completed my first microcontroller using your guide, it was great help! Any chance you have insight into how I would be able to have it display various cryptos (changing every few seconds instead of only displaying BTC)?

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +2

      That's great to hear! You would just need to query a different API to get the price for each of the other cryptocurrencies and then do a clear, and re-display routine with a time delay.

  • @AaronParker1977
    @AaronParker1977 ปีที่แล้ว

    really great work! Would this work for pricing of certain power markets?

    • @MichaelKlements
      @MichaelKlements  ปีที่แล้ว

      You can use this to display any metric that is available from an online API

  • @JohnWeland
    @JohnWeland 3 ปีที่แล้ว

    Awesome! An idea is to make them inter-connectable (one power input and then daisy chain). What laser engraver/cutter are you using?

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +1

      That's a nice idea, it would definitely clear up some additional cabling. I'm using a K40 laser cutter with a couple of minor upgrades to get better quality cuts.

    • @JohnWeland
      @JohnWeland 3 ปีที่แล้ว

      @@MichaelKlements I'm looking at the k40 now, any suggestions on the best cuts and etches? My printer should be here in a few weeks and I am about to pull the trigger on the omtech k40.
      Looks like I'll need a "chiller" either official or diy. What else?

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +2

      The K40 works pretty well out of the box on acrylic, mdf and plywood. I'd say I cut 2-3mm acrylic and 3mm MDF most often. If you engrave MDF try masking it up first, you'll get much cleaner results.
      If you haven't already ordered the K40, try to get one with an ammeter on it (usually the cheaper ones). Mine has that digital panel and it's pretty useless to keep an eye on the actual current that the laser is producing. The ammeter helps you to protect your laser and get more consistent cutting results. I've landed up retrofitting an ammeter onto mine.
      You don't really need a chiller, just a bucket of water that you can throw some ice into every so often. I use some old soda bottles which I just fill with water, freeze and re-use.

  • @Anarr9
    @Anarr9 2 ปีที่แล้ว

    Is this compatible with the ESP8266?

  • @Berghiker
    @Berghiker 2 ปีที่แล้ว +1

    $5 for 10 pcs and what was the shipping costs for that? $10, $15, $20 perhaps?

  • @alexandermai5160
    @alexandermai5160 2 ปีที่แล้ว +1

    Hi Michael, first of all I like the overall concept of this project, it's absolutely awesome. I would also like to build such a live ticker for crypto, unfortunately I have a nodemcu 8266, wouldn't the program be almost the same?
    Best regards

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      Yes the code should be the same, you'll just need to use a breadboard for the setup.

    • @noddlexxx9161
      @noddlexxx9161 ปีที่แล้ว

      Did you ever figure this out? I have both esp32 and 8266 and I want to use the 8266 bc displaying ticker is such a simple task doesn’t require the 32

  • @photobusta
    @photobusta 2 ปีที่แล้ว

    this is totally awesome, have you thought of building an e-paper version that runs on battery?

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +3

      I haven't, but that would be really useful. I'll have a look at putting together something with a low power ESP32 module and e-paper display. This would be useful for a range of project dashboards.

    • @photobusta
      @photobusta 2 ปีที่แล้ว

      @@MichaelKlements yeah, this has been my main focus of the last few days, im very new to programming so everything is a fun challenge... but certainly testing my patients

    • @ksoonsoon
      @ksoonsoon 2 ปีที่แล้ว

      @@MichaelKlements any progress with epaper?

  • @HeavenCrafter
    @HeavenCrafter 2 ปีที่แล้ว

    This is sick! But I was wondering, is it possible to write some sort of script or to program a Pi to display a web's REST API onto the monitor, almost like maybe a sub count or recieve any data from a web's REST API onto the screen?

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      If the data is available through an API then you should be able to modify the code to read the data and display pretty much anything on the OLED display.

  • @LisandraRheaViegas
    @LisandraRheaViegas 2 ปีที่แล้ว

    Can you post gerber files? they are no on blog thank u

  • @luisenriquegallego3242
    @luisenriquegallego3242 ปีที่แล้ว

    a question the project can also be done with silver nodemcu 8266 please confirm me and thank you

  • @xmariomax232
    @xmariomax232 ปีที่แล้ว

    Hi....it runs for a yeard but yesterday stop and not run the price of bitcoin.....Ithink the problem is the API........Thanks .

  • @siddharthchordiya
    @siddharthchordiya 3 ปีที่แล้ว +1

    Hey Michael,
    please build a air quality monitoring system with temperature humidity rain and wind speed measuring capability you may design a pcb and just do it in a simple way or you may design a case and put all the components in the case
    also,
    please tell us on how to change this code in such a way that it displays prices for more than one crypto at a time and shows the logo first and then the price

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      Hi Sid,
      I'll have a look at building a weather station with air quality monitoring as you've suggested. I've been wanting to build a small solar powered weather station for a while now.
      You'd just need to copy everything in the loop portion of the code and then edit the API retrieval to fetch the price for whatever other currency you're looking for. You'll also need to move the bitcoin logo display line into the loop rather than setup so that it's displayed on each update. You'd probably also want to reduce the sleep time between fetches so that it displays one currency for say 5 minutes and then the next for 5 minutes after that.

    • @siddharthchordiya
      @siddharthchordiya 3 ปีที่แล้ว

      @@MichaelKlements Thanks for the help

  • @RetroSteamTech
    @RetroSteamTech 2 ปีที่แล้ว

    Thank you for this, just what I was looking for 👍 The one that I built works fine with one exception, it updates every minute. I'm not using exactly the same ESP32 that you used but it would appear to have the same spec. Any idea why this would happen? Regards, Alan.

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +1

      The low power sleep mode library must not be compatible with your ESP32, so it's just ignoring the sleep line of the code. That's the only reason I can see.

    • @RetroSteamTech
      @RetroSteamTech 2 ปีที่แล้ว

      @@MichaelKlements Thanks for the reply. I will attempt to get hold of an identical ESP32 and see what happens. Cheers, Alan.

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +1

      It also might just be an issue with the board type you've got selected in the IDE.

    • @RetroSteamTech
      @RetroSteamTech 2 ปีที่แล้ว

      @@MichaelKlements I have NodeMCU-32S selected which I have found works well with other sketches on this ESP32.

  • @tomi_serra
    @tomi_serra 2 ปีที่แล้ว

    Hey! Do you have an api for other cryptos? Because the one I found use HTTPS and is kinda difficult

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      Not a free one, most exchanges have an API available but they're usually behind a paywall.

  • @InfoTechBros
    @InfoTechBros ปีที่แล้ว +1

    Michael can you say what encoding did you do to the image? What encoding should I do to add my own image there

    • @MichaelKlements
      @MichaelKlements  ปีที่แล้ว

      I'm not really sure what you're asking, this is programmed using the Arduino IDE in C++

    • @InfoTechBros
      @InfoTechBros ปีที่แล้ว

      @@MichaelKlements how did u convert the image to fit in c++ i mean the bitcoin logo? and the code doesn't work now it says deserialiseJson error or something like that, it keeps repeating. Could u update it please?

  • @aaronnagai3413
    @aaronnagai3413 3 ปีที่แล้ว +1

    Hey Michael. Can this work without being connect via usb to a computer? Is there a possibility for further adjustments

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +1

      Yes, the USB cable is just providing power to it. You can replace this with any USB power source or power bank. There are also pins on the PCB to power it directly from a battery or power supply. It doesn't need a computer to run.
      The code is available for you to download and edit so you could change or add anything you'd like. You could add multiple currencies to each if you'd like.

    • @aaronnagai3413
      @aaronnagai3413 3 ปีที่แล้ว

      @@MichaelKlements Brilliant. Thanks!

  • @Crypto_Gaming382
    @Crypto_Gaming382 ปีที่แล้ว

    Bonjour esque tu sorais se qu'il y a a modifier pour le faire fonctionner sur esp8266 ?

    • @MichaelKlements
      @MichaelKlements  ปีที่แล้ว

      The code should work on this model too, you'll just need to select the correct board type when uploading. Obviously the PCB won't be compatible with the esp8266

  • @simonsimpsonuk
    @simonsimpsonuk 3 ปีที่แล้ว +1

    Great Video do you have a link for the board to get from PCB Way you have no kits left :(

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      You can download the Gerber files from the blog post linked in the description. I'll have more kits in stock in the next week or so.

    • @dany_cool9092
      @dany_cool9092 3 ปีที่แล้ว

      @@MichaelKlements can you plese send link to pcb? I cant find it

    • @SN-ks8dt
      @SN-ks8dt 2 ปีที่แล้ว

      @@MichaelKlements I subscribe to the request. I could not find a link to the project for the PCB.

    • @Kevin-wy1gb
      @Kevin-wy1gb 2 ปีที่แล้ว

      @@MichaelKlements I can't find the gerber files on your blog. Please help.

  • @Coderama
    @Coderama 2 ปีที่แล้ว

    Nice Video Man, But i can't find PCB Files

  • @MrTJaames
    @MrTJaames 2 ปีที่แล้ว

    Is there anyway that this could be done with another type of microprocessor?

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      You could do the same with any Arduino compatible microprocessor (using this sketch) that has WiFi capabilities.

  • @ksoonsoon
    @ksoonsoon 2 ปีที่แล้ว

    You do some great work. Well done. Rather than have most of the see through panel showing computer board hardware, is there a way to use a larger display and have that larger display take most of the space displaying the bitcoin price info?

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      There are a couple of different I2C display options, so you can definitely use a larger display if you'd like.

  • @unperrier5998
    @unperrier5998 3 ปีที่แล้ว +3

    Seems like you don't have enough zeroes on yourdisplay for BTC :)

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      Haha, perhaps a font sizing algorithm is required for when the price runs out of space.

  • @HaneiKamisama
    @HaneiKamisama 3 ปีที่แล้ว +1

    Can I buy this from you or pay u to help me build and troubleshoot as I’ve never done this!

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +1

      There are kits available through the link in the video description along with the code and step by step guide to build your own one

  • @IcH10101
    @IcH10101 3 ปีที่แล้ว

    Is there a way to add a physical button to switch in between currencys ?

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +1

      Yes there are some additional IO pins available so you could add a slider switch to change between two currencies.

    • @IcH10101
      @IcH10101 3 ปีที่แล้ว

      @@MichaelKlements ^Thanks ! :)

  • @suntzu6122
    @suntzu6122 2 ปีที่แล้ว +1

    Hey can you show us how to make this display multiple cryptos please?? Then it would be perf and i would totally build it!!

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      You'd just need to modify the code to add a send exchange look-up, the hardware can all handle multiple currencies

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

    having problem with secret.h says no directery please responce

  • @DenCanyon
    @DenCanyon 2 ปีที่แล้ว

    Any chance you'll have the Etsy kit available again?

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +1

      I'm just waiting for some additional ESP32 modules to come in and they'll be available again, hopefully in the next week or so.

    • @IIIIRokzIIII
      @IIIIRokzIIII 2 ปีที่แล้ว

      @@MichaelKlements Looking forward to it, can you have a selection for the Eth version too?

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +1

      They're back in stock again. I can make one up with the ETH logo on it but you'll need to do some work to find an exchange that has an unpaid API to get the pricing from.

    • @DenCanyon
      @DenCanyon 2 ปีที่แล้ว

      @@MichaelKlements Ordered Mine Today. Thanks!

  • @pawedadej1715
    @pawedadej1715 2 ปีที่แล้ว

    Can You change in code how many decimals are displayed or is it something dependednt from API supplier?

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +1

      That's the value available through the API, so depending on the API used you could get more decimal places.

    • @pawedadej1715
      @pawedadej1715 2 ปีที่แล้ว

      @@MichaelKlements Actually I want less cause it's not fitting on the screen when there is 4 decimals or more :) Anyway thanks for Your reply I will look for a different price provider!!!

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      Getting less shouldn't be difficult, if you change the variable type to an integer then it'll automatically drop the decimals.

  • @colinrobyn1543
    @colinrobyn1543 2 ปีที่แล้ว

    Hello Michael, me and my dad are willing to make a crypto ticker too. But we don't have the expirience to build a pcb... We don't know where to begin. Is there a file link on the site for the pcb?🤔

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +1

      There a link to a kit on my Etsy store that includes all of the components you'll need to build you own one. You also don't need to use a PCB, you can set it up on a breadboard if you'd like to.

    • @colinrobyn1543
      @colinrobyn1543 ปีที่แล้ว

      @@MichaelKlements don't need no breadboard anymore... I have watched alot of your video's where you made pcb's for your projects. and from your video's i got the insperation to learn more and learned how to make pcb's. Best channel ever!😁

  • @samirdjelal8032
    @samirdjelal8032 2 ปีที่แล้ว

    I really like it, try to add a battery behind it

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      Thanks Samir, I'll have a look at that.

  • @maryannplunkett5420
    @maryannplunkett5420 2 ปีที่แล้ว

    I would pay to have someone assemble this for me... I'm pretty smart and all, but damn this seems over my head.

  • @rupash88
    @rupash88 2 ปีที่แล้ว

    Could you do a video on your laser cutter. Thanks.

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      I've got a couple of upgrades on the way, so I'll have a look at putting a video together once they're installed, perhaps comparing before and after. Thanks for the suggestion.

    • @rupash88
      @rupash88 2 ปีที่แล้ว

      @@MichaelKlements Thanks for the reply, and keep up the good work. Your great videos is keeping me educated with all your interesting content, as we are in lock down here in little New Zealand.

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +1

      Thank you! Yeah we're also still in lockdown, so I have a bit more free time to try new projects.

  • @PolarTutorials
    @PolarTutorials 2 ปีที่แล้ว

    Is it possible to also have stocks ?

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      Yes, the hardware will support stocks as well, you'd just need to modify the code to accommodate a stock exchange's API to get the values.

  • @diariodeumaoficina2197
    @diariodeumaoficina2197 2 ปีที่แล้ว

    I’m experimenting some glitches on my display. I just copied your code, the same as it is in the page. Can be something in the code?

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +1

      What do you mean by glitches on the display? This could be a hardware or software problem. Quite a few people have built this same ticker, so it's unlikely that it is the code.

    • @diariodeumaoficina2197
      @diariodeumaoficina2197 2 ปีที่แล้ว

      @@MichaelKlements hi…I can send you a video, if you like. I think it’s better than words 🙂

  • @cathelenaa
    @cathelenaa 2 ปีที่แล้ว +1

    It will be very helpful and you will get more views if you upload a video on displaying more than one crypto in it (showing bitcoin price for 10seconds then Ethereum for next 10 seconds... like that)

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว +1

      Thanks for the suggestion!

    • @cathelenaa
      @cathelenaa 2 ปีที่แล้ว +1

      @@MichaelKlements 🙂

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

    How often does the price update ?

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

      Every 15 minutes

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

      @@MichaelKlements is it possible to create one that is live ?

    • @MichaelKlements
      @MichaelKlements  5 หลายเดือนก่อน +1

      You can reduce the update time to every few seconds if you want to, it's a customisable field. I've just set it at 15 minutes on mine.

  • @mryasithamoddya
    @mryasithamoddya 2 ปีที่แล้ว

    Web Miners ?

  • @shreyast3850
    @shreyast3850 ปีที่แล้ว

    Michael the code doesn't work now!! it throws out some error can you please fix the code?

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

    Is there a way to eliminate decimals?

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

      Yes you could add a few lines to remove the characters after the decimal point in the code.

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

      @@MichaelKlements You have no idea what a headache it was for me to find and be able to eliminate the decimals hahahahahaha

    • @MichaelKlements
      @MichaelKlements  2 หลายเดือนก่อน +1

      Did you manage to get it working though? I could potentially add a commented out option in the code to switch between decimals and no decimals.

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

      You have to put a variable previously declared as Double and then in void loop "BTCUSDPrice.toDouble();". There are also a couple more modifications to the code but I don't remember.@@MichaelKlements

  • @mryasithamoddya
    @mryasithamoddya 2 ปีที่แล้ว

    Duino Coin Miners? Yes?

  • @cdicho
    @cdicho ปีที่แล้ว

    "Hello bro, how are you?
    Thank you very much for your contributions. I want you to know that I have been following your projects closely and I really like them. However, I am currently working on a project myself and it would be great to have your help. I have a 3D-printed Bitcoin sign with LEDs, and I'm trying to connect the ESP32 to an API to fetch the Bitcoin price. The idea is that, based on the price changes, the SMD 5050 LEDs will change color and perform an animation. I have tried various methods, but I'm not good at using those APIs.
    I would greatly appreciate your assistance. If I need to upgrade my plan, it's not a problem. I just need to know if I can count on you.
    Thank you very much, and of course, you will receive credits for helping me achieve this.
    Have a great day and thank you again."

  • @BohdanTrotsenko
    @BohdanTrotsenko 3 ปีที่แล้ว +2

    50k. haha.