Introduction: IoT7egment ESP8266
This Internet Connected Display is carefully designed keeping in mind the following:
- Stylish and Visible(Hence Seven Segment and not LCD)
- Compact hence used new way of circuit design by using pluggable two parts and two layer circuit for the segment base
- Customizable so that each digit is easily swapable to suit your color(Hence didn't use fused 4digits or 8digits).
- Cheap(can't help it) and easily replicable (Hence done with stripboard or line Vero).
- Used the ESP8266 module.
- Least Number of pins to interface(Five-including VCC and GND) used Shift Registers as serial to parallel and Time Multiplexed the digits
- Digits expandable to Eight.(I am using Six Digits and thinking of using Background Halo and indicator with Bicolor led attached to the extra two pins).
- Easy to use Arduino Library : Example, Simply the statement:
Display.print("String to Display")
will show the given string in the display. If the string has more characters than the number of Digits then it will Scrollthe string from Left to Right.
- By default it shows Time according to configuration (AM/PM or HOURS or DATE Day Name interval) and syncs with internet NTP.The time display is overridden when any other string is printed (i.e. print() function is called with instance of the class) and Time Display resumes when display is free.
- There are myriads of application of this display with complex programming and development.It will be updated in my github account.
Step 1: Parts Needed:
- Single row breakable Round Pin Female header sockets (Also sold as single inline round Pin IC base).
- Male Header strips
- Female Header Sockets
- Line Vero or Strip Board
- 13mm(or whatever is available) 7 Segments (according to your choice of color) Common Cathode preferable
- two 74hc595 Shift registers
- Resistors, value based on max brightness but don't go any less than the marked max current of each segment.
- 3v supply battery.
- Finally last but not at all the least ,rather indispensable esp8266 module with 3 pins available for interfacing
Calculation of resistor value:
Lets say at least two segments are on at a time,
2*(max current~20mA)=40mA
Since using ESP8266 then 3v supply, therefore value or resistor R=3*1000/40=75ohm
Eight resistors will be needed for eight segments (I used six).
Step 2: Making the SEGMENT LED Adapter(Base)
All the corresponding pins of each Digit are to be joined together, i.e pins of Segment A of all the six digits are to be connected together, this should be done for all the segment pins all through from A to G and DP(dot)-Decimal Point.
For making the circuit neat I wanted to use less wire. So I came up with this Idea.I know its a bit of time waste but wanted to try this approach:
Solder two rows of round pin base about 1.5cm apart each should have 5*(number of digits) pin i.e 30 for 6 digit. See to it that the segment fits or reduce /increase separation accordingly.
Solder such that the pins are connected across the separation.
This can be done by using two layers of stripboard and connecting the tracks alternately using Male Header Pins as Vias(in PCB).
Cut another strip of vero so that it's tracks are perpendicular to the previous.This will be the alternative of soldering wires.And also using the space under the segments digits, which will be empty anyway.
Step 3: Making the SEGMENT LED Adapter(Base) Contd..
Each track of the second layer of stripboard will be for one segment.Hence drop a header pin near each say B segment which goes through one of the tracks as seen in the photos above. Do this for all and the pins left will be shorted with wire. Now place the second layer as lid and solder. Get the eight pins out using 8pin female header from one end.
If you have problems determining the pins use the LABELS in my github account print them and stick on both the Segments and ICs.Just As my previous instructable.
THE DIGITS ARE SWAPABLE ANYTIME!!
Step 4: Making the Plugable IC Part of the Adapter
The circuit is provided in my github account.
One IC is for the eight segments. Use its Data Out Pin
to shift data to the second Register which are for the Digits. For 6 digits 2 pins will be left hanging.
Now wire accordingly.
Step 5: The ESP8266 Module
There is a sad story!!
I wanted to plug my ESP8266-03 module since I designed keeping its size and pi placement in mind. And the final design i shown with that.
But unfortunately my ESP8266-03 module stopped working so I had to use my ESP8266_01 module to show the functionality for the time being. My ESP_01 has been turned to frankenstein version with extra pins soldered carefully and skillfully ;-) . I am using 3 pins from it to interface .But I ordered another ESP_03, soon I will get it.
Used a 3.7Li-ion Battery Charger circuit not included yet but working on TP4056 based module.
Step 6: Finally the IotDisplay in Its Full Form
The pictures provided are self explanatory.
Placed a 9v Battery for perspective and size.
Step 7: First Prototype With Battery Bank
It connects to the internet and prompts if Success or Fail
Step 8: The Display and Using Different Arrangement of Digits and Color
You can customize anytime the digits based on appearance or functionality as shown.
Soon I will add a Video.And update the code. Stay tuned.
The Code, Schematic, and Label stickers are updated here:https://github.com/technochatter/IoT7egment