Inky Monitor - Bitcoin Price Ticker

IP Report

Inky Monitor - Bitcoin Price Ticker

Boost
49
111
35

Print Profile(1)

All
X1 Carbon
P1S
P1P
X1
X1E
A1
A1 mini
H2D

0.16mm layer, 2 walls, 15% infill
0.16mm layer, 2 walls, 15% infill
Designer
4.5 h
1 plate
5.0(5)

Open in Bambu Studio
Boost
49
111
35
15
38
20
Released

Description

Overview:

A Bitcoin price ticker that runs on an ESP32-C3 microcontroller connected to a 2.9" monochrome e-ink display. The device connects to WiFi and periodically retrieves data from CoinDesk. The current Bitcoin price in USD and a 30-day history chart are rendered on the display. You can specify the refresh rate and color scheme (standard or inverted).

The device is powered by a 5V power supply through a USB-C connector.

The device has a width of 105mm, a depth of 60mm, and a height of 68mm.

There are two options for the case smooth one (Inky_Monitor_Body.stl) and one with embossed bitcoin logo (Inky_Monitor_Body_Bitcoin.stl).
 


Bill of Material:

Case:

It is recommended to print the case in the following orientation, with support and a brim (back).


Assembly Instruction:

  1. Clean the printed parts.
  2. Insert the display into the body and secure it using Crossbar1 and a 6mm screw.
  3. Solder 90-degree headers to the XIAO-ESP32-C3 development board. This step is optional, you can also solder the wires directly to the board.
  4. Connect the display to the ESP32-C3 board according to following wiring diagram.
  5. Connect the WiFi antenna.
  6. Place the ESP32-C3 board into the body and secure it using Crossbar2 and two 6mm screws.
  7. Arrange the wires and antenna, close the box, and secure the bottom part with four 10mm screws.


Programming:

Option 1 - Build from source code with hard coded settings:

  1. Download the source code or clone it from GitHub (main branche)
  2. Install Arduino IDE
  3. Open the project in Arduino IDE
  4. Install esp32 by Espressif Systems in Boards Manager
  5. Install NTPClient by Fabrice Weinber in Library Manager
  6. Install ArduinoJson by Benoit Blanchon in Library Manager
  7. Install GxEPD2 Library by Jean-Marc Zingg (with dependencies Adafruit BusIO Library, Adafruit GFX Library) in Library Manager
  8. Select XIAO_ESP32-C3 board
  9. Update WiFi credentials (ssid, password), refresh rate, inverted mode in inky-monitor-config.h file
  10. Click on Verify button
  11. Connect the ESP32-C3 over the USB cable to the PC
  12. Click on Upload button
  13. Wait until all data are written
  14. Device should be now properly configured and display actual data

Option 2 - Prebuild binary with configuration portal:

  1. Download compiled firmware from GitHub
  2. Open ESP Tool - a serial flasher utility
  3. Connect the ESP32C3 over the USB cable to the PC
  4. Click on Connect button
  5. Change Flash Address to 0x0
  6. Select the binary file (inky-monitor.ino.merged.bin)
  7. Click on Program button
  8. Wait until all data are written
  9. Disconnect and connect the ESP32-C3 again
  10. WiFi configuration portal is now active. Connect to Inky Monitor WiFi network from your mobile or PC.
  11. Configure your WiFi connection and settings parameters


     
  12. Device should be now properly configured and display actual data
  13. If connection to WiFi is not successful the WiFi configuration portal is automaticaly activated
  14. Configuration erase can be forced by pressing and holding the BOOT button for 5 seconds. Use the pin to press the button. From the front view, the BOOT button is on the left side.

 

Debugging:

If something is not working as expected you can see some details what is going on in the device by connecting to serial port using a serial terminal. The baud rate is 115200.

 

Updates:

 

24.2.2025 - Firmware v1.2.0 and v1.2.0-3C

  • Change API for bitcoin price history from Coindesk to Coinbase.
  • Add option for candle chart.
  • Increse size of the chart.

 

19.1.2025 - Firmware v1.1.0 and v1.1.0-3C

  • Changed API for current bitcoin price and time from Coindesk to Coinbase to have more precise price.
  • Posibility to set local time zone offset.

29.12.2024 - Firmware v1.0.0-3C

  • Created new firmware version for three colour display

Comment & Rating (35)

(0/5000)

Print Profile
0.16mm layer, 2 walls, 15% infill
Excellent. A firmware version for the three-color display is also available on Github. It is a shame that the time zone and displayed currency cannot be adjusted. I am also slightly bothered that the price obtained via the API is not entirely accurate. If a battery were added to the stand, it could operate without power. But overall, superb work
Show original
3
Reply
I'm modifying it to retrieve the price from Coinbase, which is more accurate. Obtaining prices in various currencies should also be simpler there. I hope a choice between USD, EUR, and CZK will suffice
Show original
2
Reply
Replying to @mirabatek :
Many thanks for further development :) I have already tested the new FW version and it works. Now just add an 18650 battery and it will be perfect for the shelf. :D :D
Show original
1
Reply
Print Profile
0.16mm layer, 2 walls, 15% infill
Everything is top-notch, the workmanship is superb! I only have a minor issue When I connect it to my laptop/PC, the chart updates regularly However, when powered by a power supply—a purely electrical source—the chart does not update I suspect it has something to do with the Wi-Fi What could be the error? How could I fix this error
Show original
0
Reply
@ironlife3d What do you use as power source? Power bank might automaticaly switch off due to low power consumption of the device. Does it update at least once or not at all?
0
Reply
Replying to @mirabatek :
I am using a power supply with at least 5W The device is not updating at all I can see via the red indicator light on the chip that power is arriving
Show original
0
Reply
Replying to @mirabatek :
I would appreciate any assistance
Show original
0
Reply
Hey man, I just tried to build this one too but somehow I cannot get my screen to show more than the bitcoin price… No chart, no date and it’s even inverted. You know what could be wrong? Thank you :)
The designer has replied
0
Reply
You need to select the proper firmware according to your display, if you have three colour display use the firmware with 3C suffix.
0
Reply
Replying to @mirabatek :
Ahh I thought the 3C firmware was supposed to be used with the ESP32-3C whereas the normal firmware was for a different chip maybe. Thank you for your help and quick reply :)
0
Reply
clock after the update, the graph that was before is not displayed, the rest works as it should! Super support :)
The designer has replied
1
Reply
@user_2640510748 New firmware which will make the graph functional again will be release soon. The REST API which I was using is not functional any more so I had to change it.
2
Reply
I'm very happy with this project
2
Reply
Nice model. Thank you.
The designer has replied
1
Reply
Very nice. Thank you.
0
Reply
Print Profile
0.16mm layer, 2 walls, 15% infill
nice design. thank you.
1
Reply
Very cool! Is it possible to customize the display of real-time quotes of stock codes like Elekscava.com?
The designer has replied
0
Reply
It is not customizable unless you modify the source code. It is only my hobby project.
1
Reply
I've taken the code and made some modifications, adding a percentage of the variation over the last 30 days, changing the currency from USB to BRL, and also adding a reference line to the graph, as well as adjusting the positions of some elements
Show original
0
Reply
It would be interesting to be able to change the currency from USD to BRL, and also put a score like 82,000 instead of 82000
0
Reply