Saturday, September 15, 2018

Rise and Smile Project

The original goal of this project was to provide a way to send messages to my kids before I went to work since I go in very early and don't see them in the morning.  This simple device can receive messages from a computer or phone over a local LAN, and displays the text on its screen.




How it Works

At a high level, a circuit board with a wifi module connects to your network, and can receive UDP messages, and display them on the LCD screen.

At a lower level, the brains of this device is a NodeMcu ESP8266.  There are free apps in the standard marketplaces that can send UDP messages. Upon startup, the "Rise and Smile" device displays the IP address and port number which can be used by the sending application to identify the device.

Bill of Materials (BoM)

  • NodeMcu ESP8266
  • 20x4 LCD Screen with PCF8574 I2C backpack
  • Pushbutton 6x6x13
  • Micro-USB breakout board
  • 4x6CM Perf Board (optional)
  • 10k ohm Resistor
  • Connecting wire

Wiring

The wiring for this project is very simple.  An I2C backpack PCF8574 for an LCD screen is connected to the ESP8266 via the standard I2C pin connections.  A pull-down push button is added for turning the backlight on, and the whole thing is powered with 5V via a micro-usb connector.



Coding

The code for this project can be directly used provided the wiring diagram above is applied.

https://github.com/blendmo/NodeMcu-ESP8266/blob/master/NodeMcu_UdpLcd/NodeMcu_UdpLcd.ino

You'll need to provide your own "wifipass.h" file that contains the ssid and password character arrays for your network.

Housing

The STL file for the housing can be found at:  https://www.thingiverse.com/thing:3101572
and 3D printed.



One major drawback of this over-simple design is that the front and rear pieces are intended to be glued together.  Once the pieces are together, you will no longer have access to the NodeMCU for reprogramming, so you'll want to make sure you get the programming and wiring right before you close it all up.

Assembly

Location of the LCD, pushbutton, NodeMCU and power connector can be seen in the graphic below.  For the most part everything is simply hot-glued in place.


One exception is the backing support for the pushbutton.  This was an afterthought, so in my case I simply glued an old calibration cube behind it (but any piece of plastic will do).


Final Checkout

I used UDP Sender to test out communications.  Enter the IP and port number that is printed on the Rise and Shine once its first powered up.  Sending a text message with this app should appear on the LCD screen.

Project Complete!

No comments:

Post a Comment