Bitcoin / Multi Crypto Coin Ticker with 24 candlesticks chart

  • Finally i updated my project to a version with a SD-Card config file for Wifi-Settings and coinpars, colors, etc.

    Now if you don't want to compile on your own you can load the precompiled .bin file with populair SD-Menu Loader App and get around all the hardcoding in Arduino-IDE with all the librarys and esp32 board manager..

    all you need is to flash my .bin and have a sd card with a folder in root called "ccticker" which holds the file "ccticker.cfg" and the "data" folder for the graphic files.

    I do not use SPIFFS memory anymore because it is easier without for the most people.. (btw: does anyone know if it is possible to burn with m5burner AND flashing spiffs together? Any info on m5burner to get the file and folder format right to flash a custom program like this?)

    have luck

    download my app at


  • @frittna I'm trying to build the application using the Arduino interface and I get one warning:

    WARNING: library Timezone claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s).

    I read a few article that say it still works even though the warning is displayed so I continued to try uploading to my M5Stack

    When I compile and upload it completes 100%

    Hash of data verified.

    Hard resetting via RTS pin...

    However the M5Stack never does anything other than display a blank (black) screen.

    Any thoughts on why that would happen?



  • @wwhite
    maybe it is the wrong board manager? at menu: tools -> boards -> boardmanager - search for esp32 -> select version 1.0.4, not the new 1.0.6
    have you tried the serial monitor to see what the serial output is? is there any, at 115200 baud rate?
    btw: the one warning about avr architecture is no problem, its ok.

  • @frittna Thanks for responding I appreciate your help. Thanks for confirming the Warning issue would be ok. I made certain I installed the 1.0.4 version per the instructions. I was able to grab some output from the serial monitor and it's this 9 lines constantly scrolling? Thanks again.

    rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    ets Jul 29 2019 12:21:46

    rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    invalid header: 0xffffffff
    ets Jul 29 2019 12:21:46

  • @frittna OOPS - I lied to you! I seems that I no sooner installed the esp 1.0.4 version and the ide came up and said I had libraries with updates and I must have selected update. I found this because I thought I'd double check all of the libraries and the board versions. When I looked the board had changed to the latest version so I removed it and installed the 1.0.4. In a few minutes I was prompt regarding updates and this time I didn't allow the updates!

    The good news is I'm up and running but stuck at Connecting to.........

    If I'm compiling this way can I still use the config files on the sd card or do I have to hard code the wifi info?

    Thanks again.


  • @frittna YAY I got it running. There was something strange with my sd card so I formatted it and out the config files back on it and now it's working. This is an awesome application you put together! This is going to be fun.

  • @wwhite

    Yeah !!! - I'm glad you figured out that the board manager was updated without your notice! This is helpfulf for others as they can easiliy run into the same scenario i guess. If the SD-Card in not read correctly it will at least give you some lines on the display and serial output. I use FAT32 on a 2GB SD and always "safe remove" before unplugging the card from cardreader.

    @wwhite said:

    If I'm compiling this way can I still use the config files on the sd card or do I have to hard code the wifi info?/

    You can hardcode network settings but it doesn't matter and it's not intendet to do so in this sd-card version. When a sd-card is read-in and if the config file contains a ssid/password, it will use it. They will be stored in internal memory aswell (only ssid/pw1+2) and be used if no SD-card is inserted by accident.
    In this case it should connect as usual but with the 4 default coinpairs and missing images from the /data/ folder as they are loaded from there.
    BTW: I have an identical SPIFFS version on github (public folder) where you hardcode every setting in Arduino and have to upload all graphic files to the internal SPIFFS memory with esp32-data-upload tool, so no sd-card at all is needed.

    But for me it was important to make a SD-card version to provide an much more "easy solution" - without compiling by yourself.
    So theres no need to edit the Adruino code.

  • Hi
    thanks for setting this great project up! I got it running and I love it. I was looking quite some time for exactly this thing.

    One question, when I would have the pair BTC EURO, how would I set that up in the code? Thanks! Timo

  • Hi,
    I figured it out by myself (so proud ;-) ) how to have BTC/€ displayed:

    byte pairs = 2; // default: 8, total numbers of currency pairs, max 255
    String pair_name[] = {"BTC/EUR", " BTC/$", }; //name for TopPanel (6-8 letters)
    String pair_STRING[] = {"BTCEUR", "BTCUSDT", }; //name for url in BIG LETTERS
    String pair_string[] = {"btceur", "btcusdt", }; //name for url in small letters
    uint32_t pair_color[] = {TFT_ORANGE, TFT_PINK, }; //color in uint32_t format

    Greetings Timo

  • thx!!
    Hi, yes you got it right. The name must be the same when you look at the part of the url accessing a usual binance market with your webborwser.

    But i wanted to mention that i have updated the App a bit more.
    There is no modification with Arduino in the code needed for adjusting the settings.
    Now you can easily burn the app with few clicks, no Arduino needed, if you don't want. You only need a config text file on the root of your sd-card from where settings are read in, then you can eject it or not as you want.
    All settings including wifi, coinpairs, etc will be saved internal. They will update when you put in a modified configuration. No data folder on SD-Card is needed for graphics anymore as they moved back to internal spiffs memory.

    You can simply use and edit the config file. All done.

  • Hello all, thank you so much for the hard work on this project! I created a video demo flashing the M5Stack with the FW, changing the SD card configurations, and 3D printing a desk stand. I hope this helps more novice users get started

  • Has anyone been able to port this to the Core 2? I tried but the SD Card library seemed to be incompatible.

  • I saw a crypto project on the M5Stack and had to comment!

    First of all congrats to @frittna for the good execution of the concept. Didn't try it myself, but looks great on the photos!

    Seven years ago I started working on a similar crypto project. Decided to go all the way from idea to market, not just because I love crypto, but because I wanted to gain the learning and experience on the way. It was worth it!

    I've seen a lot of "weekend projects", but none of them had the features I wanted or was easily configurable by non-technical people. So I brought my crypto project to a full commercial product. I call it the TicrThing - your dedicated price ticker. (sorry for the obvious ad)

    The previous versions had custom-made hardware, but they always lacked something... Once I discovered the M5Stack, I thought it was a perfect fit. So I completely re-wrote my code for the M5Stack, wrote also the server side, and released the new product earlier this year. Hope this helps bring the M5Stack platform to a wider audience!


    P.S. It was not my intention to hijack the thread, but to share the story of a similar crypto project and how it evolved to use the M5Stack.

  • Hi, really nice to explore your project! You have really gone thought all the steps which i skipped so far on my ticker. (mobile app to config, fw updates, multiple sources, webstore) NICE and very professional.

  • For those who are interested in trying out the TicrThing for free, you can now find the firmware in the M5Burner.


  • @m5er could you please clarify how to and where to download your version of the crypto ticker to try? M5Burner does not lead anywhere

  • Anyone knows how to to obtain TicrThing version of the ticker for test?

  • Hi, the M5Stack stand has an DHT12 sensor for temperature and humidity integrated. I woud like to integrate this output in my BTC ticker. Any hints how to do this? Or where to start? I have not much experience with M5Stack or programming at all...

  • Hello,

    Here you go! I coded some lines. Try this from there:

    just download the M5Burner zip packet, extract it to a path with no spaces in name (causes errors!) run M5burner.exe and select COM + BAUD + Crypto_Coin_Ticker_Sensor_Cel.ino or the Fah version for Fahrenheit and give it a try.

    BTW: it is a SHT30 Senor built in my base, not a DHT12 although it is written in the description. The temperature is pretty high since the sensor is getting heat from the device itself i guess, maybe a problem of many small devices with temp sensors built in.

    *** For regular users without the vertical base i recommend to use the normal version because i had to make the info panel a bit larger and loose candle chart hight. **

    edit: I fixed a bug that the user settings were not saved after a restart - reflash from github if you are affected.


  • @gipsyblues I suppose you have figured it out by now (and sorry for late reply - I got no notification for this post). In any case, you can download the M5Burner software, connect your M5stack basic (not core2) and flash the TicrThing firmware. Let me know if you encounter difficulties, preferably in a PM so we don't hijack this thread.