====== Access Control ====== * [[door_access_controllers|Door Access Controllers]] * [[tool_access_controllers|Tool Access Controllers]] * [[toollockers|NFC-enabled Tool Lockers]] ===== Bugs and Maintenance Tasks ===== Crashes: * a number of the tool controllers are crashing on a regular basis * on some of them there is evidence that this is caused by voltage spikes from motors, contactors or arc welding * this is plausible because most of the AC-DC power supplies are extremely cheap devices intended as LED drivers * we should try to find a better power supply module: * small enough to fit * good protection from transients * cheap enough that we can afford them * bought [[https://uk.rs-online.com/web/p/switching-power-supplies/1358910|Mean Well IRM-03-5]], hasn't helped * Class X suppression capacitors appear to fix the issue on Emco lathe and Juki sewing machine Unreliable network connections: * some of the tool controllers have very poor connectivity * this might be related to power supplies (see above) * or maybe some of the ESP8266 devices are of poor quality * we should replace power supplies and/or deploy ESP32 devices Tool controller PCBs: new tool controller PCBs are available and need to be assembled. There is one fully assembled and another three with SMD components only. Two more D1 Minis are required. Documentation: * Tool Controller: * wiring diagram for a simple mains device * wiring diagram for an example of a no-volt switched device * Door Controller: * wiring diagram for a typical door New demo door controllers (a completely assembled set of components to demo or test new firmware). New tool controller enclosure: The existing plastic enclosures are no longer available for purchase. We will need to find a new box and design the mountings for future tool controller installations. Door controller crashes: * "fast-flashing" crash: controllers sometimes freeze up in an unlocked state, with the LED in fast-flashing mode. This is a suspected race condition in the timers/scheduling used for the LED and buzzer. Not seen recently, may have been fixed by [[https://github.com/timhawes/doorman-firmware/commit/db3ee6580587d4cd4ed112f215d1787ca8eaaa51|db3ee65]]. * "Fatal exception:28 flag:2 (Exception) epc1:0x40225c96 ...". Device self-restarts. Believed to be triggered by Android phone random UIDs and fixed by [[https://github.com/timhawes/doorman-firmware/commit/46de7662b49ff04febd6c7d3c30d9c74e032d167|46de766]]. Migrate firmware config files to proper "/" prefix. Purchase more PN532 NFC modules from elechouse.com and few of the new PN7150 for development. [ordered, in transit] ===== Device Issues ===== Emco Lathe: * controller regular crashes when motor is switch on or off * controller has been bypassed for now * easy to recreate (just turn the motor on/off a few times) * can still crash the controller when the current transformer is disconnect * unable to crash the controller when powered from an isolated battery pack * approx 300W * 2024-03-15: suppression capacitor fitted, appears to work * 2024-04-09: bypass removed Welder: * poor connectivity, repeated reconnects - fixed by channel change? * crashes when welder is in use * LCD sometimes shows corruption when welder is in use * 2024-04-13: suppression capacitor fitted to contactor, prevents crashing at power-off Bandsaw: * poor connectivity, repeated reconnects - fixed by channel change? Mitre saw: * poor connectivity, repeated reconnects * replacing the controller didn't help * 2024-03-21: replaced PSU with Mean Well, has not helped * 2024-03-24: firmware update failed repeatedly over 4 hours, device moved to G1 and it succeeded immediately, moved back to g8 and connectivity went bad again. * 2024-03-28: changing channel (11->6) on unifi-g8 has helped Big laser cutter: * sometimes crashes when main contactor is de-energised, unable to recreate issue on demand * is it the contactor itself or one of the devices fed from it? * 2024-03-17: added ceramic 0.1uF and electrolytic 470uF 16V to 5V input of tool controller * 2024-03-21: added 0.1uF to contactor coil terminals Sander: * suspected crashes from motor on-off * was able to crash just from the contactor on-off * contactor has 0.1uF connected to output terminals * 2024-03-20: contactor 0.1uF moved to coil terminals, 0.47uF added about 6" from motor, appears to work Sewing machine: * suspected crashes from motor on-off * approx 800-900W * 2024-03-15: suppression capacitor fitted, appears to work CNC router: * corrupted LCD * microcontroller crash and monitor blanks when contactor switches off * 2024-04-16: added capacitor to contactor coil ===== Future Projects ===== ==== Migrate to ESP32 ==== Existing ESP8266 firmware is stuck on an old SDK version due to a core library now being unsupported. The best way forward is to migrate to ESP32. Tool controllers: v3 PCBs can take a Lolin S3 Mini microcontroller board. There is a test version of the firmware. Door controllers: There is a new PCB design based on the ESP32-S3-WROOM-1, intended to fit in the existing enclosures. Firmware hasn't been ported yet. ==== CircuitPython ==== Tim has toyed with a CircuitPython-based firmware. This would allow for easier development, potentially involvement of more people, and more advanced features (e.g. DESFire EV1 or PIV authentication support). ==== Backend Server ==== Allow standalone use with local files (no Django app required), for testing or for other installations. Support device configuration inheritance from multiple profiles. [done] ==== Open Source ==== It would be nice to package up the hardware and software to the point that other hackerspaces (or businesses) could use it. ==== Advanced NFC ==== Support high security (unclonable) tokens DESFire EV1, YubiKey PIV, FIDO2. ==== Rewrite Lockers ==== The tool lockers use a different architecture based around a secured MQTT server. It seemed like a good idea at the time. If I rewrote it I would use something similar to the JSON message protocol from the door/tool controllers.