Tracking Bitcoin With The ESP8266

[Kendrick] was looking for something to do with an ESP8266 WiFi module, and since he loves Bitcoin and Arduino, the obvious solution was to make a Bitcoin price tracker.

The ESP8266 is a complete microcontroller with a WiFi chip and a few pins for a serial connection. It’s certainly possible to write some firmware for the ESP to get the current conversion rate of Bitcoin, but for simplicity’s sake, [Kendrick] chose to use an Arduino for this project. He’s using a 5V Arduino, and the ESP operates on 3.3V logic, but a few Zeners take care of the logic level conversion.

The code running on the Arduino checks the CoinDesk API minute, parses the JSON coming from the API, and prints the current Bitcoin price to the serial port. For tracking the current conversion rate of Bitcoin, it’s vastly overkill. This project could have a few interesting applications, from hooking up a few seven-segment displays, to an RGB LED mood lamp that keeps track of this magic Internet money.

15 thoughts on “Tracking Bitcoin With The ESP8266

  1. Way to get out in front of the cries of “overkill”,[benchoff]… Nicely done!

    A number of interesting possibilities come to mind as springboards off of this though.

  2. This is a stupid project, all this can be done inside the PC, as the arduino is just relaying over serial, if added a screen i can understand but yeah.
    in about 30-40 mins just made a Java program that does just this + gives me multiple currencies(updated each time via api) my output looks like this:

    USD: 249.6446
    GBP: 157.2379
    EUR: 219.5387
    PLN: 915.39685
    but i could make a GUI if i really wanted too

    1. No, it’s a great project. You’re burning how many watts and using how many GB to run your Java program?

      To attach a LCD, all you’d need is a common backpack module and boom, the serial output is visible. Could be done with a few lines of code.

      Those backpacks/LCDs are usually 5v so unfortunately not as easy to host it directly on the ESP8266…

    2. As it is it’s kind of useless. But put a 7-segment display on it and you’ve got a Bitcoin clock. If you want to display the time as well, that is. So you could have the current version of Bitcoin, or some other currency with a bit of parsing of xe.net or whatever, in your room somewhere, working without having to even start the PC. You could even have it scroll like a stock ticker, on 7-segments, spelling out “bit” and even “doge” isn’t hard. And whatever else you want, maybe stock prices.

  3. Correct me if I’m wrong, but couldn’t this be done using the ESP8266 alone programmed with the Arduino IDE? And, is it possible to add an MCP23008* to this hypothetical setup to control a character LCD? Is the ESP even equipped with the i2c device to do this?

    *MCP23008 Datasheet here: http://bit.ly/1Cg0XVR

    1. True, and Brian did state above that that could be done. You’d still need a power supply and a USBSerial cable though to get it into the host computer, that’s effectively what the Arduino is being used for here. You could of course pop the 328P chip out of the Arduino and connect TX/RX (i.e. the D0 and D1 pins) directly to the ESP8266 but then you’d still have to write new firmware for it, so all you’ve really done is move the task from one chip to the other.

      What I want to know is why the host computer doesn’t just pull the quote off the web server itself… ;)

  4. Hey, thanks for this post. We’ve been working on this concept for 2 years now and made a consumer-friendly version. We call it the TicrThing: your hands-free bitcoin companion.

    For those who like the idea, but don’t have the time to build it yourself, you can now get this device on IndieGoGo (https://igg.me/at/ticrthing). Early supporters receive 40% off!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s