Pops-O-Matic ESP Programmer: Difference between revisions
Ukewarrior (talk | contribs) |
Ukewarrior (talk | contribs) |
||
Line 86: | Line 86: | ||
Click Here to see the schematic: | Click Here to see the schematic: | ||
== | == Errata == | ||
[[Image:Pixel_pops_tiny_built_by_Steven_Dill.jpg|right|small]] | [[Image:Pixel_pops_tiny_built_by_Steven_Dill.jpg|right|small]] | ||
The initial board run has one small error.<br><br> | |||
There is an unwanted trace on the back of the board that connects the right most pin of part C5 to the ground backplane that covers the bottom of the board.<br> | |||
This unwanted trace should have been placed on the left most pin of C5. <br> | |||
All boards sent out, have had this unwanted trace scraped off the board. <br> | |||
So, the end user doesn't need to do anything to fix this error.<br><br> | |||
Due to this error, the capacitor for C5 must be mounted using the middle and right most holes only. The left most hole is not connected to anything. | |||
<br> | |||
This may cause a problem if your C5 capacitor has 5mm spaced leads. In this case, you would | |||
The | |||
This | |||
== Programming the ESP-01 Module == | == Programming the ESP-01 Module == |
Revision as of 17:09, 7 January 2018
What is the Pops-O-Matic ESP Programmer ?
The Pops-O-Matic is a dedicated programming board for the popular ESP-01 module.
This board was inspired from two articles on allaboutcircuits.com. Specifically:
Voltage Regulator
ESP Flashing Circuit
This programming board supplies both the regulated power and the programming interface for the ESP-01 module.
It specifically isolates the ESP-01 from any of the positive power that may be supplied by your serial-to-TTL programmer.
Only Ground, Transmit, and Receive are connected from the external serial-to-TTL programmer to the Pops-O-Matic.
The purpose of this is twofold.
1. To protect the ESP-01 module from voltages over 3.3V.
2. To provide the ESP-01 with well regulated and steady power during the programming sequence.
Pops-O-Matic Overview
The Pop-O-Matic is designed to be flexible in assembly and use.
It can take a wide variation of power input voltages (5V-16V) and can support up to 5 different power connections.
The board is designed to use any of the following for a power input connection:
1. 5mm Terminal Block
2. 3.5mm Terminal Block
3. Micro USB
4. Mini USB
5. Barrel Terminal Jack
The board has a power ON/OFF switch with a power ON LED indicator.
Order a boards
Contact ukewarrior via a PM on DIYC as he often has boards in stock, cheap !
Disclaimers
USE the ESPixel Pops board at Your Own Risk !
The ESPixel Pops board has NO warranty expressed or implied
BOM - Bill of Materials
The BOM contains these generically described parts:
- Input Connectors - As noted earlier, you have choices for the power input connector. You can populate the board with all the connectors at the same time. The exception to this is that the 3.5mm and 5mm terminal blocks share the same space on the board.
Of course, you can populate it with any combination that suits your fancy, including none at all.
The possible input connectors are: SMD micro USB, through hole mini USB, Terminal Barrel, 3.5mm & 5mm Terminal block.
- S3 - Power Switch. This part is optional. You can short the middle and left holes together to set the board to permanently ON. This SPDT slide switch has 5mm pin spacing.
- D1 - Diode, specifically 1N5819
- C1 - MLCC, ceramic Capacitor. 50v, 0.1uF, 2.54mm or 5mm lead spacing.
- C2 - Electrolytic Capacitor. 10V, 220uF, 2mm lead spacing, 6mm max diameter.
- C3 - MLCC, ceramic Capacitor. 50v, 0.33uF, 2.54mm or 5mm lead spacing.
- C4 - Electrolytic Capacitor. 25V, 1000uF, 5mm lead spacing, 12mm max diameter.
- C5 - MLCC, ceramic Capacitor. 50v, 0.1uF, 2.54mm or 5mm lead spacing.
- C6 - Electrolytic Capacitor. 10V, 10uF, 2mm lead spacing, 6mm max diameter.
- POWER - LED, 5mm, any color.
- R1 - 1/4W carbon resistor. 10K ohm.
- R2 - 1/4W carbon resistor. 10K ohm.
- R3 - 1/4W carbon resistor. 10K ohm.
- R4 - 1/4W carbon resistor. 560 ohm.
- U1 - Voltage Regulator, 3.3V, specifically LM2937ET-3.3, TO-220 package.
- S1 - Tactile Switch. 6x6mm through hole.
- S2 - Tactile Switch. 6x6mm through hole.
- ESP01 - 2x6 femaie header. 2.54mm spacing.
- ESP01 - ESP-01 module.
- USB to TTL - A 6 pin header. Either vertical or 90 degree mounting. Male or Female to match the pins on your USB-to-TTL Converter.
Construction Information
The ESPixel Pops is a pretty easy build. The real trick is deciding how you plan to power your pixels as that will affect what you do with the board wiring.
Depending on your power source, this determines if you should install the 5V regulator or just put a jumper in its place as noted on the the board.
The board has a main voltage regulator that provides 3.3V of power to run the ESP8266 module.
This module does not care if you are running 5V or 12V pixels. So, you can connect 5V or 12V to the board.
The board has a place for a second voltage regulator. This is to accommodate 12V pixels.
This is location IC1 on the board. This is a spot for either a 5V regulator or a wire jumper.
To summarize the population of the voltage regulators and ICs:
The pard labeled: U1 is always installed.
The part labeled: Q1 is always installed.
The part labeled: IC1 is installed if you are running 12V Pixel strings
The part labeled: IC1 is NOT installed if you are running 5V Pixel strings AND you must place a jumper in its place as noted on the board.
Click Here to see the schematic:
Errata
The initial board run has one small error.
There is an unwanted trace on the back of the board that connects the right most pin of part C5 to the ground backplane that covers the bottom of the board.
This unwanted trace should have been placed on the left most pin of C5.
All boards sent out, have had this unwanted trace scraped off the board.
So, the end user doesn't need to do anything to fix this error.
Due to this error, the capacitor for C5 must be mounted using the middle and right most holes only. The left most hole is not connected to anything.
This may cause a problem if your C5 capacitor has 5mm spaced leads. In this case, you would
Programming the ESP-01 Module
The heart and soul of the pixel stick variants is the firmware that runs on the the ESP-01 module. Work has been done to consolidate to one common set of code.
Shelby Merrick is the keeper (and key cook & bottle washer) of this code. He keeps the current release of code on his github page. You can find that here: Pixel Stick Software
As of 10/30/2017, the current release was version: 3.0
For Shelby's v3.0 release, there is a Java Flash Tool that you run, enter your SSID and PSK for your wireless network, Pixel, the correct COM port and Upload.
Here is a posting by PCpackrat that describes his experience: NOTE: the most current info is at the github webpage noted below...
this can also be found at this DIYC posting #122 in this thread: Info Thread
The firmware is here: https://github.com/forkineye/ESPixelStick
Read through the README.md dont skim like I did. There is a part (gulp) that requires java to 'zip' up the web site information. I just did that part in linux and then copied the files into the data/www folder in the ESPixelStick folder.
Install the prerequisites in README.md
Pay careful attention to the Arduino for ESP8288 version (2.40-rc1). You will have to choose this branch for download.
My short and dirty TL;DR and things I missed:
Modify ssid and passphrase at the top of ESPixelStick.ino
Under Tools: Choose your board as Generic ESP8266 Module Flash Size should be 1M (128K SPIFFS) CPU Frequency 160 MHz Upload Speed 115200
Power the unit with the button pressed
Upload the firmware
Remove power from the unit and replug again with the button pressed.
Go to Tools and then ESP8266 Sketch data upload (serial monitor has to be closed for this)
Pictures of built Pixel Pops boards
user kev in California uses Snapple bottles to build a water resistant enclosure for 5 cents
Steven Dill uses a Pixel Pops Tiny board enclosed in 1" thin wall PCV to control the coro star on a mega tree.