Showing posts with label geiger. Show all posts
Showing posts with label geiger. Show all posts

Thursday, July 10, 2014

bGeigie Nano PCB remixed

As I pointed out in my review on Safecast bGeigie Nano kit, the size of the current software already reached the limit of processor's program memory of 30KB or so. From this point on, it is difficult (if not impossible) to add new code features, and that may require drastic code optimization or even disabling existing features.

I thought that the easiest solution to keep this project up-to-date is by upgrading the processor, by entirely replacing the Fio board with an ATmega 644P plus a few extra components (e.g. LiPo charger). This makes the kit a bit more challenging to build, since it requires soldering SMD components, but could also save a few bucks. The device is still Arduino-compatible and programmable, like to Fio, using the FTDI breakout.

Updated Jul 11, 2014: As Rob suggested, I added the XBee module as well. New Eagle files are here.
This is how the bGeigie Nano Plus PCB looks now. (I also added an option for the Fastrax UP501 module, a bit cheaper then the Ultimate GPS breakout, but still a great GPS module (if you can find it on ebay or other sellers)).


The Eagle files for the upgraded bGeigie Nano can be found here.
On the board, the positioning of the modules, switches, headers etc. is the same (except for the Fio, which is now gone).


A few more points:
  • The LiPo charger follows Fio's schematic, using the exact same components.
  • The ATmega644P processor will require burning the bootloader (board has ICSP header).
  • To compile and upload sketches, the Sanguino core files need to be added to the Arduino IDE (as detailed in this post).
  • ATmega1284P, with double the program memory, could be used instead of the 644P, since it has the exact same footprint (and it is pin compatible).


Unfortunately I am short on cash these days, so I hope someone could order the PCB with oshpark (the set of 3 original PCBs was $52 when I ordered them a while ago) and prove the design. I could help with the IDE setup and probably with some software development as well (the first thing that comes to mind is using the whole 128x64 OLED screen, and not just half).

As always, any feedback is appreciated.

Friday, May 30, 2014

My review of bGeigie Nano from Safecast

I finally finished assembling, after more than a year, my bGeigie Nano. At over $400, this was by far the most expensive Arduino project I have built to date.


The feature-rich open-source Geiger counter is offered as a kit by Medcom for the price of $450 (of which, $75 is donated to Safecast organization). I stubbornly insisted on sourcing the parts on my own, to save a few bucks and to get a closer look at the process. Let me tell you: this may be the only kit out there where the components bought individually are as expensive as the kit itself! Obviously, this kit was not designed to make a profit.




Here is a price breakdown (for non-believers):
- PCB (OSHPark) - $17 (3 for $52)
- Pelican 1010 box (store) - $13
- Arduino Fio - $25
- GPS module - $40
- OpenLog - $25
- OLED display - $25
- laser-cut plates - $25
- sensor LND7317 - $150
- iRover HV supply - $35
- LiPo battery - $10
- SD card - $10
- other electronic components - $5
- hardware (standoffs, screws etc) - $5
- shipping (on some of the items) - $30
-----------------------------
Total = $415



Since it took me so long to build it, I forgot a lot of details (I know, I should have logged impressions along the way; that's why it's called "web log").
But here are a few things I can still remember:
  • the kit is pretty easy to build (once one has all components); geared towards the novice maker, the only challenge is to follow the assembly instructions, sometimes not very clear because it lacks details (for example, the spacers's sizes; although this does not matter for those who buy the kit); but it seems that the instructions are periodically updated and improved;
  • the support and discussion forum is great; I got quick and helpful answers to all my questions;
  • the display is 128x64 OLED, even though the resolution used is 128x32 (notice in the photo above that every other line is blank)
  • the sketch can barely fit in the 30KB program space of Fio's ATmega328 (I actually may have commented out some functionality to make it fit);
  • at the time I started, the Geiger sensor was not offered for sale (now it is); I bought it directly from Medcom, together with the high-voltage power module; they did not include the protection grid that comes with the kit;
  • a big surprise was that the assembly fits perfectly in the Pelican box, without using the rubber lining (which I had cut and prepared according to the instructions anyway). When I say "perfectly" I mean nothing rattles inside when the box is shaken. Truly remarkable. For those interested, I used M3x10mm standoffs between the 1.5mm plates, with the bottom one separated with a set of 1mm washers (see photo below, taken before I installed the battery and the sensor).
  • the toggle switch at the top would be a better candidate as power switch than the slide switch currently used (main reason being that the mechanical life of the NKK switch  is longer than the life of the generic slide switch; it also feels more reliable); maybe a future version will swap those two switches;
  • bluetooth could be used to connect to smart phone rather than the current cable solution; but that would require a larger sketch running on a bigger processor (ATmega1284 would be a good candidate);
  • although the modules used come with headers, once installed, they cannot be removed (because they are soldered, for mechanical/space reasons; the only exception is the OLED display); removable modules would make the device easier to debug and fix (if necessary);
  • overall, it was a good experience; I used some modules for the first time; I learned a few things (for example, how useful the double-sided foam tape can be); it opened perspectives to new ideas; thank you guys!

Saturday, February 8, 2014

Altoids Geiger counter

My "Remixed Geiger counter" board fits almost perfectly, by chance, in the "classic" Altoids box, with room left for the SI-29 GM tube, the 1100mAh LiPo battery and the 0.96" OLED display.


The ATmega328 processor runs at 8MHz with the internal oscillator, a better choice (than the 16MHz of Arduino 2009) for the LiPo voltage of approx 3.7V.  The display I used is compatible with the monochrome 128x64 OLED display from Adafruit.
It is powered at 3V3, requiring a voltage regulator (78L33, TO-92), placed where the the trim-pot (for adjusting LCD contract) was supposed to be (top-right corner of the board).

The sketch uses Adafruit_SSD1306 library, with the wiring to the display as defined below:

#define OLED_DC 8
#define OLED_CS 7
#define OLED_CLK 4
#define OLED_MOSI 3
#define OLED_RESET 5

Note that the same D3-D8 are used for connecting to the LCD 1602 display in the "regular" DIYGeigerKit.
Also note that I did not install the "click" LED nor the buzzer, relying instead on the OLED display to indicate the radiation level.

Since the lid needs to be open anyway in order to see the screen, I thought it does not make sense to drill 2 holes in the box for the USB miniB connector (used for charging the battery) and the on/off switch. (As well, this sounds like a believable excuse for being lazy.)


If I were to improve on it, I would replace the right-angle toggle switch with a straight-up one (easier to operate), then add a button or two for user inputs (configuration parameters, menu navigation etc). The "click" buzzer and the LED could be made "digital", wired to controller's outputs. Adding a Bluetooth module would be also useful (if it works at all from inside the closed box, I need to try it). Ideally, I would also add RTC, GPS and SD card, for logging purposes. And then it would become a smaller and cheaper version of Safecast bGeigieNano :)


Wednesday, January 22, 2014

Geiger Counter remixed

One of the requirements I consider important when designing a device is the ability to repair it, in case it breaks down. This means that the device should be easy to dis-assemble into its components, ideally without using a soldering iron. To achieve this goal, I usually tend to use headers and sockets for connecting the boards between them. I also try to place the buttons/switches etc. directly on the board, eventually sticking out through holes in the panel, rather than using their panel-mount equivalents connected to the board with wires.

The main reason I called one of my latest device "ugly" in a recent post was because I could not meet this requirement (well, I did not design the whole thing either). Essentially, that particular Geiger counter is very difficult to fix. Accessing to the FTDI header to re-program the Arduino Mini is also challenging. If, for some reason, the LiPo charger breaks down, the replacement miniature board would require drilling, then trace-cutting, then some wires to be soldered to the traces. I would rather throw it away then go through the (still undocumented) exercise again.

Considering all of the above, I designed a Geiger counter board shaped and dimensioned as the original Arduino, so it can fit in the Arduino enclosure from Adafruit, together with the 16x2 LCD display. The schematic is based on BroHogan's DIYGeigerCounter, to which I added the LiPo charger (with USB miniB socket) and a toggle switch for power on/off.


It does not get much simpler than this. The Geiger counter board is screwed to the half case, together with the display. With the case closed, the "free-floating" Geiger tube and the LiPo battery are held in place pretty well without additional fasteners, just by being pressed against each other.


There are 2 LEDs soldered to the bottom side of the PCB: one indicates LiPo charging, the other is the radiation indicator. This being another reason the enclosure needs to be transparent or translucent (it's not only for showing off the simple yet elegant internals :).

The 3V3 LCD display is connected to the board with a pair of 6-wire ribbon cable which can be easily unplugged if necessary. Sketches are uploaded to the ATmega328 (SMD) through the 6-pin FTDI connector, from Arduino IDE (as a matter of fact, I uploaded the release 10.2 of the DIYGeigerCounter software by BroHogan).

There is enough room in the enclosure to fit a second SI-29 Geiger tube in parallel (electrically) with the existing one, for better sensitivity.
The counter works perfectly with the bigger SBM-20 tube as well, but it is a bit challenging to fit that inside without some compromises.

The bottom cover of the enclosure does not require any modification (e.g. filing, drilling); one opening is still used for the (now smaller) USB connector, the other (originally designed for the power jack) is re-purposed for the power toggle switch.


Note that the miniB USB connector is only used for charging the battery and not for uploading sketches or for USB serial communication.

It would be very nice if this stylish enclosure gets re-designed for the 128x64 OLED display.

Wednesday, November 27, 2013

The ugliest project I've built so far

Based on this photo from BroHogan's gallery of Geiger counters, it was supposed to be a simple encasing using Adafruit's Arduino enclosure. Everything looked neat and clean inside, even with room to spare.
I wanted to use LiPo instead of AAA batteries, to avoid opening and closing the device every so often. This required the use of a LiPo charger, for which I picked the one I already had, the seeedstudio's LiPo Rider.

I spent countless hours trying to put this puzzle together:
  • only 4 places for screws;
  • small(ish) charger board must to be solidly anchored to the case (since an USB cable will be plugged in frequently), yet it does not have any hole for screws;
  • 6 wires (battery, V out, switch) must be soldered to the charger SMD board;
  • 12 wires need to connect the Geiger board to the LCD, on the other half of the case;
  • trim pot suspended somewhere (since there is no room for it on the PCB);
  • power switch to fit in the rectangular opening of the bottom ;

When I thought I figured it out, the two halves of the case wouldn't close because things inside were too tall/thick. Back to the "drawing board". Took out the ATmega328 from the Geiger board (it was touching the LCD connectors, which were already minimized for space), and replaced it with a cheap ($4) "Arduino Nano" (or is it "Mini") from ebay. This also helped immensely with the wiring: instead of connecting 12 wires between the case halves (Atmega328 to LCD), I had to solder only 3 (Vcc, Gnd, Int).



After a few more kludges (e.g. re-positioned the inductor on its side, removed the (over)power(ing) LED on Arduino Nano), I ended up with something , as the saying goes, "only a mother can love".

The lesson I learned from this experience is that, if one wants a seamless, solid, beautiful, project, one needs to either design the board for an enclosure, or the enclosure for a board. Trying to mix and match the board with the enclosure leads, at best, to something ugly.


Did I mention that I worked on it on and off for about 3 months?
The red light in the bottom left corner is the "charging" LED. (And then there is the somehow annoying LCD's backlight, visible through the translucent enclosure.)


The power switch is advertised as being the smallest rocker power switch out there. I only had to file off about 1mm on the upper side of the original rectangular opening to make it fit.

Another lesson I learned: use a transparent enclosure only when the inside looks perfect and you want to show it, and by "perfect" I mean even no visible wires.

Stay tuned for the next version of this Geiger device. (You did not think I would stop here, did you ? :)

Saturday, October 5, 2013

High voltage power sources for tubes (Nixie, VFD, Geiger)

Updated June 2, 2017 - added VFD power supply with automatic dimming (#4 in the list below), contributed by Ken

This is a superficial review of the few schematics I encountered while building Nixie clocks, VFD clocks and Geiger counters (no tube amplifier just yet). Although the schematics seemed basic at a glance, they usually ended up being a challenge (that is, they rarely worked right away) for me. That's another reason I am trying to cover them here, so I can use this post as consolidated reference any time I need it.

Tubes require high voltage to work. Some (Vacuum Fluorescent Display) need 40V, others (Nixie) 180-200V, and some others (Geiger) even higher, 400-1000V. The high voltages are generated these days by switching-mode power supplies. Essentially, there is only a handful of popular solutions, and each DIY tube kit picks one of these, based on size, power requirements, cost.

In principle, a switching mode power supply, also known as "boost converter", uses a square wave oscillator ("switch") to create magnetic energy in an inductor, then releasing it as high voltage.
Some scientific explanation (with formulas) can be found here, some practical advice (with schematics and photos) here. Adafruit has a very useful online boost calculator.

1. One of the most popular solution for the square wave oscillator is by using the ubiquitous 555. This is inexpensive, but requires some tweaking and adjusting (values of resistors and capacitors). The schematic is standard, but there seem to be a few variations.
The one below is from Ronald Dekker.


Frank clock (from Pete's Nixie kits) uses an almost identical schematic, but a different set of values for R2-R3- C4 (used for setting the frequency). In the end, the oscillator frequency is about the same at approx 30kHz, calculated with formula  f = 1/0.693/C4/(R3+2R2)  (in the schematic below).


Same 555 is used in Arduinix, but in a different configuration, although still as astable oscillator. This one has an extra HV capacitor (C4) in series with a resistor (R15), whose exact purpose I don't understand. The oscillation frequency is also weird, according to the above formula, with C3 at 47pF, should be 1.5kHz. No wonder this did not work for me.


Another almost identical HV power supply for Nixie tubes is used in the recently-kickstarted "Nixie tube shield" (for which I pledged $15 for the PCB, and yet to receive it).


And finally, 555 is also used to generate the higher voltages required by Geiger tubes, as used by BroHogan (and MightyOhm). The frequency of oscillation is 4.5kHz (f = 1/R1/C2). (I built several Geiger kits from BroHogan and they were all trouble-free.)



2. Other solutions use specialized chips like MAX1771 and MC34063.
Shown below is the high-efficiency boost converter from Nick de Smith (sold by ogiLumen), based on MAX1771.


Akafugu's VFD Version 1 clock uses the same MAX1771, to generate a lower 50V (for VFD tubes) MC34063 to generate 38V for the tubes (thanks Ken for the  correction - see his comment at the end of the post).


For MK2, Akafugu uses the same MC34063 chip (schematic not published yet).
The same chip is also used in their Nixie clock (schematic shown below), to generate 180V. This HV circuit has its own (all SMD) board, which I assembled it myself and worked without a glitch.



3. Yet others use a PWM pin of a microcontroller. This method requires the processor to be connected and programmed in order to generate the high voltage. The solution is cheap (saves an extra chip), smaller in size (again, one less chip), and also seems to be highly efficient.

Below is the HV schematic used by Adafruit's IceTube clock.


Some of the microcontroller-based boost converters have feedback (close loop, with PWM adjusting to the voltage output, if I am not mistaken), as are those from Cogwheel and Satashnik (shown below, respectively).



As with any analog electronics circuit, troubleshooting a HV supply is not easy. A suitable tool would be an oscilloscope, allowing for the measurement and adjustment of the frequency and pulse width. Once these are cleared, the high voltage could be adjusted usually from the trim pot. To modify the voltage range, try different values for the inductor.

4. A very useful addition is Ken's VFD power supply with automatic dimming, schematic shown below. Detailed info can be found here.



Sunday, August 7, 2011

DIYGeigerCounter now completed

Today I found the time to complete the great DIYGeigerCounter kit-based project, started a while ago.

As I was writing then, assembling it was a breeze, even though the kit I had, courtesy of BroHogan, was version 1.0. The Geiger counter worked nicely as soon as I powered it from (approx 5V) battery: the buzzer clicked and the LED flashed, even faster when the radioactive mantle was nearby. And this is where I stopped.

But the DIYGeigerCounter kit also offers the smart option of interfacing with an on-board microcontroller, specifically ATmega328, thus making it the cheapest Arduino-based Geiger counter available (compared to the Radiation shield from Libelium or Geiger counter from Sparkfun).

To finish this project, all I had to do was:
  • connect the LCD display as detailed here;
  • compile the software, provided here, and upload it;
  • find or make a practical enclosure;
  • assemble everything together.
The result is shown in the photo below.















The case is a cheap and sturdy plastic box, branded "Really Useful Box, 0.55 liters", bought a few years ago from Staples (it may still be available for sale). The lid is tightly held in place by the two blue side-handles.

A prototyping PCB provides the base for the main board, the LCD and the Geiger tube (I also added an FTDI connector, for software upgrades). The batteries, 4 rechargeable AAs, are connected to the board through a toggle switch (on the left side).

Should make for a handy Geiger counter anytime I get solicited by friends :)

A future extension (but realistically, a new project) would be adding logging capabilities, as documented here.


Related posts:

Saturday, April 30, 2011

My Geiger counters

I have had a Geiger counter project on my "todo" list for a long time, ever since fellow Arduino hobbyist BroHogan (aka John) created one  more than a year ago. His Geiger project received a lot of interest lately, with the unfortunate events in Japan, so he decided to provide a kit (which seems, not surprisingly, to be sold out pretty quickly). John graciously offered to send me one of his kits, which I just finished assembling, and I am glad to report on the impressions and results.

First of all, DIYGeigerCounter is a big kit in a small package; it's got more than 40 through-hole parts, on a PCB that would fit in an Altoids gum tin box (Note: only the PCB, not the Geiger sensor itself, which is too long).















The kit contains both the Geiger analog circuit (that generates the high voltage for the tube) and the ATmega328 microcontroller part (that can eventually drive an LCD), together on the same board.

The version I received is 1.0; the version John is selling is 1.4. The differences are minor: the latest revision has the resistors placed horizontally, a few more headers on the processor side and four screw holes in the corners.

Because of the complexity of the circuit, one needs to take the time to read the assembling instructions. There are lots of resistors and capacitors that need to be placed correctly. And then there are the diodes. To determine their orientations (they are not marked on the silkscreen in revision 1.0), one needs to use the continuity meter and the schematic, which is not a bad thing at all, since one learns about the circuit. (I know that the tendency is to just assemble everything in a haste, because I do that myself. I only learn when something goes wrong and the circuit does not work. Then I have to go to the schematic and use the multimeter.) OK, so no shortcuts here; this kit requires a bit of study, checking and identifying the parts, even crossing them off the list once installed (this is what I did).

Needless to say that the kit worked superbly right off the bat. I measured (with a regular voltmeter, not using the method BroHogan describes here) the high voltage, and it is 310V. It may sound dangerous, but I felt nothing when I touched those pads. The assembled Geiger counter is shown below, without the Geiger tube.
















Notice the nice clips for the tube. Other kits usually recommend just wrapping some wire around the tube's terminals, or worst, soldering the wires directly to the tube (this procedure may damage the tube, apparently).

The tube I used for partial testing (since I don't have any radioactive materials just yet) was part of another, much simpler (and much more expensive) kit, from electronic goldmine, shown assembled below.















I just inserted the clips over the installed tube and powered DIYGeigerCounter and started clicking (with the LED turning on) every 2 seconds, giving thus a "reading" of about 30 CPM (clicks per minute).

Next step is the addition of the LCD, detailed here. Then, I will need to build and enclosure, so I can take it out on the field and impress my friends when they chose their granite kitchen counter-tops :)