Pops-O-Matic ESP Programmer: Difference between revisions

From doityourselfchristmas.com
Jump to navigation Jump to search
Line 86: Line 86:
Click Here to see the schematic:
Click Here to see the schematic:


== Wiring The ESPixel Pops ==
== Errata ==
[[Image:Pixel_pops_tiny_built_by_Steven_Dill.jpg|right|small]]
[[Image:Pixel_pops_tiny_built_by_Steven_Dill.jpg|right|small]]
[[Image:Pixel_pops_tiny_with_radio_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>


'''A Key Point Regarding Power'''<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.
The power supply you use must match the voltage requirement of your pixels.<br>
<br>
So, if you run 5V pixels, you must have a 5V PS.  Same is true for 12V pixels.<br>
This may cause a problem if your C5 capacitor has 5mm spaced leads. In this case, you would
If you accidentally use a 12V power supply on 5V pixels, you will damage your pixels, perhaps to the extent of destroying the entire string.
 
 
 
Along the bottom of the board are 5 connection points. (as viewed from the top...)<br>
The two on the left are for input power.<br>
The three on the right are for pixel connection.<br>
 
You can either solder on a terminal block or directly solder your wires to the board, or do a mix !<br>
The Terminal block has 3.81mm hole spacing. (The more common 5mm terminal blocks would have made the board too wide)<br>
 
One thing you have to decide is if you will power your pixels through the ESPixel Stick or directly to the Pixel string. (sometimes referenced as "power injection")<br>
It is possible to use the ESPixel Pops as an interface for just the data and run power to the pixels separately.<br>
This is a decision of personal preference and the fact the PCB traces can only handle so much power.<br>
Trial and error is your best approach.<br>


== Programming the ESP-01 Module ==
== Programming the ESP-01 Module ==

Revision as of 17:09, 7 January 2018

Version V2


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

small
small

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.