Close
0%
0%

SaferSpace

Wireless network of small safety beacons for hackerspace tools

Public Chat
Similar projects worth following
The less stuff you leave plugged in (or turned on) when the hackerspace is empty, the better. With a tiny cheap easily-embeddable PCB (and a 5V source), you can equip your hackerspace so that it can monitor all the plugged-in devices, switchable outlets, 3D-printers, lasercutters, computers and other not-to-be-left-alone things.

I'm co-running the MakeRiga hackerspace. To be exact, I take care of its internals so that it has some potential to grow - register and onboard members, do cleanup and upgrades, organize events, take care of the infrastructure and so on - in return, I use the space as one of my workplaces, where hardware is concerned, at least.

One of the things I believe in is "at any moment, there should be as little powered devices as possible". There's all kinds of extension cords, power supplies and PCs plugged in permanently - the reasonable solution is to switch them on as you need them and switch them on as you go. However, people forget about it, sometimes, they don't even know about it.

Leaving appliances unattended is pretty bad in a hackerspace.

  • If one of the soldering stations gets left alone for a long time while it's turned on, it might result in a fire - something that is likely to be the death of a small hackerspace.
  • If someone leaves a drill battery charger for a couple of days and the battery left there heats up (for whatever reason), that's a dead battery in the making at best.
  • If a powerful computer is left turned on, that's just a waste of electricity (but also, watch out for those Molex-SATA power adapters!).
  • If a lasercutter is left turned on and cutting, it can escalate into a very dangerous fire quickly. Same for 3D-printers.

Can you solve this problem in an easier way? Sort of but not really. You can train people to turn everything off, but you will forget to train some people, and people will forget to turn the tools off from time to time, anyway. Moreover, accidents happen - i.e. somebody having to run out of the space to get to a shop before it closes, forgetting to flip a switch on the extension cord before they go, "just for 10 minutes".

The idea is simple - we need to have some way to monitor plugged-in devices in a hackerspace. This project is part of the solution - a small device that can let us know when something important and dangerous is plugged in and operating, networked in a way that allows for smarter integration (i.e. SMS "you forgot this!"). This kind of device can only be a part of the solution (i.e. it's really easy to identify plugged-in computers, just ping the IP), but it's a very important part, since a lot of the devices that need to be monitored are also not smart enough to let you know about their status.

What can you do with the resulting data? First and foremost, have some kind of monitor near the hackerspace exit - most likely, a panel with a hackerspace map and red LEDs, but a TFT monitor will work, too (just be more involved). Then, when you go away, you can spot all the things you've left turned on, go back, turn them of and then go on your merry way. If this fails for some reason, there could be some kind of notifications for active members - "space is empty but there's a battery charger left charging, call some people near the space and ask if they could pop in and fix that".

Hardware?


Attiny85 and NRF24L01, with firmware that just sends "ID of the device" beacon packets once every X seconds. Plus, there's a diode, large capacitor and a resistor divider to a GPIO pin - a really primitive circuit to try and detect a mains power fault, in other words, when the device is switched off., it's cool to send one last "ID of the device got switched off" packet, since otherwise, whatever receives these packets has to rely on timeouts to actually make "lost/not lost" decisions. Talking about "what receives the packets" - there will be a base station, to be exact, a Raspberry Pi with an NRF module connected to it - it will aggregate the data (from this and other sources) and then send data to whatever powers the LED/TFT display, aggregate the data in a database, send notifications, as well as power any future software additions.

Why not add control capabilities? (i.e. a relay)

I'm open to the option, but it would be very involved at this point => not yet, for now, this is a really simple solution to an important...

Read more »

  • 1 × ATtiny45/85 SOIC8-W
  • 1 × NRF24L01 module (2x4 pin) cheap from China
  • 5 × 0805 passives 10K resistors, 100nF capacitors - for decoupling on the board
  • 1 × Normal/Shottky diode, THT 1N4148 will work, so will 1N5819
  • 2 × Resistors for setting the power-down threshold 10K/10K will likely work, threshold can also be set in software (there's an ADC on the pin)

View all 8 components

  • Current project status

    Arsenijs09/09/2019 at 18:08 0 comments

    I couldn't order the PCBs in time for the contest deadline, as I added them to another hackerspace member's order, and that one got delayed while the details were being figured out. Currently, I'm waiting for the PCBs to arrive, they will likely arrive on the 12th - pictured on the main project page. In the meantime, they're available on GitHub. As soon as I get the PCBs and assemble one, I will sit down and write the firmware - I've been prototyping on a NRF-less board in the meantime, experimenting with Arduino-less development and writing everything in pure C. Currently, I have SPI working (tested with an SD card I have on my testbed device), and I'm writing the high-level logic ("send a packet every X seconds"). When the boards arrive, I will assemble them, then attach the NRF24L01 modules, test the firmware and deploy the devices our space. I only have 5 modules like this at the moment, so, I will wire up:

    1. A drill battery charger (one that is most often left unattended and thus is often forgotten)
    2. Our most-often-used fake-Aouye soldering station, with a soldering iron and a heat gun (as heat guns tend to cause problems)
    3. Our switchable kitchen outlet block (has teapot, an evil-spirit-infested microwave etc.)
    4. Our main 3D-printer
    5. Our 100W lasercutter (what's cool is - it also has a "laser is turned on" signal, the main signal I will be using for determining problems)

    I will document each one of these one-by-one, each will have a project log. For now, I will be waiting for the PCBs, not much to do until they arrive - will let you know as soon as they arrive!

View project log

  • 1
    Get the assembled board

    Source&assemble it yourself or buy some from me

  • 2
    Flash the firmware with your UUID into the ATTiny

    There's a default-pinout 2x3 socket for ISP on the board. Just plug a USB-ISP in according to the pinout and you're good to go!

  • 3
    Connect the board inside the device in question

    If there's 5V inside the device, connect it directly. If there's only 220V, add a sufficiently trustworthy 5V PSU as described in "details". Either way, make sure that the antenna of the NRF module can actually transmit - i.e. you're not putting it inside a fully-metal case.

View all 5 instructions

Enjoy this project?

Share

Discussions

Taiwo wrote 09/06/2019 at 16:14 point

How cheap are we talking about? 

  Are you sure? yes | no

Arsenijs wrote 09/06/2019 at 16:40 point

you can get ATTiny85, NRF24L01 module for $1-$3 together, then get a lot of cheap LM1117 (can get fakes, 20pcs for $1 on eBay) and diodes (i.e. 1N4148). Capacitors can be sourced from scrap (PC motherboards), passives are really cheap. PCBs, when purchased in bulk, are less than $.50. So, as long as you're resourceful, one device shouldn't cost you more than $5.

  Are you sure? yes | no

Taiwo wrote 09/06/2019 at 19:39 point

Cool. That's actually feasible. Since it has a NRF24L01, I suppose you can link them up unto one gateway and monitor/control the whole bunch from bed, at home. 

  Are you sure? yes | no

Arsenijs wrote 09/09/2019 at 16:31 point

That's the idea, however, there's no "control" part yet, just "monitor".

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates