Posted on Leave a comment

Blog Housekeeping & More Of The Same

Since I’ve been working on the backend servers a lot over the past few days, I’ve decided it was time to get some broken things on the blog fixed.

Firstly, the radiation monitor graphs. Originally I was using a Raspberry Pi to grab the data from the local monitor, and that was connecting via FTP to the server over in the datacentre to push it’s graph images. Since the server is now on the same local network as the monitor, there’s no need to faff about with FTP servers, so I’ve rejigged things with some perl scripts from cristianst85 over on GitHub, running on the web server itself.
I deviated from the suggested place to put the scripts on the server & opted to store everything within the Experimental Engineering hosting space, so it gets backed up at the same time as everything else on a nightly basis.

This is also accessible from the menu at top left, the script pulls data from the monitor & updates the images every 60 seconds via a cron job.

I’ve removed a couple of dead pages from the blog system, along with some backend tidying of the filesystem. Over the years things have gotten quite messy behind the scenes. This blog is actually getting quite large on disk, I’ve hit the 15GB mark, not including the database!

Caching is enabled for all posts on the blog now, this should help speed things up for repeat visitors, but as most of my content is (large) image based, this might be of limited help. I’m currently tuning the MySQL server for the load conditions, but this takes time, as every time I change some configuration settings I have to watch how things go for a few days, before tweaking some more.

Server Control Panels – More Of The Same

Sorry Sentora. I tried, and failed to convert over to using it as my new server control panel. Unfortunately it just doesn’t give me the same level of control over my systems, so I’ll be sticking with Virtualmin for the foreseeable future. Sentora stores everything in, (to me at least), very odd places under /var/ and gave me some odd results with “www.” versions of websites – some www. hosts would work fine, others wouldn’t at all & just redirect to the Sentora login interface instead. This wasn’t consistient between hosting accounts either, and since I didn’t have much time to get the migration underway, this problem was the main nail in the coffin.

Just storing everything under the sun in /var/ makes life a bit more awkward with the base CentOS install, as it allocates very little space to / by default, (no separate /var partition in default CentOS), giving most of the disk space to /home. Virtualmin on the other hand, stores website public files & Maildirs under /home, saving /var for MySQL databases & misc stuff.

The backup system provided is also utterly useless, there’s no restore function at all, and just piles everything in the account into a single archive. By comparison, Virtualmin has a very comprehensive backup system built in, that supports total automation of the process, along with full automatic restore functionality for when it’s needed.

Sentora did have some good points though:
It handled E-Mail logins & mail filters much more gracefully than Virtualmin does, and comes with Roundcube already built into the interface ready to use. With Virtualmin the options are to use the Usermin side of the system for E-Mail, which I find utterly awful to use, or install a webmail client under one of the hosted domains (my personal choice).
Mail filtering is taken care of with Sieve under Sentora, while Procmail does the job under Virtualmin.

Sentora does have a nicer, simpler, more friendly interface, but it hides most of the low-level system stuff away, while under Virtualmin *everything* on the system is accessible, and it provides control interfaces for all the common server daemons.

Laser Safety Classifications

A Smorgasbord of Acronyms

There are ANSI, OSHA, FDA (CDRH), NRPB, and military standards. The CDRH (Center for Devices and Radiological Health is part of the Food and Drug Administration and is the most relevant regulatory organization in the USA for commercial and scientific lasers. The complete CDRH document may be found at: Performance Standard for Light Emitting Products.

As of Summer 2007, there is an updated “ANSI Z136.1 (2007) Safe Use of Lasers” which among other things substitutes Class 3R for Class 3A, add Classes 1M and 2M, changes some of the control measures and terminology, and more. Nothing earth shattering though. I have not yet seen a full copy. However, there is a summary article in the June 2007 Photonics Spectra magazine. And a narrated slide show of the changes can be found in the Laser Institute of America ANSI Z.136.1 Presentation. However, without details or access to the full document, it’s an excellent cure for insomnia at best. 🙂 Also see: Wikipedia: Laser Safety, which includes many references and some links.

The best discussion of the various classifications, plus general treatment of the topic, is a book by Sliney and Wolbarsht, “Safety with Lasers and Other Optical Sources”, Plenum Press, New York. While they will agree with each other in most respects, some differences will result in a particular laser changing classes depending on which standard is used. The major criteria are summarized below.

Note: I may use Class 1 and Class I, Class 2 and Class II, Class 3 and Class III, and Class 4 and Class IV interchangeably. They are equivalent.

The following is based on material from the University of Waterloo – Laser Safety Manual.

All lasers are classified by the manufacturer and labelled with the appropriate warning labels. Any modification of an existing laser or an unclassified laser must be classified by the Laser Safety Officer prior to use. The following criteria are used to classify lasers:

  1. Wavelength. If the laser is designed to emit multiple wavelengths the classification is based on the most hazardous wavelength.
  2. For continuous wave (CW) or repetitively pulsed lasers the average power output (Watts) and limiting exposure time inherent in the design are considered.
  3. For pulsed lasers the total energy per pulse (joule), pulse duration, pulse repetition frequency and emergent beam radiant exposure are considered.

Lasers are generally classified and controlled according to the following criteria:

  • Class I lasers – Lasers that are not hazardous for continuous viewing or are designed in such a way that prevent human access to laser radiation. These consist of low power lasers or higher power embedded lasers (e.g., laser printer or DVD burner).
  • Class II visible lasers (400 to 700 nm) – Lasers emitting visible light which because of normal human aversion responses, do not normally present a hazard, but would if viewed directly for extended periods of time. This is like many conventional high intensity light sources.
  • Class IIa visible lasers (400 to 700 nm) – Lasers emitting visible light not intended for viewing, and under normal operating conditions would not produce a injury to the eye if viewed directly for less than 1,000 seconds (e.g., bar code scanners).
  • Class IIIa lasers – Lasers that normally would not cause injury to the eye if viewed momentarily but would present a hazard if viewed using collecting optics such as a magnifier or telescope).
  • Class IIIb lasers – Lasers that present an eye and skin hazard if viewed directly. This includes both intrabeam viewing and specular reflections. Class IIIb lasers do not produce a hazardous diffuse reflection except when viewed at close proximity.
  • Class IV lasers – Lasers that present an eye hazard from direct, specular and diffuse reflections. In addition such lasers may be fire hazards and produce skin burns.

Here is another description, paraphrased from the CORD course: “Intro to Lasers”. (Cord Communications. Lasers.) It relates the laser classifications to common laser types and power levels:

  • Class I – EXEMPT LASERS, considered ‘safe’ for intrabeam viewing. Visible beam.Maximum power less than 0.4 uW for long term exposure (greater than 10,000 seconds). Looking at a Class I laser will not cause eye damage even where the entire beam enters the eye and it is being stared at continuously.A laser may also be labeled as Class I if it is entirely enclosed and not accessible without disassembly using tools. Thus, a DVD burner with a 150 mW laser diode (normally a Class IIIB laser) would still be considered Class I.
  • Class II – LOW-POWERED VISIBLE (CW) OR HIGH PRF LASERS, won’t damage your eye if viewed momentarily. Visible beam.Maximum power less than 1 mW for HeNe laser.
  • Class IIIa – MEDIUM POWER LASERS, focused beam can injure the eye.HeNe laser power 1.0 to 5.0 mW.
  • Class IIIb – MEDIUM POWER LASERS, diffuse reflection is not hazardous, doesn’t present a fire hazard.Visible Argon laser power 5.0 mW to 500 mW.
  • Class IV – HIGH POWER LASERS, diffuse reflection is hazardous and/or a fire hazard.

The classifications depend on the wavelength of the light as well and as noted, there may be additional considerations for each class depending on which agency is making the rules. For example, the NRPB (British) adds a requirement for Class IIIa that the power density for a visible laser not exceed 25 W/m2 which would thus bump some laser pointers with tightly focused beams from Class IIIa to Class IIIb. For more information on laser pointer safety and the NRPB classifications, see the NRPB Laser Pointer Article.

In the US, start with the Center for Devices and Radiological Health (CDRH), part of the Food and Drug Administration (FDA). See the section: Regulations for Manufacturers of Lasers and Laser Based Equipment for more info on how to find the relevant guidance documents.

For additional information on laser safety and laser safety classifications, see the section: Laser Safety Sites (May Also Include Other Laser Information).

Here is a table of the CDRH classification and labeling requirements for commercial laser products:

Here are some excerpts from the Center for Devices and Radiological Health (CDRH) regulation 21 CFR 1040.10 and 21 CFR 1040.11, the standard classification for lasers are as follows with some additional comments by Wes Ellison (erl@sunflower.com):

  • Class I laser productsNo known biological hazard. The light is shielded from any possible viewing by a person and the laser system is interlocked to prevent the laser from being on when exposed. (large laser printers such as the DEC LPS-40 had a 10 mW HeNe laser driving it which is a Class IIIb laser, but the printer is interlocked so as to prevent any contact with the exposed laser beam, hence the device produces no known biological hazard, even though the actual laser is Class IIIb. This would also apply to CD/DVD/Blu-ray players and recorders (which might have Class IIIb laser diodes of 100 mW or more) and small laser, as they are Class I devices).
  • Class II laser productsPower up to 1 milliwatt. These lasers are not considered an optically dangerous device as the eye reflex will prevent any occular damage. (I.e., when the eye is hit with a bright light, the eye lid will automatically blink or the person will turn their head so as to remove the bright light. This is called the reflex action or time. Class II lasers won’t cause eye damage in this time period. Still, one wouldn’t want to look at it for an extended period of time.) Caution labels (yellow) should be placed on the laser equipment. No known skin exposure hazard exist and no fire hazard exist.
  • Class IIIa laser productsPower output between 1 milliwatt and 5 milliwatt. These lasers can produce spot blindness under the right conditions and other possible eye injuries. Products that have a Class IIIa laser should have a laser emission indicator to tell when the laser is in operation. They should also have a Danger label and output aperture label attached to the laser and/or equipment. A key operated power switch SHOULD be used to prevent unauthorized use. No known skin hazard of fire hazard exist.
  • Class IIIb laser productsPower output from 5 milliwatts to 500 milliwatts. These lasers are considered a definite eye hazard, particularly at the higher power levels, which WILL cause eye damage. These lasers MUST have a key switch to prevent unauthorized use, a laser emission indicator, a 3 to 5 second time delay after power is applied to allow the operator to move away from the beam path, and a mechanical shutter to turn the beam off during use. Skin may be burned at the higher levels of power output as well as the flash point of some materials which could catch fire. (I have seen 250 mW argons set a piece of red paper on fire in less than 2 seconds exposure time!) A red DANGER label and aperture label MUST be affixed to the laser.
  • Class IV laser productsPower output >500 milliwatts. These CAN and WILL cause eye damage. The Class IV range CAN and WILL cause materials to burn on contact as well as skin and clothing to burn. These laser systems MUST have:A key lockout switch to prevent unauthorized use Inter-locks to prevent the system from being used with the protective covers off, emission indicators to show that the laser is in use, mechanical shutters to block the beam, and red DANGER labels and aperture labels affixed to the laser.

    The reflected beam should be considered as dangerous as the primary beam. (Again, I have seen a 1,000 watt CO2 laser blast a hole through a piece of steel, so imagine what it would do to your eye !)

  • Registration of laser systemsAny laser system that has a power output of greater than 5 milliwatts MUST be registered with the FDA and Center for Devices and Radiological Health if it has an exposed beam, such as for entertainment (I.E. Laser light shows) or for medical use (such as surgery) where someone other than the operator may come in contact with it. (This is called a ‘variance’ and I have filled them out and submitted them and they ARE a royal pain in the backside!)

Sometimes, you will come across a laser subassembly that has a sticker reading something like: “Does not Comply with 21 CFR”. All this means is that since the laser was mounted inside another piece of equipment and would not normally be exposed except during servicing, it does not meet all the safety requirements for a laser of its CDRH classification such as electrical interlocks, turn-on delay, or beam shutter. This label doesn’t mean it is any more dangerous than another laser with similar specifications as long as proper precautions are taken – such as adding the missing features if using the laser for some other purpose!

(From: Johannes Swartling (Johannes.Swartling@fysik.lth.se).)

It is not the laser in itself that is given a class number, but the whole system. A system which is built around a very powerful laser can still be specified as Class I, if there is no risk of injury when operating the system under normal conditions. For example, CD players are of class I, but the (IR) laser diode may in itself be powerful enough to harm the eye. CD players are designed so that the laser light won’t escape the casing.

When it comes to laser safety and exposure levels the regulations are fairly complicated and I will not go into details. Basically, there are tables with ‘safe’ levels of exposures. The exposure has to be calculated in a certain way which is unique to each case, depending on among other things: laser power, divergence, distance, wavelength, pulse duration, peak power, and exposure time.. Although it is true that near infrared lasers are potentially more dangerous than visible because you can’t see the radiation, it is incorrect to say that it must be, say, Class III. The level of exposure may be so low that it can be a Class I (note that Class II lasers are always visible though, so infrared lasers are either of Class I or Class III or higher).

(From: John Hansknecht (vplss@lasersafetysystems.com).)

OSHA STD-01-05-001 – PUB 8-1.7 – Guidelines for Laser Safety and Hazard Assessment is an “open source” release of the ANSI Z136.1-1986 standard. It is not as up to date as the present ANSI standard (ANSI Z136.1-2015), but it’s close. The ANSI standard is considered to be the authoritative guide for safe work practices and would be a better source than a University safety manual. The key point to understand is if a laser accident ever occurs and a lawsuit ensues, the lawyers will be checking to see if the facility was following the “recognized best work practices”.

Laser Safety Systems LLC, a supplier of laser safety products, has a good intro page for anyone serious about becoming ANSI compliant at A Practical Guide to Laser Class 4 Entryway Control Requirements.

Hobbyist Projects and Laser Safety Classifications

While many of the partial circuits and complete schematics in this document can and have been used in commercial laser products, important safety equipment has generally been omitted to simplify their presentation. These range from simple warning labels for low power lasers (Class I, II, IIIa) to keyswitch and case interlocks, beam-on indicators, and other electrical and mechanical safety devices for higher power lasers. Laser safety is taken very seriously by the regulatory agencies. Each classification has its own set of requirements.

The following brief summary is just meant to be a guide for personal projects and experimentation (non-commercial use) – the specifics for each laser class may be even more stringent:

  • For diode lasers and HeNe lasers outputting 5 mW or less (Classes 1, II, IIIa), packaging to minimize the chances of accidental exposure to the beam and standard laser warning labels should be provided.
  • Where the case can be opened without the use of tools, interlocks which disable the beam are essential to prevent accidental exposure to laser radiation (Class IIIa and above). Their activation should also remove power and bleed off any dangerous voltages (ALL HeNe and argon/krypton lasers).
  • A beam-on indication is highly desirable especially for lasers emitting invisible IR (or UV).

Aside from their essential safety function, laser warning or danger stickers DO add something in the professional and high-tech appearance department. Companies selling laser accessories will likely offer genuine CDRH approved stickers. If you are selling any laser based equipment, you’ll need them (and a lot more). For hobbyist, some semi-standard unofficial samples can be found in the next section.

Posted on 1 Comment

Netgear FS108 Fast Ethernet Switch

During the replacement of the networking onboard nb Tanya Louise with gigabit, the main 8-port distribution switch was also changed. Here’s a quick teardown of the old one.

Netgear FS108
Netgear FS108

This has been quite a reliable switch for the internal networking on board, but the time has come to switch over to something a little faster. This switch will be getting repurposed for the slower devices on my network, such as the radiation monitor & the raspberry Pi systems.

Cover Removed
Cover Removed

Here’s the top removed from the switch. It’s a very simple construction, with a small power supply section & the main switch IC in the centre.

Main Switch IC
Main Switch IC

All the magic happens in this main IC, a Realtek RTL8309SB Fast Ethernet switch. This is a feature-packed IC, with support for VLAN tagging, but being in a small unmanaged switch the extra features aren’t used.

Power Supply
Power Supply

Main power supply is provided by a jelly bean MC34063 DC-DC converter, and an adjustable LM1117 linear regulator. Nothing much special here.

Ethernet Magnetics
Ethernet Magnetics

The only other parts are the magnetics for the ethernet interfaces, behind the ports themselves.

Posted on Leave a comment

µRadMonitor RRDTool Graphing

I’ve been meaning to sort some local graphs out for a while for the radiation monitor, and I found a couple of scripts created by a couple of people over at the uRadMonitor forums for doing exactly this with RRDTool.

µRadLogger
µRadLogger

Using another Raspberry Pi I had lying around, I’ve implemented these scripts on a minimal Raspbian install, and with a couple of small modifications, the scripts upload the resulting graphs to the blog’s webserver via FTP every minute.

#!/bin/sh

URL=http://192.168.1.4/j
rrdpath="/usr/local/bin"

jsondata=$( curl -s $URL);

v_cpm=$( echo $jsondata | cut -f 4 -d "," | cut -f 2  -d ":" )
v_temp=$( echo $jsondata | cut -f 5 -d "," | cut -f 2  -d ":" )

echo CPM : $v_cpm
echo Temperature : $v_temp

This script just grabs the current readings from the monitor, requiring access to it’s IP address for this.

#!/bin/sh

rrdpath="/usr/bin"
rrddata="/usr/local/urad/data"
rrdgraph="/usr/local/urad/graph"

mkdir $rrddata
mkdir $rrdgraph

   $rrdpath/rrdtool create $rrddata/uRadMonitor.rrd -s 60 \
            DS:cpm:GAUGE:300:0:U   \
            DS:temp:GAUGE:300:-100:100  \
            RRA:AVERAGE:0.5:1:600  \
            RRA:AVERAGE:0.5:6:700  \
            RRA:AVERAGE:0.5:24:775 \
            RRA:AVERAGE:0.5:288:797 \
            RRA:MAX:0.5:1:600 \
            RRA:MAX:0.5:6:700 \
            RRA:MAX:0.5:24:775 \
            RRA:MAX:0.5:288:797
   echo database $rrddata/uRadMonitor.rrd created.

This script sets up the RRDTool data files & directories.

#!/bin/sh

URL=http://192.168.1.4/j
rrdpath="/usr/bin"
rrddata="/usr/local/urad/data"
rrdgraph="/usr/local/urad/graph"
rrdfmt="--font AXIS:6: --font TITLE:9: --font UNIT:7: --font LEGEND:7: --font-render-mode mono --color ARROW#000000 --color GRID#8C8C8C --color MGRID#000000 -v \"cpm\" --alt-y-mrtg --width 600"

jsondata=$( curl -s $URL );

v_cpm=$( echo $jsondata | cut -f 4 -d "," | cut -f 2  -d ":" )
v_temp=$( echo $jsondata | cut -f 5 -d "," | cut -f 2  -d ":" )

echo CPM : $v_cpm
echo Temperature : $v_temp


$rrdpath/rrdtool update $rrddata/uRadMonitor.rrd N:$v_cpm:$v_temp


$rrdpath/rrdtool graph --imgformat PNG $rrdgraph/rad-day.png   --start -86400 --end -600 --title "Radiation daily" $rrdfmt \
        DEF:cpm=$rrddata/uRadMonitor.rrd:cpm:AVERAGE \
                AREA:cpm#00CCCC:"Counts Per Minute\g" \
                        GPRINT:cpm:MAX:"  Max \: %5.1lf " \
                        GPRINT:cpm:AVERAGE:" Avg \: %5.1lf " \
                        GPRINT:cpm:LAST:" Last \: %5.1lf \l"

$rrdpath/rrdtool graph --imgformat PNG $rrdgraph/rad-week.png  --start -604800   -z    --title "Radiation weekly" $rrdfmt \
        DEF:cpm=$rrddata/uRadMonitor.rrd:cpm:AVERAGE \
                AREA:cpm#00CCCC:"Counts Per Minute\g" \
                        GPRINT:cpm:MAX:"  Max \: %5.1lf " \
                        GPRINT:cpm:AVERAGE:" Avg \: %5.1lf " \
                        GPRINT:cpm:LAST:" Last \: %5.1lf \l"

$rrdpath/rrdtool graph --imgformat PNG $rrdgraph/rad-month.png --start -2592000  -z    --title "Radiation monthly" $rrdfmt \
        DEF:cpm=$rrddata/uRadMonitor.rrd:cpm:AVERAGE \
                AREA:cpm#00CCCC:"Counts Per Minute\g" \
                        GPRINT:cpm:MAX:"  Max \: %5.1lf " \
                        GPRINT:cpm:AVERAGE:" Avg \: %5.1lf " \
                        GPRINT:cpm:LAST:" Last \: %5.1lf \l"

$rrdpath/rrdtool graph --imgformat PNG $rrdgraph/rad-year.png  --start -31536000 -z    --title "Radiation yearly" $rrdfmt \
        DEF:cpm=$rrddata/uRadMonitor.rrd:cpm:AVERAGE \
                AREA:cpm#00CCCC:"Counts Per Minute\g" \
                        GPRINT:cpm:MAX:"  Max \: %5.1lf " \
                        GPRINT:cpm:AVERAGE:" Avg \: %5.1lf " \
                        GPRINT:cpm:LAST:" Last \: %5.1lf \l"

$rrdpath/rrdtool graph --imgformat PNG $rrdgraph/rad-decade.png  --start -315360000 -z    --title "Radiation decadely" $rrdfmt \
        DEF:cpm=$rrddata/uRadMonitor.rrd:cpm:AVERAGE \
                AREA:cpm#00CCCC:"Counts Per Minute\g" \
                        GPRINT:cpm:MAX:"  Max \: %5.1lf " \
                        GPRINT:cpm:AVERAGE:" Avg \: %5.1lf " \
                        GPRINT:cpm:LAST:" Last \: %5.1lf \l"
ncftpput -R -v -u "<FTP_USER>" -p "<FTP_PASSWORD>" <FTP_HOST> <FTP_REMOTE_DIR> /usr/local/urad/graph/*

The final script here does all the data collection from the monitor, updates the RRDTool data & runs the graph update. This runs from cron every minute.
I have added the command to automate FTP upload when it finishes with the graph generation.

This is going to be mounted next to the monitor itself, running from the same supply.

The Graphs are available over at this page.

Posted on Leave a comment

uRadMonitor Network

I’ve joined the uRadMonitor network! I’m told my unit is on the way & it should be going live here in Manchester, UK within about 10 days.

uRadMonitor Unit
uRadMonitor Unit

This is a crowd project to monitor background radiation levels all over the world, so far there’s a lot of units already online.

More to come once my unit arrives!

Posted on Leave a comment

Kidde Smoke Alarm

Top
Top

Old type ionization smoke alarm. Top of the device with the test button & sounder.

Bottom
Bottom

Bottom of the device. Battery compartment in centre.

PCB
PCB

Internals of the smoke alarm. Main component visible is the Ionization chamber.

Sounder
Sounder

Piezo sounder on inside of the top.

Ionization Chamber
Ionization Chamber

Inside the Ionization Chamber. 1µCi Americium-241 alpha particle source in the centre.
The radiation passes through the chamber, between the pair of electrodes, ionizing the air & permitting a small current to pass between the electrodes.
Any smoke that enters the chamber absorbs the alpha particles, which reduces the ionization and interrupts this current, setting off the alarm.

Controller
Controller

Controller IC beneath the chamber.