Bitcoin / Multi Crypto Coin Ticker with 24 candlesticks chart



  • Hello,

    Here you go! I coded some lines. Try this from there: https://github.com/frittna/Crypto_Coin_Ticker

    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.

    0_1627821527845_Sensor.jpg



  • @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.



  • @frittna You da man! Haven't had the time to have a look back here, so my late reply. Works like a dream! I see also the offset with the temp but it doesn't bother me so much. Maybe the offset could be dealed with by manually giving a correction factor at startup?
    So thank you very much, I am deeply impressed like only a layman (in coding) can be :-)



  • I have followed the instructions step by step in my M5Stack ESP-32 and that's what I get:

    Can anyone help me with the mistakes?

    Arduino: 1.8.16 (Mac OS X), Board: "M5Stack-Core-ESP32, QIO, 80MHz, Default, 921600, None"

    WARNING: library Timezone claims to run on avr architecture(s) and may be incompatible with your current board which runs on esp32 architecture(s).
    Traceback (most recent call last):
    File "esptool.py", line 57, in <module>
    File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
    File "serial/tools/list_ports.py", line 29, in <module>
    File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
    File "serial/tools/list_ports_posix.py", line 31, in <module>
    File "/Library/Python/2.7/site-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
    File "serial/tools/list_ports_osx.py", line 32, in <module>
    ValueError: dlsym(RTLD_DEFAULT, kIOMasterPortDefault): symbol not found
    Failed to execute script esptool
    Multiple libraries were found for "SD.h"
    Used: /Users/pirix/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/libraries/SD
    Not used: /Applications/Arduino.app/Contents/Java/libraries/SD
    Multiple libraries were found for "WiFi.h"
    Used: /Users/pirix/Library/Arduino15/packages/esp32/hardware/esp32/1.0.4/libraries/WiFi
    Not used: /Applications/Arduino.app/Contents/Java/libraries/WiFi
    exit status 255
    /Applications/Arduino.app/Contents/Java/arduino-builder returned 255
    Error compiling for board M5Stack-Core-ESP32.



  • @pirix
    i have not set up an enviroment for compiling in osx yet, i can't say.. sorry

    @Albman THX! , yea maybe i'll implement a temperature correction some day



  • @frittna I tried with M5Burner in Windows and compiling it on Ubuntu with the same problem: freezes trying to connect to Wi-Fi.

    Any option?



  • @PiriX
    when you say you burned it with the burner than it should work. I only think of a sd config file corruption or something because of not safe ejected.. or some strange letters in wifi-pass.. i dunno..



  • @frittna said in Bitcoin / Multi Crypto Coin Ticker with 24 candlesticks chart:

    n you say you burned it with the burner than it should work. I only think of a sd config file corruption or something because of not safe ejected.. or some strange letters in wifi-pass.. i dunno..

    I tested with my guest wifi: "guest" pass "guest" and doesn't work



  • Now it works...

    The problem was "_" in the Wi-Fi

    Thank you so much for your patience.



  • Hi frittna,

    Awersome work for making this for us, its a struggle to keep watch of the crypto market while also living a life away from it.
    I'm a noob, but i'm sure if I know exactly where to edit, i could get away with it, so my query is how do edit one of the existing
    timezones to get my local timezone option? I'm looking for GMT +8 (Singapore/Kuala Lumpur Timezone). Thanks is advance!



  • Hi and thank you very much. Yea, it's really a good alternative to a pc running all day or checking your mobile all the time. You can focus on other things and have always an eye on it. It's nice to have one under your pc screen btw.

    to your question, the corresponding part is the following. You would have to add for example your Zimezone as nr.8 in the code and compile it new in Arduino, then set the same number in the sd-config to load this setting at least once. If you're really new to arduino its a bit tricky with all the libraries and stuff (boardmanager!) but it is documented.

    Problem right now is that i dont know where to find the correct TimeChangeRule values for your timezone (UTC+8 is SGT ...?)
    Maybe you find some info. I found the lines i used in the code on the web or in Arduino code examples but i know no more zones right now.

    here is the part at the beginning
    TimeChangeRule summer_aedt = {"AEDT", First, Sun, Oct, 2, 660}; // 0: Australia Eastern Time Zone (Sydney, Melbourne)
    TimeChangeRule standard_aest = {"AEST", First, Sun, Apr, 3, 600};
    TimeChangeRule summer_bst = {"BST", Last, Sun, Mar, 1, 60}; // 1: United Kingdom (London, Belfast)
    TimeChangeRule standard_gmt = {"GMT", Last, Sun, Oct, 2, 0};
    TimeChangeRule summer_eest = {"EEST", Last, Sun, Mar, 3, 180}; // 2: Eastern European Time (Bulgaria, Greece, Romania, Ukraine, Egypt)
    TimeChangeRule standard_eet = {"EET ", Last, Sun, Oct, 4, 120};
    TimeChangeRule summer_cest = {"CEST", Last, Sun, Mar, 2, 120}; // 3: Central European Time Zone (Frankfurt, Paris)
    TimeChangeRule standard_cet = {"CET ", Last, Sun, Oct, 3, 60};
    TimeChangeRule summer_edt = {"EDT", Second, Sun, Mar, 2, -240}; // 4: US Eastern Time Zone (New York, Detroit)
    TimeChangeRule standard_est = {"EST", First, Sun, Nov, 2, -300};
    TimeChangeRule summer_cdt = {"CDT", Second, dowSunday, Mar, 2, -300}; // 5: US Central Time Zone (Chicago, Houston)
    TimeChangeRule standard_cst = {"CST", First, dowSunday, Nov, 2, -360};
    TimeChangeRule summer_mdt = {"MDT", Second, dowSunday, Mar, 2, -360}; // 6: US Mountain Time Zone (Denver, Salt Lake City)
    TimeChangeRule standard_mst = {"MST", First, dowSunday, Nov, 2, -420};
    TimeChangeRule summer_pdt = {"PDT", Second, dowSunday, Mar, 2, -420}; // 7: US Pacific Time Zone (Las Vegas, Los Angeles);
    TimeChangeRule standard_pst = {"PST", First, dowSunday, Nov, 2, -480};
    Timezone myTZ0(summer_aedt, standard_aest); // myTZ0: 0 Australia Eastern Time Zone (Sydney, Melbourne)
    Timezone myTZ1(summer_bst, standard_gmt); // myTZ1: 1 United Kingdom (London, Belfast)
    Timezone myTZ2(summer_eest, standard_eet); // myTZ2: 2 Eastern European Time (Bulgaria, Greece, Romania, Ukraine, Egypt)
    Timezone myTZ3(summer_cest, standard_cet); // myTZ3: 3 Central European Time Zone (Frankfurt, Paris)
    Timezone myTZ4(summer_edt, standard_est); // myTZ4: 4 US Eastern Time Zone (New York, Detroit)
    Timezone myTZ5(summer_cdt, standard_cst); // myTZ5: 5 US Central Time Zone (Chicago, Houston)
    Timezone myTZ6(summer_mdt, standard_mst); // myTZ6: 6 US Mountain Time Zone (Denver, Salt Lake City)
    Timezone myTZ7(summer_pdt, standard_pst); // myTZ7: 7 US Pacific Time Zone (Las Vegas, Los Angeles);

    and later in the code:
    ..} else if..=4..
    ..} else if..=5..
    } else if (myTimeZone == 6) {
    time_t now = myTZ6.toLocal(time(nullptr), &tcr);
    M5.Lcd.printf("%s %2d.%s %02d:%02d", weekDay_MyLang[weekday(now)], day(now), monthName_MyLang[month(now)], hour(now), minute(now));
    } else if (myTimeZone == 7) {
    time_t now = myTZ7.toLocal(time(nullptr), &tcr);
    M5.Lcd.printf("%s %2d.%s %02d:%02d", weekDay_MyLang[weekday(now)], day(now), monthName_MyLang[month(now)], hour(now), minute(now));

    here the new else if for nr.8
    ...
    ...
    i think that would be all



  • Thanks Frittna, yes my timezone is UTC +8, and I think I have found a reference on how to set that <see below> ; my timezone dont have DST, so it should just a simple one liner (i think), still not tested though..cuz ya, i'm a newbie, so about that compiling, could you point me exactly where to look? :)

    My M5stack is the FIRE version ; with the LED bars , and this is my first project using it (actually got inspired to get it after seeing your project, as I was wanting a proper tabletop ticker for some time now), will there be any version that can utilize those LEDs as indicators, that would be awesome!

    ""
    For a time zone that does not change to daylight/summer time, pass the same rule
    twice to the constructor, e.g.:
    Timezone usAZ(usMST, usMST);
    In fact the WorldClock example does this for Arizona:

    //US Mountain Time Zone (Denver, Salt Lake City)
    TimeChangeRule usMDT = {"MDT", Second, dowSunday, Mar, 2, -360};
    TimeChangeRule usMST = {"MST", First, dowSunday, Nov, 2, -420};
    Timezone usMT(usMDT, usMST);

    //Arizona is US Mountain Time Zone but does not use DST
    Timezone usAZ(usMST, usMST);

    ""

    So mine should be >>>

    //for Malaysia its MYT (UTC+8)Time Zone but does not have DST
    Timezone MYT(MYT, MYT);

    ?



  • Updated Version (minor changings):

    • added cycling function: enable/disable by pressing ButtonA+ButtonC together. steps through your currencies after a certain time (default: 15sec for each currency)

    • added Timezone for Singapore (UTC+8)

    • code merged to one version, so there is no need to have different versions anymore

    • autodetect the optional room sensor and show 12pixel high sensor panel in this case temperature unit C or F and offset is set from SD-Config and not hardcoded anymore (because the M5-Stack is heating up itself it will never be accurate and has only limited expressiveness)

    last modified Nov.20.2021 15:20 CET - Version 1.0.53fix
    -> https://github.com/frittna/Crypto_Coin_Ticker/