Access Control
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:
-
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:
Door Controller:
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
db3ee65.
“Fatal exception:28 flag:2 (Exception) epc1:0x40225c96 …”. Device self-restarts. Believed to be triggered by Android phone random UIDs and fixed by
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:
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:
CNC router:
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.