Newsflash! You can now order them pre-assembled!
Here is a 64x256 pixel display
a 32x128 pixel display: (The actual display area of the sign is about 21mm x 6mm)
and a 64x128 display: (The actual display area of the sign is about 14mm x 12mm)
This size screen is available in Yellow+Blue or all White.
(Note: this animation was made from a series of still images and the scan of the digital camera and the scan lines of the actual display produce some fading in the text that is not really there)
- ESP8266 NodeMCU or WEMOS D1 mini processor
- OLED screen, either of these:
- 128x64 OLED 0.96" screen with SSD1306 controller and I2C interface (approximate size: 22mm x 11mm actual display area on a 27mm x 27mm circuit board)
- 128x32 OLED 0.91" screen with SSD1306 controller and I2C interface (approximate size: 21mm x 6mm actual display area on a 38mm x12mm circuit board)
- NewHaven 256x64 OLED screen with SSD1322 controller and SPI interface (approximate size: 67mm x 13mm actual display area on a 97mm x 32mm circuit board)
- 5 Volt DC power supply (such as an old USB charger)
- Wifi network with internet access
Physical sizes may vary slightly.
- Soldering iron and solder
- Some wire
- Wire cutter and stripper
- USB cable (to download file)
- Arduino IDE, download from https://www.arduino.cc/en/Main/Software
- RemoteSign loader sketch, (download here)
Steps1. Connect the OLED screen to your ESP8266/D1 (see connection details below)
2. Install the Arduino IDE
3. Connect your ESP8266/D1 to a USB port of your computer. You may need to install a driver.
4. Set up the board manager in File-> Preferences and enter:
in the field: Additional Boards manager URLs
4. Open Boards Manager from Tools -> Board menu and install esp8266 platform. Then select either "NodeMCU 1.0 (ESP-12E Module) or LOLIN (Wemos D1 R2 and mini) , under Tools->Board
Set the Upload speed, & Flash size, as shown above and pick the serial port to which your ESP8266/D1 is connected, in the Port submenu. (If your menus are not the same, update your board in the Board manager.)
5. Install WiFiManager library
Download the zip file at https://github.com/tzapu/WiFiManager by clicking on the green button and the clicking "Download ZIP"
7. Download the RemoteSign loader sketch, place it in a folder called RemoteSignLoader, and open it in the Arduino IDE (double click on the file RemoteSignLoader.ino)
8. Open the serial monitor (click the magnifier icon at extreme top right in IDE) so that you can see any error conditions (such as incorrect wifi password, etc.)
9. Compile and download the sketch to your ESP8266
To compile and download, click here:
Note, initially the compiler will stop with this display:
This is where you select the type of display you are using. Place // at the start of the line highlighted in pink and remove the // from the line that matches your display. Then compile and download again:
10. You can also add your WiFi network name and password by editing these lines:
// if you wish to skip the phone setup, you can enter your wifi credential here:
char ssid = "your wifi name"; // name of your wifi network
char password ="your wifi password"; // password for your wifi network
Note: nothing will display on the screen yet... but the serial monitor will tell you you need to reset the ESP8266 when it is ready for the next step.
11. Once the sketch has completed downloading, reset the ESP8266/D1
(unplug it and plug it in again)
12. If you did not enter your wifi name and password in step 10, you should now connect to the Wifi network called "RemoteSign", and provide the network name and password.
Nothing can appear on the screen until it has loaded the software, so wait a minute or so until it updates itself and reboots. Once it reboots it should turn the screen on.
13. After installing RemoteSign, it will reboot and your RemoteSign should be ready. It should display its name and IP address that you can use to connect to it from another RemoteSign, such as the Windows version.
In the example above, it indicates its network name is remotesignc6cf88
You can enter that name into a copy of RemoteSign that needs to connect to it. If the connection fails add .lan or .local to its end; remotesignc6cf88.lan If that still fails use its IP address (192.168.86.172 in this example). (Note fuzzy screen is because it still has its protective cover on!)
If the screen does not switch on, check that you have connected the screen correctly and that it matches the line you uncommented in step 9. Check if it has joined your network (using your network admin tools). If it has, try connect to it with Sequencer or RemoteSign Windows. If it connects, then your screen or the connections are faulty. If it does not connect then, it has not managed to download the RemoteSign software (after step 11).
Here are the connection details for the OLED screens
See here for how to connect it up.
0.91" 128x32 SSD1306 I2C
D1 SCK or SCL
GND 1 VSS
3V3 2 VDD
D2 4 D/C
GND 5 R/W W/R
GND 6 E/RD
D5 7 CLK
D7 6 SDIN
GND 10 GND
GND 11 GND
GND 12 GND
GND 13 GND
GND 14 GND
D1 15 /RES
D8 16 /CS
GND 17 BS1
GND 18 BS0
Version historyA list of changes over time can be seen here
LicenceA library used to support the screens is the u8g2 library which is Copyright (c) 2016, firstname.lastname@example.org
Universal 8bit Graphics Library (http://code.google.com/p/u8g2/)
Copyright (c) 2016, email@example.com
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list
of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.