ESP-Link Board design - PCB Design Qs - Page 1
Forum section: electronics / projects

author: paw
author_rank: Contributor
timestamp: January 30, 2017, 01:02:32 am
content: Hi I'm looking for a bare PCB design/board to purchase. Did anyone see one anywhere?ESP link project sounds great. Convoluted yes but if it works then hey.https://github.com/jeelabs/esp-linkI threw a bunch of traces and pads together to give it a go. But I'd like to see if there is something else out there that is more sound and professional.Being a complete noob I am looking for hints, tips and warnings. I'm planing to work on this a bit more and order it from OSHPark. I'm attaching the PCB draft. I am intentionally omitting the schematic as it is not ready.

author: KhronX
author_rank: Frequent Contributor
timestamp: January 30, 2017, 01:09:18 am
content: The 3.3v trace at the NRF connector - you want that going through the cap first (so it can shuntawaythe ripple and noise,beforeit reaches the load)Actually, that's the first one i noticed, but now i saw the same deal for the ESP connector (or, well, pad-set) as well.If anything, you'll want to branch out the 3.3v line, starting from the output of the DC-DC converter, not tapping off it, like a water pipe.

author: paw
author_rank: Contributor
timestamp: January 30, 2017, 01:13:09 am
content: 1. Ha. Of course.2. Can you point me as to why should I not branch the power lines? Is that for them to not share the resistance (voltage drop)?

author: paw
author_rank: Contributor
timestamp: January 30, 2017, 01:56:44 am
content: Thanks for your suggestions. I've separated the power traces, improved decoupling connection on esp and nrf. Also added decoupling cap on the output of the buck. Anyone see any other issues or is aware of esp-link board out there?

author: krho
author_rank: Regular Contributor
timestamp: January 30, 2017, 04:13:05 pm
content: Get rid of ESP12 module and Arduino mini. Replace both with ESP32-WROOM-32 module.Or Just get rid of Arduino mini.Official Arduino support for WROOM-32 module is available. And I think that unofficial one for ESP12.

author: paw
author_rank: Contributor
timestamp: January 30, 2017, 04:31:53 pm
content: I expected this suggestion. I fully appreciate your opinion but how about the below?Solution stability: My concern is rock solid and beyond audible range PWM (>22kHz) locked across 3 channels over many hours.Cost: I managed to get one module at ~$20 (waiting on the bench for its turn). Not quite as enticing as I'd need 15 of them.Existing strong community support: until time passes, price goes down, availability increases it is in short supply.Integration: Wifi is not viable for controlling many devices in a synchronous mode (consistent <10ms delay between devices). I can't have single lamps turning on and off with 1-3 sec delay (or whatever the ESP/network decides). My Wifi is as good as it gets and still the depending on conditions, devices entering low power state etc. I get inconsistent behaviour (noticeable delay 10-500ms and more). I don't want to turn my place into a christmas tree. This is why I use extremely lightweight nrf24 with very simple AES protected protocol. I am not up to integrating nrf24 with esp32 just yet.In other words it is not ready for prime time for me. If I wanted something that works I'd get (more of) Philips HUE. I want something that works every single time and is relatively easy to improve/tinker with to get even better results.And to clarify the ESP in there is for remote programming and possible third party network level integrations basically for some future proofing not for realtime operation. ESP-Link allows me to update both remotely Arduino and ESP which is ideal.If it's significantly worse than physical switch in terms of reliability then there is no point.

author: krho
author_rank: Regular Contributor
timestamp: January 30, 2017, 05:09:50 pm
content: ESP32 has two cores! So you can bind all WiFi stuff to core1 and you have core0 available for your application.Also You can't beat 2x240MHz

author: paw
author_rank: Contributor
timestamp: January 30, 2017, 05:21:01 pm
content: Don't get me wrong I know ESP32 is the future of connected devices (DIY) and mine too but the future is not here yet (not for me and not for 6 months at least).P.S. Xenophobia speaking: Does any one know what the visibility of the ESP core firmware internals is? With devices like ESP8266 and ESP32 a completely new attack surface opens up. You can try to vlan or subnet them away, create mac based FW rules for LAN and WAN, physically isolate the network and still get royally shafted.I need to get really competent before I let a swarm of them in.

author: bktemp
author_rank: Super Contributor
timestamp: January 30, 2017, 05:27:12 pm
content: The mosfet driver isn't the best design: ZXGD3009 does not do any level shifter, it only acts as a buffer for increasing the drive current, dropping 0.6V on its BJTs.So when using 3.3V input voltage the voltage at the mosfet gate is only 2.7V! That is rather low, even for logic level mosfets.

author: paw
author_rank: Contributor
timestamp: January 30, 2017, 05:33:08 pm
content: Writing from my mobile now but the driver is supplied with pre buck supply (in my case 12v). Or so I think. Will check when I get home.

author: bktemp
author_rank: Super Contributor
timestamp: January 30, 2017, 05:37:57 pm
content: Even with a higher supply voltage, the gate driver does not increase the voltage: It consists of a complementary emitter follower.So you need to either increase the input voltage going into the driver or use a mosfet driver with logic input and level shifting.

author: paw
author_rank: Contributor
timestamp: January 30, 2017, 06:45:17 pm
content: Wow how lame of me! Thank you so much I completely missed this.Perhaps the MCP1401 with TTL high at 2.4v? Still close.I don't know how to amplify the voltage and still be able to produce >10mA input current to the driver (ZXGD3009). The Microchip one (MCP1401) seems to require much less current (1uA) being a TTL driver.

author: paw
author_rank: Contributor
timestamp: February 01, 2017, 11:51:10 pm
content: I've replaced the emitter follower driver with TTL one (MCP1416). Broken out few more atmega pins.I will appreciate any further comments.Many thanks!

author: yngndrw
author_rank: Regular Contributor
timestamp: February 02, 2017, 01:01:22 pm
content: Quote from: KhronX on January 30, 2017, 01:09:18 amQuote from: blueskull on January 30, 2017, 01:23:12 amQuestion: Wouldn't he be better off with the 3.3V rail as a power-plane top-layer fill and localised decoupling capacitors rather than this branching layout that you've both suggested ? I've seen kelvin grounds separating sensitive circuits and split planes separating high-current areas from logic areas before, but have never seen this sort of branching on a circuit like this.paw: You have a lot of test top-layer pads placed around, but you may be better served using through hole pads for this purpose. This way, you can mount pins for easier probing. Also the ground connection for the DC-DC converter should probably just use individual vias to the bottom layer rather than the thin trace you have between the converter, capacitor and the single via. You may also want to consider a larger copper area and some vias through to the back for the MOSFETs, for cooling purposes.

author: yngndrw
author_rank: Regular Contributor
timestamp: February 02, 2017, 09:16:48 pm
content: Quote from: blueskull on February 02, 2017, 01:41:18 pmFair point about the lack of space on a 2 layer board, but I think he can make it work nicely on this board if some of the capacitors / resistors around the DC to DC converter are moved up.

author: DBecker
author_rank: Frequent Contributor
timestamp: February 03, 2017, 09:10:00 pm
content: A comment on the ZXGD drivers for the archive.They are much less of a gate driver than the name suggests. They are simply a pair of bipolar transistors.They are best used as a "post gate driver" when you are using a bank of power MOSFETs or IGBTs. Use a single real gate driver to provide the amplification from logic level, and an individual ZXGD (with capacitor) at each device to drive the gate. The emitter-follower design keeps mismatched devices in sync, even with voltage gradients on a bus bar.

author: paw
author_rank: Contributor
timestamp: February 04, 2017, 04:03:33 pm
content: I'm going to order the board (my first ever).I've considered:1. $40 for 3 pieces - OSHpark2. $12 for 10 pieces -https://www.elecrow.com/services/10pcs-2-layer-pcb.html3. $25 for 12 pieces -https://www.itead.cc/open-pcb/pcb-prototyping/2layer-green-pcb-5cm-x-10cm-max.htmlI've decided to give elecrow a try (for obvious reasons) which is why the gerber files broadly follow their directions.Does anyone have any experience with these?Any "last" comments before I sent the designs off?I will come back here once I receive the boards and test them. I expect for them to not work/properly/be stable so I will learn from my mistakes, implement corrections ask more questions.