Finally managed to get a whole day back on the project after almost 2 months, almost seems 1 step back and two steps forward as:
- Changing the layout of the barcode scanner so it hits the window at an angle worked well and so (thankfully) I wont have to re-design the case again
- Changing the WiFi to an ESP8366 module is a double edged sword, the main concern is the reliability of the units and the large power on current.
- The C code has legacy elements from the very first touchscreen version and I did an extensive re-write and re-documentation of the source as I fought my way back to understanding it.
- There does seem to be a problem with the boost converter circuit which may be to do with the power demand of the wifi though I measured the max draw of the system at just under 300mA for several milliseconds which is well within the capability of the NCP1421, something else is causing the power to be unstable. I am not ruling out the construction as I had to hand solder this without a stencil.
So the ESP8266. The ESP01 is now under $4 per unit but there are some serious quality issues with the devices coming out of china, that makes me think both alpha-state firmware and shonky construction. Case in fact, my first 5 (yes 5) units all failed to work, these were the first version using the original ESP8266 chip and without the LED’s or the extra lines broken out on the centre pins. Based on the fact a whole community of people is working on these I bit the bullet and bought another batch of the newer ESP8266EX units and most of these at least work. Some however dont! I have never been so impressed and so frustrated at a piece of electronics like this one. The rule seems to be to check the unit connects to a WiFi router before soldering it into a circuit.
The boost converter is also getting annoying, the system relies on the PIC32 setting the enable latch on the converter to keep power on, however if a brown out occurs this latch also drops and latches the power off. Now firstly there should not be any brown-out-resets (BOR) the fact they are happening is a worry and something I need to check, the second thing is I really need to look at someway that any glitch (due to low battery mainly) does not cause the system to behave erratically, this will also happen when I flash the device so I will need a way of holding the power on during flashing or a re-design!
I am currently powering the boost converter from a 2V 3A bench supply and I can see the max draw is about 410mA when everything is initially switched on, this may be too much for a low battery but not for a bench supply, bloody weird!
Bypassing the boost converter with 3.3V@3A directly into the system the power is stable and the max current as measured on my breyman multimeter (which is the best multimeter I have ever had including Flukes!) is 291mA which can be easily handled with the NCP1421.
Assuming I individually test all the ESP8266 modules before inserting them I will stick with these, after all there is a community out there at Hackaday.io and here (amongst others) with the development kits examining how to improve these for the hacker community so the situation should improve some.
Next thing is to find the reasons for the boost converter problems and find a solution and once I have a base working system update my circuit, PCB and Github repositories. This may take another month or so due to outside work load so please be patient.