An epic tail of fail, where my original plan went totally off the rails and I ended up with something that looks cheap and nasty.
I needed PCB trays to keep boards organised during the production process, so I laser-cut a simple design.
The trays used by professional PCB assemblers are usually made from static-dissipative material that can also withstand immersion in an ultrasonic bath. My design isn’t intended as a replacement for those, but just as a handy way for hobbyists to keep small batches of boards organised on the workbench or shelves. This is much better than stacking populated PCBs on top of each other because it saves the parts and boards being scratched or damaged.
The source files for this project have been published at https://github.com/jonoxer/PCB-Tray
The Fusion360 file includes parameters so that you can tune the material thickness and the slot size to suit your own requirements. There is also a parameter for board width, but it’s broken at the moment.
DXFs have also been included, for 3mm MDF and 2mm PCB slots.
I’m taking a big leap and paying to have SuperHouse boards produced in a factory, which costs a lot of money up front but hopefully will give me more time to work on videos. It also means that some products will now have awesome retail packaging.
I’m also clearing space in my lab by giving my Patreon supporters access to a special secret section of my online store, where they can buy clearance items for not much more than the cost of postage. To make this happen, the online store now has a password-protected category called “Members Only”. Patreon supporters will receive passwords from time to time, giving access to special discounted products that only they can see.
If you don’t put USB on your project, you have to decide on a programming header to use. But everyone does it their own way: Sonoff has theirs, wESP32 has another, many projects have them and they’re all different!
That sucks, so let’s fix it by deciding what we think should be the conventional programming header format for our projects.
My goals are:
- Define a convention for programming headers on ESP8285, ESP8266, and ESP32 boards.
- Use that header in our own projects, so that it becomes common and interchangeable.
- Lobby ITEAD to use the same header in future Sonoff models.
And the stretch goal: Convince Espressif to document it as a recommended header format for new ESPxx projects.
If we’re super-lucky, maybe we can convince ITEAD to fix the incomplete Sonoff programming header by adding RESET and GPIO0, and make all our lives easier in future.
Places to discuss this
- Sonoff programming header usage guide
- wESP32-Prog by Patrick Van Oosterwijck
- ESProg by iohippo
- ESProg by me
- ESP32 Programmer by Mike Rankin
- A different ESP32 / ESP8266 Programmer by Mike Rankin
- ESP Prog by Espressif
We need to decide on a physical format, and also whether to supply 3.3V or 5V to the target board from the programmer. The pins we need are:
Physical format options include:
- 1×6 0.1″ header
- 2×3 0.1″ header
- 1×6 2mm header
- 2×3 2mm header
- Something else? Ideas please!
The design considerations for the physical format include:
- Similarity to existing designs including Sonoff, wESP32, ESProg, and ESP32 Programmer
- Cheap and easy to use, with easy to source connectors
- Small footprint on the target device
- Perhaps leverage some existing standard such as P-MOD
- Ability to mount permanently as a sub-board in the project if required
Considerations for the choice of 3.3V or 5V include:
- Sonoff already requires 3.3V on the header
- 5V can be useful in some cases
- Switchable voltage would be possible, but could be dangerous and would lead to fragmentation of the convention
- Connection of programmer directly to VCC on target, compared to input of onboard 3.3V VREG
This has the advantage that it’s well documented, and many people have made adapters for it.
Already implemented on the wEPS32. 5V supply means the input can be diode-isolated from other supply sources on the board. 4 of the pins match the Sonoff header, except that Sonoff requires 3.3V so it’s not a perfect match.
wESP32-Prog header, but with 3.3V
This is the closest we could have to matching the Sonoff header while extending it to add the GPIO0 and RESET lines.
Documented by Espressif. Uses a 2×3 header, which is nice in terms of compact size. Unfortunately there’s no useful overlap with the ESP-01 header.
Doesn’t seem to match up with anything else in terms of pin order, but is perhaps the closest match electrically in a 1×6 format: all the necessary pins, with 3.3V supplied.
ESP32 Programmer by Mike Rankin
Nice 2×3 format header. If power was added this would be a nice format, but it doesn’t have anything to differentiate it from the ESP-Prog format from Espressif.
Other ESP32 Programmer by Mike Rankin
This one has a 1×5 header, which has all the pins we want except power.
I’ve resisted for ages, so viewer Lorenzo took matters into his own hands and set up a Discord server for SuperHouse 🙂
Within 24 hours of being announced, there are now more than 200 people on the server! To join the discussion about SuperHouse projects, home automation, MQTT, Home Assistant, OpenHAB, Tasmota, and many other things, go to this link for an invitation:
Is it true that DIY electrical work can invalidate your home insurance policy? Can you go to prison for replacing the plug on a power board?
In Australia: yes. With the harshest restrictions in the world, Australian regulations don’t let you do anything unless you complete a 4 year apprenticeship, complete some certifications, and become a licensed electrician. It doesn’t matter that I’ve designed satellite payloads and that products I’ve designed have had more than a million units manufactured. Without completing a 4 year apprenticeship, there is no legal path for me to become certified to replace the plug on a power board.
And to top it off, clauses in your insurance policy that don’t seem to have anything to do with electrical safety can allow your insurer to refuse any claims that could be related to DIY electrical work.
If you’re into home automation, check out Rob’s YouTube channel, The Hook Up.
I finally, FINALLY, got around to putting the parts for my home automation light switches up on the new SuperHouse online store. I thought it would be easy: just put up four products, with 1, 2, 3, or 4 buttons. But then I realised that Australian wall plates don’t suit many people, so I have to make them available as kits to fit into different types of wall plates. Then I realised that people may want different colour buttons, so I have to separate the breakouts from the buttons.
So it got complicated.
For all the details see the light switch page.
I’m in China visiting electronics parts suppliers and factories as part of the HardworX Shenzhen Innovation Tour, but today I left the famous Huaqiangbei electronics markets to spend some time at Maker Faire Shenzhen, the second largest Maker Faire in the world. This video shows a few of the makers exhibiting their projects. The faire itself stretches across a huge area and uses many buildings, and the basketball courts shown in this video are just one tiny corner of the event.
I’m finally taking the step of adding an online store to the SuperHouse site to make it easier to share parts for my projects. I often have people ask where they can buy boards I’ve designed for the projects in SuperHouse, so now I’ll be able to list them for sale.
I get the same comment over and over again about my home automation system: “Why didn’t you just put an ESP8266 in it and use WiFi? You’re living in the past! Wires make it so hard!”
Not so fast, my friend. This video explains why in many situations, wires beat wireless.