Bitcoin Price Ticker Using An ESP32 and OLED Display

Sdílet
Vložit
  • čas přidán 10. 07. 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.
  • Jak na to + styl

Komentáře • 118

  • @kmr4244
    @kmr4244 Před 2 lety +1

    You are a true innovator, Superb.

  • @vishalkjaiswal
    @vishalkjaiswal Před 2 lety +4

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

  • @ksoonsoon
    @ksoonsoon Před 2 lety

    Outstanding project

  • @stgeotronics6256
    @stgeotronics6256 Před 3 lety

    Great job! Love it!!!

  • @MyRAFA70
    @MyRAFA70 Před 2 lety +1

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

    • @MichaelKlements
      @MichaelKlements  Před 2 lety

      That’s great to hear!

    • @MyRAFA70
      @MyRAFA70 Před 2 lety

      @@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?

  • @farrasrayhand
    @farrasrayhand Před 8 měsíci +1

    Thanks, best tutorial

  • @RetroSteamTech
    @RetroSteamTech Před 2 lety +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  Před 2 lety +1

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

  • @AaronParker1977
    @AaronParker1977 Před rokem

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

    • @MichaelKlements
      @MichaelKlements  Před rokem

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

  • @samirdjelal8032
    @samirdjelal8032 Před 2 lety

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

  • @marclavigne961
    @marclavigne961 Před 2 lety +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  Před 2 lety +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.

  • @photobusta
    @photobusta Před 2 lety

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

    • @MichaelKlements
      @MichaelKlements  Před 2 lety +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 Před 2 lety

      @@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 Před 2 lety

      @@MichaelKlements any progress with epaper?

  • @JohnWeland
    @JohnWeland Před 3 lety

    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  Před 3 lety +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 Před 3 lety

      @@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  Před 3 lety +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 Před 2 lety

    Is this compatible with the ESP8266?

  • @Berghiker
    @Berghiker Před 3 lety +1

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

  • @luisenriquegallego3242

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

  • @xmariomax232
    @xmariomax232 Před 2 lety

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

  • @alexandermai5160
    @alexandermai5160 Před 2 lety +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  Před 2 lety

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

    • @noddlexxx9161
      @noddlexxx9161 Před rokem

      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

  • @MrTJaames
    @MrTJaames Před 2 lety

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

    • @MichaelKlements
      @MichaelKlements  Před 2 lety

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

  • @aaronnagai3413
    @aaronnagai3413 Před 3 lety +1

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

    • @MichaelKlements
      @MichaelKlements  Před 3 lety +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 Před 3 lety

      @@MichaelKlements Brilliant. Thanks!

  • @LisandraRheaViegas
    @LisandraRheaViegas Před 2 lety

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

  • @Crypto_Gaming382
    @Crypto_Gaming382 Před rokem

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

    • @MichaelKlements
      @MichaelKlements  Před rokem

      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

  • @InfoTechBros
    @InfoTechBros Před rokem +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  Před rokem

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

    • @InfoTechBros
      @InfoTechBros Před rokem

      @@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?

  • @IcH10101
    @IcH10101 Před 3 lety

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

    • @MichaelKlements
      @MichaelKlements  Před 3 lety +1

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

    • @IcH10101
      @IcH10101 Před 3 lety

      @@MichaelKlements ^Thanks ! :)

  • @siddharthchordiya
    @siddharthchordiya Před 3 lety +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  Před 3 lety

      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 Před 3 lety

      @@MichaelKlements Thanks for the help

  • @maryannplunkett5420
    @maryannplunkett5420 Před 2 lety

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

  • @HeavenCrafter
    @HeavenCrafter Před 2 lety

    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  Před 2 lety

      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.

  • @tomi_serra
    @tomi_serra Před 2 lety

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

    • @MichaelKlements
      @MichaelKlements  Před 2 lety

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

  • @unperrier5998
    @unperrier5998 Před 3 lety +3

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

    • @MichaelKlements
      @MichaelKlements  Před 3 lety

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

  • @RetroSteamTech
    @RetroSteamTech Před 2 lety

    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  Před 2 lety +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 Před 2 lety

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

    • @MichaelKlements
      @MichaelKlements  Před 2 lety +1

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

    • @RetroSteamTech
      @RetroSteamTech Před 2 lety

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

  • @simonsimpsonuk
    @simonsimpsonuk Před 3 lety +1

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

    • @MichaelKlements
      @MichaelKlements  Před 3 lety

      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 Před 3 lety

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

    • @SN-ks8dt
      @SN-ks8dt Před 3 lety

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

    • @Kevin-wy1gb
      @Kevin-wy1gb Před 2 lety

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

  • @Coderama
    @Coderama Před 3 lety

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

  • @suntzu6122
    @suntzu6122 Před 2 lety +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  Před 2 lety

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

  • @rupash88
    @rupash88 Před 2 lety

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

    • @MichaelKlements
      @MichaelKlements  Před 2 lety

      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 Před 2 lety

      @@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  Před 2 lety +1

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

  • @ksoonsoon
    @ksoonsoon Před 2 lety

    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  Před 2 lety

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

  • @cathelenaa
    @cathelenaa Před 2 lety +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)

  • @pawedadej1715
    @pawedadej1715 Před 2 lety

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

    • @MichaelKlements
      @MichaelKlements  Před 2 lety +1

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

    • @pawedadej1715
      @pawedadej1715 Před 2 lety

      @@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  Před 2 lety

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

  • @HaneiKamisama
    @HaneiKamisama Před 3 lety +1

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

    • @MichaelKlements
      @MichaelKlements  Před 3 lety +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

  • @DenCanyon
    @DenCanyon Před 2 lety

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

    • @MichaelKlements
      @MichaelKlements  Před 2 lety +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 Před 2 lety

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

    • @MichaelKlements
      @MichaelKlements  Před 2 lety +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 Před 2 lety

      @@MichaelKlements Ordered Mine Today. Thanks!

  • @mryasithamoddya
    @mryasithamoddya Před 2 lety

    Duino Coin Miners? Yes?

  • @LarryBot
    @LarryBot Před 3 měsíci

    Is there a way to eliminate decimals?

    • @MichaelKlements
      @MichaelKlements  Před 3 měsíci +1

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

    • @LarryBot
      @LarryBot Před 3 měsíci +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  Před 3 měsíci +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 Před 3 měsíci

      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

  • @PolarTutorials
    @PolarTutorials Před 2 lety

    Is it possible to also have stocks ?

    • @MichaelKlements
      @MichaelKlements  Před 2 lety

      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.

  • @mryasithamoddya
    @mryasithamoddya Před 2 lety

    Web Miners ?

  • @Dheerii
    @Dheerii Před měsícem

    having problem with secret.h says no directery please responce

  • @colinrobyn1543
    @colinrobyn1543 Před 2 lety

    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  Před 2 lety +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 Před 2 lety

      @@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!😁

  • @EndlessRoutes
    @EndlessRoutes Před 6 měsíci

    How often does the price update ?

    • @MichaelKlements
      @MichaelKlements  Před 6 měsíci

      Every 15 minutes

    • @EndlessRoutes
      @EndlessRoutes Před 6 měsíci

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

    • @MichaelKlements
      @MichaelKlements  Před 5 měsíci +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.

  • @shreyast3850
    @shreyast3850 Před rokem

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

  • @diariodeumaoficina2197

    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  Před 2 lety +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 Před 2 lety

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

  • @cdicho
    @cdicho Před rokem

    "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 Před 3 lety +2

    50k. haha.