-
Version 2
01/03/2022 at 18:32 • 0 commentsThe main issue with the original prototype (besides being ugly) was the lack of a battery. To resolve this, version 2 is designed around a power path that uses a TP4056 LiPo charging module and a 800mAh+ single cell LiPo battery. [Andreas Speiss] has an excellent review of power options for ESP32 projects, and highlights the key challenge with the ESP32 modules: the not-so-LDO voltage regulator (AMS1117). The 1V dropout at higher currents means that using it directly with a 3.7V LiPo will not provide enough voltage to the ESP32. Rather than the HT7333 suggested by [Andreas Speiss], I ended up using the AP2114 because it was available - note that the "H" package is pin compatible with the AMS1117, but those weren't available, so I used the "HA" package, requiring some additional jumper wires (and makes this a legitimate HaD project in the process). After all of that (and a case re-design to fix the aforementioned "ugly" problem), the updated laser timing gate can now be powered off of a battery or 5V micro-USB.
The second version also features some mechanical upgrades in the case design. My recent discovery of knurled inserts has improved the mechanical side substantially. They make assembly much easier (no more captive nuts or deep countersinks for printed stand-offs) and the final result more robust. A 1/4"-20 insert also works very well for tripod mounts: while tripods can have non-standard shoe sizes (as I found out previously), they almost all have a 1/4"-20 screw to connect to your hardware. Finally, I invested in a couple of kits for making JST & DuPont connectors, which also made prototyping and final assembly much more straightforward.
-
Unexpected Things That Go Wrong #1
10/24/2021 at 17:03 • 0 commentsFrom the early prototypes {problems: and causes/resolutions}
- Batteries popped out of their brackets in the laser module: needs better mechanical design for use cases where it gets banged around in a bag with other sports gear
- Buttons triggered randomly even with internal pull-ups specified: some pins on the ESP32 are read only and have no pullups.
- "armed" LED didn't light up: bad solder joint with extremely cheap dupont wires never really wicking solder properly
- ESP32 won't come up in AP mode (crashes and restarts repeatedly): some clues here, but not conclusive. Moved some code out of the init_AP method, and it works, but I don't know why.
- Text doesn't fit on the display: probably should have done a separate prototype here to quickly work out the sizing
- The timing gate wouldn't start without a network connection: it worked fine at home... created a network hotspot on my phone with same config to work around.
- Debouncing the beam at the start to avoid stopping the timer prematurely: caught in early bench testing
- Beam state is read by polling: this is still a problem since it can occasionally miss an event (athlete finishes and only interrupts the beam for ~0.1s)
- No access through the housing to the program & reset buttons on the dev board: sidecutters
- Mounting the boards inside the housing: reprint & re-drill until the holes line up nicely (the "cut twice" approach)
- The housing for the laser is very hard to slide on/off: reduce the size of the bumps for the snap-in
- When a new client connects during a lap, their timer starts from zero: software bug, currently unresolved
- The mounting for the tripod shoe on the gate housing covers the holes for the ESP32 mounting, but has to be installed first: step 1, drill; step 2, better design
- The tripod shoe fits my tripod, but not others: the screw is a standard size (1/4"-20) but the shoes aren't; next design should use a knurled inset
There will be others.