Second production run

A project log for wESP32: Wired ESP32 with Ethernet and PoE

A low cost ESP32 core board with Ethernet and PoE for convenient "single cable" deployments

Patrick Van OosterwijckPatrick Van Oosterwijck 05/10/2019 at 18:364 Comments

"Silicognition" PMS150C-559

As mentioned in the last update, I ordered factory programmed Padauk PMS150C-U06 chips from Sino-Mos to provide a reliable reset for the PHY chip on every board.

I expected everything to be OK with them, but you never know 100% for sure if everything was understood correctly when dealing with China, until you actually have something in-hand. For one thing, I was relieved that they had indeed re-reeled them. It would have been a big bummer if I would have received a bag of loose SOT-23’s. :)

Then I had to make sure they were indeed programmed. So I reworked another 12 boards from the first batch that didn’t initialize the PHY correctly with chips from one of these reels, and after rework they all work flawlessly!

Getting these chips has actually been a smoother experience than I had expected. It’s kind of cool to now have a low-cost custom chip that does exactly what I want it to do, with its own partnumber and everything. PMS150C-559 is now forever an “ESP32 Ethernet PHY reset manager”. Maybe I should write a datasheet for it. :)

Also, since I have 9,000 of them, I can definitely spare some if anyone is making their own ESP32 board with Ethernet and wants a canned solution to deal with the LAN8720A PHY reset. There’s an updated schematic that shows how the chip is used on the new wESP32 revision. So get in touch if you want to buy some.

Rev 3 PCBs

I took a little risk and ordered new PCB panels that use the PMS150C-559 before I had verified the factory programmed chips. But it had all been taking much longer than expected already and some backers have been wondering when they’d receive their reward, so I tried to recoup some time that way.

Having everything in-house I made a kit to send to a CM I was going to try in Mexico.  That's when things started to go really sideways.

The scourge that is customs

The first customs issue I ran into: how to do the paperwork correctly. This was going into Mexico temporarily just to have it assembled and then it was coming right back to the US. I sought advice from the CM and a local export company, and yes, I received information on some generalities, but no one really gave me any concrete answers on what codes to use, exemptions to claim or checkboxes to tick. So after wasting almost a week waiting for guidance I gave up and shipped the box with the documentation as good as I could figure it. I marked the shipment with the AES 30.37(q) to indicate a temporary export that would be returned within a year. Whether that is correct or not I don’t know. Nobody had told me what to do and it seemed the right thing to do.

DHL got the box to Mexico after 4 days or so. Then the trouble started. First they claimed they couldn’t contact the CM at the telephone number I had been given and had put on the forms. They wouldn’t tell me why they needed to contact them. DHL was giving me options like “we can send your package back, or send it somewhere else for an extra charge, or we can destroy it for you (!)”. This nonsense took a week or so, a week of anxious freaking out for me. Then after wasting what they must have deemed sufficient time, they somehow did manage to get in touch with them and supposedly needed a tax ID from me. I run a passthrough LLC and certainly wasn’t going to give them my SSN! That sort of blew over after some work done by the CM and then they found that the contents of the box didn’t match the PI I had included. This was partially my fault: I had based the PI on the BOM, but even though neither me nor the CM cares about the exact part number of a reel of resistors, of course customs paper pushers do. I also had included some full and partial reels in the kit and amounts on the PI didn’t match. I really didn’t think anyone cared just how many parts were left on a partial reel, but of course they did.

What a joke. None of it should have mattered of course. The parts are temporarily exported and will be sent back to the US again. But, that’s not how they see it apparently. They just wanted to drive up the value to get the maximum amount to slap import tax on. After wasting more than 3 weeks I finally received word that the CM had received the parts. And also that customs had slapped $1300 import tax on my shipment!

I almost fell off my chair. This is highway robbery, pure and simple. Customs is nothing but piracy, hijacking of another person’s property for ransom, a scourge brought upon those trying to accomplish something constructive by leeches who don’t accomplish anything other than making money by ripping people off and making them miserable. It’s a purely artificial complication designed to hamper progress and cause friction to those who want to get things done.

Think about it. What have they accomplished? They have wasted 3 weeks, causing everyone who is waiting for product to have to wait 3 weeks longer. Nothing useful was accomplished in that time. They’ve managed to get $1300 from me. Wooptidoo, have fun with it guys because it’s the only thing you’ll get from me. Because suddenly, there’s no point to building my product in your country and dealing with all this hassle anymore. You’ve just more than doubled the cost of building my product and it’s now a similar price to building locally. So why would I bother next time and go through this agony again?

The CM in Mexico is actually the biggest victim in this. They have not done anything wrong but the pirates at the border think they should take as much money just for letting my parts through as the CM is going to make actually doing the useful work of building boards for me! In doing so, they’ve made the CM uncompetitive and there’s nothing they can do about it. Their government has conspired against their business for its own benefit. It’s so wrong.

OK, enough of the rant. Where does that leave the project?

I thought I had added plenty of padding to the schedule the last time the projected ship date was adjusted. I had of course never expected that customs would eat up this much of it right off the bat. Now it depends on how quickly the CM can do the build and then how fast they can get the PCB assemblies back to me. If we don’t have yet another customs hijacking on the way back into the US, late May may still be feasible.

Since there’s a lot of uncertainty associated with when I will get the 500 boards back from Mexico, I’ve also scheduled time at Colorado Tech Shop to have the other 500 boards built there and they’re going to try to cram me into their busy schedule around May 15. So at least now we have parallel production paths and some redundancy on getting boards to ship from one or the other before the end of May.

This is going to be the last time I’ve collected all parts here for building the wESP32. To be able to meet future production targets and reduce logistics headaches I will need to outsource much more of the production process. I will likely have the next batch made at PCBWay and let them take care of PCBs and assembly. I’m currently evaluating them by having them produce the next round of LiFePO4wered/Pi+ boards, and up till now it has been a much smoother process. I also am evaluating KingTop Technology by having them do a build of my LiFePO4wered/Solar1 product.

Figuring out supply chains and good partners to work with as production scales up is a painful process with ups and downs. Sometimes you win and sometimes you lose. Eventually you find good partnerships that work to be able to meet demand and make sure customers are satisfied and get the products they need. I can only thank them for sticking with me through the process!


excitedbox wrote 03/24/2021 at 10:13 point

That customs trouble was partially your fault for filling out the paperwork wrong. Also they are doing something. By adjusting the cost of manufacturing with a Tax they create jobs in the US. That is the purpose of customs. US companies not outsourcing US jobs.

Starting at $55 is WAY more than this should cost. You can get ESP32 board with Ethernet for $4.50, so it is costing over $50 just to get POE. I highly doubt it. The ESP 32 chips cost $1 in qty and most of the other components are practically free.

  Are you sure? yes | no

Patrick Van Oosterwijck wrote 03/24/2021 at 16:01 point

Ha, always fun to see arm chair critic comments like this. :)

Yes, the customs trouble may have been partially my fault.  I should have spent months to become an expert in import/export in my "free time", or paid someone to do that job, but from my own money because I'm apparently not allowed to make any money from selling these.  [Incidentally, I understand customs well enough to know that the reason you give is why US customs would levy a tax when the product was returned to me, it still makes no sense that Mexican customs would make it so hard for me to fund jobs in Mexico.]

If you can buy an ESP32 with Ethernet for $4.50 then please do so and don't bother me about it.  There is obviously no way I can compete with Chinese boards, person-who-acts-like-they-care-about-US-jobs-but-not-mine-if-they-have-to-pay-for-it.  That's why I try to find niches that they haven't covered yet, or have covered badly.  Do you really think that component cost is what dictates how much I charge for my products?  Then please go bring a sustainable product to market and then come back and we'll talk again.

There are three options:

- I don't bother making anything, that's the easiest and I'll just get a job somewhere.

- I think I can make something useful, do it as a hobby next to my day job, throw it on the market for cheap, but it takes so much time to support that I give up and stop caring, so screw my customers.

- I make something useful and put enough time in it to support my customers, to keep improving it if there are issues, to ensure it stays available in the face of economic upheaval and shortages because I care about customers who have designed something with it, but I have to charge enough to cover for all the time I spend on it, and to feed and house my family because I don't have time for another job and am not independently wealthy.

I chose the latter, and I'm sorry it offends you.

  Are you sure? yes | no

greggwon wrote 02/08/2021 at 18:07 point

I have just started looking at the wESP32 and have one which is not successfully showing DHCP attained data.  My router shows a MAC and assigned address, but the micropython and C environments are not showing DHCP working.  How can I readily tell if I have a problematic board?

  Are you sure? yes | no

Patrick Van Oosterwijck wrote 03/24/2021 at 16:03 point

That is odd, because I'm pretty sure that for the DHCP to show up on your router there has to be successful two way traffic.  If this still is an issue let's discuss is on chat or send me a support email.

  Are you sure? yes | no