diff --git a/README.md b/README.md index bb87565..ba8b704 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,14 @@ -/* The MIT License (MIT) - -Copyright (c) 2018 David Payne - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. -*/ - # Printer Monitor (OctoPrint 3D Printer Monitor) +## New Easy Monitor Board Kit: +Now available is the Pre Loaded Monitor Board Kit that comes ready to plug and play on your network. +* Kit on Etsy: https://www.etsy.com/listing/823257424 +* New 3D printed case design for Monitor Board kit: https://www.thingiverse.com/thing:4538747 +* Configuration video: https://www.youtube.com/watch?v=kcBspqWhpIU + ## Features: * Displays the print status from OctoPrint or Repetier Server +* Option to display time and weather when printer is idle * Estimated time remaining * Time Printing * Percentage complete @@ -48,14 +32,15 @@ SOFTWARE. ## Required Parts: * Wemos D1 Mini: https://amzn.to/2ImqD1n -* 0.96" OLED I2C 128x64 Display (12864) SSD1306: https://amzn.to/2InSNF0 +* 0.96" OLED I2C 128x64 Display (12864) SSD1306: https://amzn.to/3cyJekU * (optional) 1.3" I2C OLED Display: https://amzn.to/2IP0gRU (must uncomment #define DISPLAY_SH1106 in the Settings.h to use the 1.3" SSH1106 display) +* (optional) Pre loaded Monitor Board kit: https://www.etsy.com/listing/823257424 Note: Using the links provided here help to support these types of projects. Thank you for the support. ## Wiring for the Wemos D1 Mini to the I2C SSD1306 OLED SDA -> D2 -SCL -> D5 +SCL -> D5 / D1 -- for Easy Monitor Board VCC -> 5V+ GND -> GND- @@ -64,11 +49,16 @@ GND -> GND- ## 3D Printed Case by Qrome: https://www.thingiverse.com/thing:2884823 -- for the 0.96" OLED Display https://www.thingiverse.com/thing:2934049 -- for the 1.3" OLED Display +https://www.thingiverse.com/thing:4538747 -- for 0.96" With Easy Monitor Board ## Upgrading from version 2.2 or Higher Version 2.2 introduced the ability to upgrade pre-compiled firmware from a binary file. In version 2.3 and on you should find binary files that can be uploaded to your printer monitor via the web interface. From the main menu in the web interface select "Firmware Update" and follow the prompts. * **printermonitor.ino.d1_mini_SSD1306.bin** - compiled for Wemos D1 Mini for the smaller 0.96" SSD1306 OLED (default) * **printermonitor.ino.d1_mini_SH1106.bin** - compiled for Wemos D1 Mini for the larger 1.3" SH1106 OLED +* **printermonitor.ino.d1_mini_repetier_SSD1306.bin** - Repetier version compiled for Wemos D1 Mini for the smaller 0.96" SSD1306 OLED (default) +* **printermonitor.ino.d1_mini_repetier_SH1106.bin** - Repetier version compiled for Wemos D1 Mini for the larger 1.3" SH1106 OLED +* **printermonitor.ino.d1_mini_easyboard.bin** - Version compiled for Easy Monitor Board for the smaller 0.96" SSD1306 OLED (SDA -> D2 and SCL -> D1) +* **printermonitor.ino.d1_mini_easyboard_repetier.bin** - Repetier version compiled for Easy Monitor Board for the smaller 0.96" SSD1306 OLED (SDA -> D2 and SCL -> D1) ## Compiling and Loading to Wemos D1 Mini It is recommended to use Arduino IDE. You will need to configure Arduino IDE to work with the Wemos board and USB port and installed the required USB drivers etc. @@ -93,6 +83,7 @@ Note Printer-Monitor version 2.5 and later include ArduinoJson (version 5.13.1). ## Initial Configuration All settings may be managed from the Web Interface, however, you may update the **Settings.h** file manually -- but it is not required. There is also an option to display current weather when the print is off-line. +* If you are using the Easy Monitor Board you must set the const int SCL_PIN = D1 in the Settings.h file. * By default OctoPrint client is selected. If you wish to use Repetier then uncomment //#define USE_REPETIER_CLIENT in the Settings.h file. * Your OctoPrint API Key from your OctoPrint -> User Settings -> Current API Key -- similar for Repetier API Key. * Optional OpenWeatherMap API Key -- if you want current weather when not printing. Get the api key from: https://openweathermap.org/ @@ -133,3 +124,26 @@ Thanks for your contribution. ![Printer Monitor Temps](/images/temperatures.jpg) ![Printer Monitor Time Remaining](/images/time_remaining.jpg) ![Printer Monitor Printing Time](/images/printing_time.jpg) + +/* The MIT License (MIT) + +Copyright (c) 2018 David Payne + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ \ No newline at end of file diff --git a/printermonitor.ino.d1_mini_SH1106.bin b/printermonitor.ino.d1_mini_SH1106.bin new file mode 100644 index 0000000..d15595b Binary files /dev/null and b/printermonitor.ino.d1_mini_SH1106.bin differ diff --git a/printermonitor.ino.d1_mini_SSD1306.bin b/printermonitor.ino.d1_mini_SSD1306.bin new file mode 100644 index 0000000..d5d8a07 Binary files /dev/null and b/printermonitor.ino.d1_mini_SSD1306.bin differ diff --git a/printermonitor.ino.d1_mini_easyboard.bin b/printermonitor.ino.d1_mini_easyboard.bin new file mode 100644 index 0000000..740caa0 Binary files /dev/null and b/printermonitor.ino.d1_mini_easyboard.bin differ diff --git a/printermonitor.ino.d1_mini_easyboard_repetier.bin b/printermonitor.ino.d1_mini_easyboard_repetier.bin new file mode 100644 index 0000000..79b7009 Binary files /dev/null and b/printermonitor.ino.d1_mini_easyboard_repetier.bin differ diff --git a/printermonitor.ino.d1_mini_repetier_SH1106.bin b/printermonitor.ino.d1_mini_repetier_SH1106.bin new file mode 100644 index 0000000..1eab3c0 Binary files /dev/null and b/printermonitor.ino.d1_mini_repetier_SH1106.bin differ diff --git a/printermonitor.ino.d1_mini_repetier_SSD1306.bin b/printermonitor.ino.d1_mini_repetier_SSD1306.bin new file mode 100644 index 0000000..f408718 Binary files /dev/null and b/printermonitor.ino.d1_mini_repetier_SSD1306.bin differ diff --git a/printermonitor/Settings.h b/printermonitor/Settings.h index 174431d..a149b82 100644 --- a/printermonitor/Settings.h +++ b/printermonitor/Settings.h @@ -92,7 +92,7 @@ boolean DISPLAYCLOCK = true; // true = Show Clock when not printing / false = // Display Settings const int I2C_DISPLAY_ADDRESS = 0x3c; // I2C Address of your Display (usually 0x3c or 0x3d) const int SDA_PIN = D2; -const int SCL_PIN = D5; +const int SCL_PIN = D5; // original code D5 -- Monitor Easy Board use D1 boolean INVERT_DISPLAY = false; // true = pins at top | false = pins at the bottom //#define DISPLAY_SH1106 // Uncomment this line to use the SH1106 display -- SSD1306 is used by default and is most common diff --git a/printermonitor/printermonitor.ino b/printermonitor/printermonitor.ino index 47c0b6f..8849850 100644 --- a/printermonitor/printermonitor.ino +++ b/printermonitor/printermonitor.ino @@ -876,9 +876,9 @@ void configModeCallback (WiFiManager *myWiFiManager) { display.drawString(64, 0, "Wifi Manager"); display.drawString(64, 10, "Please connect to AP"); display.setFont(ArialMT_Plain_16); - display.drawString(64, 23, myWiFiManager->getConfigPortalSSID()); + display.drawString(64, 26, myWiFiManager->getConfigPortalSSID()); display.setFont(ArialMT_Plain_10); - display.drawString(64, 42, "To setup Wifi connection"); + display.drawString(64, 46, "To setup Wifi connection"); display.display(); Serial.println("Wifi Manager");