SPPBL version 2.0
Version 2.0 has taken on a life of its own. It is also my biggest most complete project to date. It is kind of cool to see all those little bits and pieces start to come together. It started out with moving from a breadboard, to a too quickly done version 1, version 1.5 on the way, and the end game(?). I thought it would be best to share the details I have found so far. It is quite a journey so far. I keep on asking questions to refine and make sure things work the first time out of the gate instead of the third. I am going to edit and add some content to the original posting so even if you have read it before it will be worth checking out.
Links to all of the data sheets I use for this project are listed at the end.
While working through version 1.5, I started to pull out another idea and meld it with this one, SWPBL version 2.0. I have wanted to create a development board from the ground up. No reason really, I have plenty of pre-assembled, but for the knowledge and to say I can I guess. And I ordered 5 12-E modules a few months ago and have been looking for just such a project to use them on. I have a pretty solid start, but instead of random notes scattered across a page with a PCB taped to it, I took a little more neat approach and it makes a nice list I can check off as I meet the requirements.
Additional Goals for version 2.0
The first data sheet I grabbed was the data sheet for the ESP8266 12-E and started to study about this wonderful little chip. I found a great reference for what pins are best used for operation of the 12-E. There are also the Reset and Flash buttons included. I am waffling on the idea of adding LEDs anywhere on the board as it will be in a box, but it could prove useful in trouble shooting the board should a problem arise. Between the data sheet and the Arduino Core document, I started with the list of pins needed for operation and stability. They include: Reset, CH_PD, and GPIO0 are pulled high. GPIO15 is pulled low. I have tactical switches to ground on the Reset pin for Reset, and on GPIO0 for Flash functions.
Which had my mind wandering as to how pull-up and -down resistors are calculated. I am not an engineer by trade, but like to play one at night; so that means I learn on the go. To date I have just relied on what an example schematic shows, not really knowing the exact how and why. Now it is time to do a little math and figure out the why. I found this electronics tutorial very helpful and informative. And it know makes much more sense and not just some part to pick from the bin ‘cause it says to.
I also round myself pondering the question of using a ground plane versus ground traces as I have been. It seems as though the ground plane is the way to go for most if not all projects. This will make the PCB design easier. Coming from a visual sense it was easiest to draw the lines connecting everything.
I started to build a simple FDTI interface for programming, but naw, that just didn’t sit very well with me as I thought USB would be best for ease of use. Here I found the CH330N. Many of you may be familiar with the CH340 family which powers many of dev board and device. The 330 is just its little brother. It is cheap. I wound up ordering 50 from lcdc.com and they were $0.40 per chip, shipping included. Easy to add to my project. It is a small package for soldering. You will notice that most of what I have done it with through-hole parts. I am going to take a stab at the smaller sizes now. I have a new soldering tip for the Hakko on order just for this process.
A question came up early as I was integrating the CH330 into my design, is what to do with the USB power? My project is not powered through USB, this will be used for programming purposes (at least for the time being). So what to do with the 5v? Just drop it or does the CH330N expect it? The data sheet didn’t make it real clear. My thought was to just drop the 5v, keep the ground, and power the CH330N with the 3.3V bus; I just wasn’t too sure. With a little more digging I would a great write up over at Hackaday called CH330N 33¢ USB to UART – info and application(s). He posed the same question and confirmed my thesis in his write-up. I will give an update when the first boards come in. The chips just came in today. Wow, they do look a heck of a lot smaller in person than the picture, but that is ok, I am up for the challenge. I am going to see if I can find a board with some smd pads so I can practice on a couple before the real boards come in.
Here is the progress of version 2.0 right now. All of the electrical checks worked out so now I am working on how to lay everything out. Since I am using the bare ESP8266 module, I am doing some extra reading to make sure the power and such don’t interfere with the wireless. The wireless world is hard enough to live in these days as it is a crowded space and don’t want to handicap my device.
SPPBL schematic version 2.0
For the prototype I used an old battery pack case for a Black and Decker tool. It was original used for some Christmas lights I had put up a couple of years ago. I am pretty sure this is one of the projects that was wiped when my site blew up, I will try and recreate it. It worked well then and fit everything perfectly for this application, a prototype.
For version 2.0 I would like a proper case. I am currently looking at pre-made cases as that may be the most practical. I have played around with 3D modeling software but not comfortable enough to generate a custom case. If I had a 3D printer I might try it, but since I don’t prints that don’t work get really expensive.
Datasheets used through out this process.
ESP8266 12-E Datasheet, Espressif – The heart of the project
ESP8266 – Hardware design, Espressif – A guide for using the ESP8266 in hardware designs.
ESP8266 12-E – a good reference. ESP8266 Arduino Core
CH330N – USB to UART chip a local Google translation copy
CH330N info and applications – Hackaday reference, VERY informative.
TI 74AHC125 – Quad Logic Lever Shifter
TI LM1117T-3.3 Datasheet – Just the facts mama.
© 2019, wrightmac. All rights reserved.
No tags for this post.