I built something like this but more special-purpose. It just switches a USB-A power source on/off. I wanted it to control my 5-volt fish-tank lights. I didn't want to use a 120VAC smart switch for each light because I prefer to use a single USB hub to power them all, and a bonus feature was being able to PWM the lights so the fish aren't freaked out when the lights suddenly turn on 100% in the morning.
I ordered PCBs from JLCPCB and components from LCSC. I think each one cost around $5 in parts, and I hand-assemble them as I need more around the house.
I’ve been looking at something like this myself, did you use RGB, RGBW, RGBWW, RGBCCT or what to dynamically set the warmth of the light? I got really confused when I started looking into all these different types
I used rgb but would like to try RGBW in the future because to get bright white on the current strip it consumes about 60 mA (@5v) per led. That's 20 mA for R, G, and B.
I have two rows of 32 lights, so a beefy supply was needed along with a few places where VIN was fed to the strip.
For the software part, WLED [0] really does just about anything you’d want to do with those led strips.
I drive the wemos d1 and led’s from a 12V battery with a 12-5V stepdown converter. I attach the 5V to the esp and the led’s. The 3.3V logic level works on the first led and is repeated at 5V to all subsequent led’s.
My assumption was the each individual led chip will re-transmit the signal to the next led, which in effect will turn the 3.3v signal into a 5v signal between the 1st and subsequent leds.
The power lines do sustain voltage drop over longer sections, so you'll want to add extra power every few meters.
Haha, good point. I believe the ESP8266 default PWM frequency (via the Arduino library) is 1KHz, which is well above the ranges cited in the Wikipedia article for flicker fusion threshold across animal species. In my very limited testing, my fish didn't flee under plants as readily when the lights turned on more gently.
I am sure this is something will be able to answer:
I need to build a custom board for an ESP32 which should support low-power deep sleep and which should contain some additional circuitry (is that what you call it?) to drive an Eink display.
Basically this[1] board, but a different shape and better low-power sleep properties.
If I wanted to design this board myself, how long would it take to learn this? Are there good resources?
If I were to pay somebody to do design this, what order of magnitude would the cost be in?
If you are comfortable prototyping on a breadboard it shouldn't take long to produce the layout in KiCAD or a similar EDA tool.
Then you can order your PCB at a local shop, manufacture it yourself (with toner transfer, a CNC at a hackerspace, etc) provided the traces aren't too thin and there are not too many layers (1 is easy, 2 is standard and cheap, more layers are expensive), or order it from china at a relatively low price (jlpcb or seedstudio will average something like $1/apiece).
KiCAD is amazing, and it's all you'll need (apart from the prototype on the breadboard).
The trick to soldering is really to get a good iron, I underestimated it at the start but you really need something that keeps heat. Get a TS100 and set it to 320, soldering is going to be a breeze afterwards.
Remember, solder should flow easily and stick to the pads/wires, if it doesn't, it means you need to heat the thing up a bit more.
Okay, so now I know it’ll take between 5 years and one month :D
On the one hand, I have a bit of prior knowledge. On the other hand, I want a circuit with minimal power draw in ESP32 sleep mode and i’m afraid that does require some experience.
There are other microcontrollers capable of driving an eink display that consume a lot less power out-of-the-box. Eg: atmega328 (~5 μA deep sleep, ~10mA running)
If you want wifi, then ESP is probably a good and cheap fit. A wemos d1 in deep sleep doesn't consume _that_ much power (~80 μA), unfortunately it does draw a lot when booting (~200mA).
I assumed zero prior knowledge. I'm a pretty smart guy but I don't think I could go from zero to "designing an esp8266-compatible board that includes an e-ink display" in a month.
A good place to start would be reference schematics from Espressif for their dev boards, and schematics from open ESP32-based boards from other vendors. Check out esp32.com for a list of boards.
With those schematics and KiCAD, you should be pretty much set. Take an hour or so watching KiCAD tutorials, it'll be worth it.
Also, spring for an ESP32-WROVER-KIT and use it to prototype with a dev board. That kit also supports JTAG debugging, which can be quite handy.
Sure thing. By the way, I should have said esp32.net, not esp32.com. The latter is the official discussion board, but the former is an unofficial reference site that's incredibly useful.
Though it does look like the clearance/creepage distances on the PCB to the low-voltage ground plane are not any wider than 2mm or so, which is acceptable for 120VAC, but not acceptable for 240VAC per IPC9592.
I wouldn't worry about sticking this in an enclosure and using it to turn a light on and off, but I wouldn't want to be handling it while it was live, either!
Regarding FCC/UL certification, a product is exempt from FCC certification requirements if it's "A digital device used exclusively as industrial, commercial, or medical test equipment", which most development boards are. I've got some dev boards from Microchip on my bench right now which aren't FCC or UL listed, either.
> (k) Digital device. (Previously defined as a computing device). An unintentional radiator (device or system) that generates and uses timing signals or pulses at a rate in excess of 9,000 pulses (cycles) per second and uses digital
techniques; ...
This has Wi-Fi, so it's an intentional radiator, so it's not a digital device. I believe this product would be technically noncompliant if not certified, though lots of stuff like this gets sold and I've never heard of any enforcement action.
Their best counterargument would be that it's a component and not a self-contained product. That seems true for many dev boards but not particularly true for this one. Since the practical risk of interference is extremely low, I'd guess the FCC is happy to leave this grey for now.
Test and measurement supersedes intentional emission. If it were the other way no development boards would get sold, especially necessary things like low volume engineering samples. Should a one-off need certification before it can be transferred to the company that contracted the work to build it? No.
If you have never sought certification know that it is quite expensive.
What seems to matter the most is if anyone actually notices interference, and if they do how widely the device ended up being sold. If a test and measure product starts making it into everybody's house eyebrows will be raised.
If you misuse a test and measurement device and generate interference it is typically on you.
> Test and measurement supersedes intentional emission.
On what authority are you claiming this? The language LeifCarrotson quoted refers only to digital devices, and the language I quoted above says plainly that a digital device must be an unintentional radiator.
To be clear, I believe selling their dev board is fine, but it's fine in the same way that driving 60 mph in a 55 zone is fine. Anyone selling an intentional radiator dev board that could reasonably be considered to be a complete device in itself is taking a small risk of FCC action, especially if (as here) they're pushing the limits of "dev board". Note that the Raspberry Pi developers do seem to get certs.
My opinion comes from experience and getting things certified but also common sense and observing enforcement patterns (the latter of which is most important until they overstep and get challenged).
Go back to my example: Does a one-off product need to be certified to be transferred to the people that paid for it? Keep in mind, best case, this will add a roughly >$10k fixed cost to the sticker price.
It's a general principle in common law that the law makes sense. The popular, sophomoric, and extremely conservative interpretation of the FCC rules makes no sense by way of being extremely costly for no discernible benefit, either to the seller, the buyer, or the economy at large.
If it’s sold as a kit(eg. Devboard) or battery powered it doesn’t need to be certified. You also can get pre-certified boards, the wroom-02 being the pre-certified esp8266.
I've seen certified development boards also, but what most don't realize is you can't combine certified parts to make a certified product. So depending on your product there is literally no benefit to getting it certified.
There are things that are battery powered that need to be certified and things that are not kits that don't need to be, though, so I'm not sure I can agree with that wording.
And I'm responding again to note that I think I interpreted "kit" wrong. I was thinking "kit" as in § 15.23, which gives an exemption for stuff you build yourself but not stuff you build from kits.
But 47 CFR § 2.803 gives an exemption for "evaluation kits". I don't think that clearly covers boards used primarily as single-board computers (and not genuinely for evaluation), and I'd guess that's why the Pi developers got certs for their boards. I believe it's the best argument that this board wouldn't need certification (or verification), though.
I don't see any benefit in using an optocoupler. Using a transistor with flyback diode for protection is acceptable. Both the relay and ESP8266 are powered from the same 5V source, adding an optocoupler is not really isolating anything.
Sometimes it’s easier to deal with a combined part than two parts. It can reduce assembly costs for small volumes, or if the person doing the design is just familiar with the opto.
It would certainly appear to lack the FCC ID label/marking it is required to have if it is FCC certified. So probably not. Thus, it also appears doubtful whether it can legally be marketed or sold in the U.S.
IANAL, But I think device as-is can likely be sold and marketed perfectly fine. Test-kit and dev-kit stuff is regulated a bit differently under the assumption that it's not going to be in mass use, and also that it's likely going to be used to develop another product that will get the fcc certification.
The link you provided appears to say the opposite about kits:
"Based on the definition above, it looks clear that non-authorized kits that are intended to form a complete product when fully constructed are technically not legally permitted to be sold in the US. That is because if you are marketing and selling a kit to an end user, which the user will then build into a full product, there is no reason to suspect that the normal rules would not apply."
The subassembly rules could work, if they apply, but I don't see how this product fits the definition of a sub-assembly:
"No authorization is required for a peripheral device or a subassembly that is sold to an equipment manufacturer for further fabrication."
In fact, I think it's a stretch to say that any of these test-kit, dev equipment, or subassembly rules apply. This basically strikes me as being marketed as a consumer product -- albeit a product for very tech savvy consumers.
A search for "Malouf" on the FCC registration website provided no matches. Most likely this product is not registered.
In addition, this product lacks a CE mark and has no UL/FM/CSA listing. I'm curious what creepage/clearance requirements were factor into the design. This product is potentially dangerous if the relay is switching line voltage.
This is the exact reason why I didn't see through my plan to build and sell the EspUSB (a very small ESP board that fits inside a USB-A port).
I got 3 units built for myself by PCBWay at a cost of $77. I got quotes of ~$500 for 100 units from Elecrow and Makerfabs, but didn't know what to do with the other 90.
Although I really want this great little gadget to be easily available, I can't afford $10,000 for FCC certification, and therefore I have no solution.
If anybody wants more details, email espusb@gmail.com and we can chat about it on there.
There are various exemptions for subassemblies and other non-end-user products. Those may not always apply. However, in practice, a product that's sold in small quantities and does not in fact emit egregious electromagnetic interference is unlikely to attract enforcement attention. So a fair bit of skirting of the rules does go on.
Based on the PAL project and WiFi capability, I think the ESP8266 does emit electromagnetic radiation. Whether it's interference or a feature depends on your perspective.
One way to deal with high voltage is to use an external hockey puck solid state relay. Keeps the high voltage off the PCB and you don't have the kick from the relay coil finding it's way into the digital logic.
Who has used RS232 voltage for serial in the last 10 years? I'd rather a few MOSFETs to cut the power to everything for lower power. I guess there is a specific market for this and it is not me. I have at least 20 of Esp8266 and esp32 boards around the house. A bit of fun to design and produce though. I would not bother with the ESP8266 anymore considering the marginal cost of the esp32 and it is a much better device, learnt from their mistakes. The new one with on chip USB looks great too.
Haha, we built this internally to use with Axiom scanners in our fulfillment centers which use RS232 interface, those scanners are 20 years old.
I convinced my boss to let me sell these as open source since we found many cool IOT uses for them around the office as well, that's why you are getting the RS232 on there but most people probably will not need that feature, but hey... it is there if you need it :)
It's a reflection on a great workplace culture to share like this. It's not the board for me, but nice you released it anyway. When those MAX232 chips came out many years ago they blew our minds having the charge pump for the negative voltage. Too bad we could never buy them at the time a the lead time was so long.
Yeah, I'm regretting getting the esp8266 not knowing of the esp32. Besides being a better device for basically the same price, it has better tooling from espressif.
I have the opposite experience. Sure, if you just need to adapt their examples a bit, it's quite smooth. But the documentation is horrendous! If you need to do anything non-trivial that isn't covered by examples, I found it very very hard to work with. The documentation barely exists and is written in poor English. Compare this to the documentation for ARM SDKs, for example! Night and day.
I was comparing the Esp-idf to the Arduino libraries! The documentation isn't too bad, it's quite lengthy. The examples, tutorials online, and github issues in the idf repo help a lot too since the documentation doesn't dive into code examples too well.
No the ESP32 uses less power. In deep sleep it uses about a quarter of the current. It also has an extra low power processor (ULP) core than can run in a sleep state and do IO without even waking up the Tensalica cores. The ESP32-S2 actually has a Risk-V core that runs as a ULP. As I said, it's better in every way.
I recently created a board for the nrf8001 Bluetooth low energy chip. I see your antenna section isn't fully open since that LED is in the way, have you considered rearranging things so that PCB antenna has an unobstructed path on the left and right sides?
Charles Lohr has done some neat projects with this board. Recently he made this post and I've never thought about this level of hand-holding interaction with the silicon itself.
Yeah the antenna footprint is actually that one provided by ti. I had created a footprint from that pdf but then I found a kicad footprint somewhere that looked a little nicer than my rudimentary skills. This was my first design with an antenna and I am certainly not a good rf engineer. I'd appreciate any tips and feed back.
Lots of things. The original design for this chip was to have a serial to WiFi bridge. I use one of these as exactly that: a WiFi connected serial console for one of my home servers so I can get into it even if for some reason it isn’t on the network.
But you can also do so much more: these chips have lots of GPIO pins so you could control anything that an Arduino or another microcontroller can control such as relays, displays, temperature/humidity/proximity/etc. sensors, LED strips, motors, heaters, and so on. But the kicker is that with built in WiFi so you can natively get it online. A lot of smart lights now have these chips in them for example and you could make your own. Or your own internet connected green house with vents you can open/close and sensor readings for temperature and humidity in the air and the soil. Or an RC car you control from your phone. Or shades that open and close based on time of day. Or a garage door opener. Basically if you need a gadget you control over a network, these probably should be your first potential solution. They are low power and physically small compared to something like Raspberry Pi’s or other single board computers and more powerful than Arduinos.
Given all the air quality issues in CA right now, I've been planning to put together an air quality + temp + humidity sensor that I can run off a battery and connect to my wifi. I already bought the sensors which I have connected to a Raspberry Pi just to play around with them, but of course a RPi won't last long on a battery. I really want something I can just toss in the corner of a room and easily move around.
I've mostly been looking at the ESP32, though (newer, also has bluetooth and 2 cores, and is lower power), and some of the ARM Cortex-M-based microcontrollers.
As the device has onboard WiFi I can poll a remote site to get data and display it, updating every few minutes. I use that to show the next departure-times at the tram-stop round the corner from my house.
Sure I could use an app, or even walk there and wait, but it's nice to know when to leave - especially in winter-time!
Get an Arduino starter kit and start hacking on some little project around the house. With a bit of persistence, C/C++ is not so difficult to become productive coming from almost any other language. And with the help of platformio's [1] CLI tooling it makes uploading and debugging your code on chips like the ESP8266 (or ESP32 or Arduino) pretty straight forward. Then of course there are the actual physical pieces of hardware, wires, circuits, components, etc. It's a whole new world in which to learn and break stuff. Good luck!
So much this.
You can tie in to Home Assistant quite easily. You can then make all sorts of things. Buttons to turn things on, screens to show data from Home Assistant, measure things (distance, door open/closed state, humidity, light/dark, weight etc). The sensors are nearly all really inexpensive and seem to be pretty accurate. From knowing nothing to having something functional working takes a few hours. It’s great fun and anything with lights and sound gets kids involved very easily.
Fun looking little board. Great to see people sharing these things!
It makes me wonder if there’s interest in more of these type ofESP* dev kit boards. One I haven’t seen is one with just Ethernet PHY but no Ethernet jack/magnetics. It’s been useful in my designs to have a ETH+/- that can be brought out to various Ethernet / PoE setups. Something like the wESP32 is handy for kits but not for integration.
Cnohlr did just this, although he strongly suggests using proper interfacing, but having the bare signal wires at hand can be useful for chip to chip communications on the same board. One could build a board with N ESP chips then connect them directly by daisy chaining their TX and RX pins, that is, passing packets in circle, or behind an Ethernet switch chip, de facto creating a board level local network. Might be interesting for some applications.
the wifi stack onthe esp8266 is a mess. it also does not support the latest espressif sdk. so you should buy an esp32 module and dont bother with this. ( the price is 3 bucks instead of 20)
The biggest/best reason I know for using ESP8266 is the integrated WiFi module, but it seems that this doesn’t expose that or at least capitalize on it, which gives little incentive to use this over something like the Teensy.
Is there any intention to add WiFi support to the dev kit?
It appears that there is an antenna on the PCB so I believe WiFi is supported here. Outside of that, the ESP8266 is a pretty nifty CPU itself. Depending on what you want to do, a Teensy might be what you want. The ESP chips do not have an FPU for example.
I have an interest in electronics and would call myself a "maker" (well, I have a growing box filled with various arduinos and microcontrollers)... but after scouring the repo and the website, I can't figure out what this is, or what I could do with it!
What is an "ESP8266 board"? Is that something that is so common it doesn't need explaining? Of course I will google it [and probably buy one], but just pointing out that it's not very clear from the website!
[EDIT: ok, after 10 minutes of googlin', it seems no one will explain what it is - it's just "an esp8266 system on a chip". It must be the first rule of ESP8266 club...]
Esp8266 is a microcontroller which is incredibly popular in the maker/hacker movement for it's low cost and wifi integration. You can add a relay to this microcontroller and put it on your wifi network and use it to switch appliances on/off from the internet quite easily. If you read hackaday, you'll run into esp8266 projects regularly.
It's a bit harder to get started with than your average arduino project. If you want, you can use the Arduino IDE which hides a lot of the complexities. But the docs from espressif are aimed more at the firmware engineer crowd, so if you want to get serious there's more of a learning curve (IE nvflash partitions, understanding what a bootloader is, etc). Also, you'll probably end up getting into freertos at some point, which further complicates things. But it's a super great module for home projects.
The esp-32 is a newer chip which is similar but adds bluetooth. In general you're better off going with esp-32 nowadays -- it's got a second core as well.
Until recently the only thing missing was USB (though there were bit-banged USB implementations!). But now there's an esp-32 with USB too, so really for the cost, the features are unparalleled.
If you're okay with things not being as polished as the Arduino experience (you might have to learn "real" firmware programming), it's really the best starting choice for your side projects.
My info is 5+ years old at this point, but when I last looked into the ESP8266 they were the de-facto easiest/best way to add Wifi to your microcontroller. I have an older ESP8266 board that i used to create a tiny server and tweet stuff for me.
The older board didn't have integrated USB, which made the dev process annoying.
The second result on Google for "ESP8266" is the Wikipedia page, which clearly elaborates what it is.
It's a basic 32bit RISC microcontroller, generally running at 80MHz, with built-in WiFi support. They're often available as modules with either a pin header or castelated edges for surface mounting.
They are supported on the Arduino platform and Platformio.org, as well as some other platforms. They've become quite popular due to their low cost (often available for under $10 at individual quantities) and the fact that they include wifi.
I mean, it's another ESP8266 based board with a bunch of GPIO and a relay that looks like it's meant to switch line voltage. It's handy but absolutely not revolutionary.
I ordered PCBs from JLCPCB and components from LCSC. I think each one cost around $5 in parts, and I hand-assemble them as I need more around the house.
https://github.com/sowbug/smart-usb-switch
Picture: https://raw.githubusercontent.com/sowbug/smart-usb-switch/ma...