New and Improved Geiger Counter - Now With WiFi!



This is an updated version of my Geiger counter from this Instructable. It was quite popular and I received a good amount of feedback from people interested in building it, so here is the sequel:

The GC-20. A Geiger counter, dosimeter and radiation monitoring station all-in-one! Now 50% less thicc, and with loads of new software features! I even wrote this User Manual to make it look more like a real product. Here's a list of the main features this new device has:

  • Touchscreen controlled, intuitive GUI

  • Displays counts per minute, current dose, and accumulated dose on homescreen

  • Sensitive and reliable SBM-20 Geiger-Muller tube

  • Variable integration time for averaging dose rate

  • Timed count mode for measuring low doses

  • Choose between Sieverts and Rems as the units for the displayed dose rate

  • User adjustable alert threshold

  • Adjustable calibration to relate CPM to dose rate for various isotopes

  • Audible clicker and LED indicator toggled on and off from homescreen

  • Offline data logging

  • Post bulk logged data to cloud service (ThingSpeak) to graph, analyze and/or save to computer

  • Monitoring Station mode: device stays connected to WiFi and regularly posts ambient radiation level to ThingSpeak channel

  • 2000 mAh rechargeable LiPo battery with a 16 hour run time, micro USB charging port

  • No programming required from the end user, WiFi setup handled through GUI.

Please refer to the user manual using the link above to explore the software features and UI navigation.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Design Files and Other Links

All design files, including the code, Gerbers, STLs, SolidWorks Assembly, Circuit Schematic, Bill of Materials, User Manual and Build Guide can be found at my GitHub page for the project.

Please note that this is a fairly involved and time-consuming project and requires some knowledge of programming in Arduino, and skills in SMD soldering.

There is an information page for it in my portfolio website here, and you can also find a direct link to the build guide I put together here.

Step 2: Parts and Equipment Needed

The Circuit Schematic contains part labels for all discrete electronic components used in this project. I purchased these components from LCSC, so entering those part numbers in the LCSC search bar will show the exact components needed. The build guide document goes into more detail, but I'll summarize the information here.

UPDATE: I've added an Excel sheet of the LCSC order list to the GitHub page.

Most of the electronic parts used are SMD, and this was chosen to save space. All passive components (resistors, capacitors) have a 1206 footprint, and there are some SOT-23 transistors, SMAF size diodes, and SOT-89 LDO, and an SOIC-8 555 timer. There are custom footprints made for the inductor, switch and the buzzer. As mentioned above, the product numbers for all of these components are labeled on the schematic diagram, and a higher quality PDF version of the schematic is available at the GitHub page.

The following is a list of all the components used to make the full assembly, NOT including the discrete electronic components to be ordered from LCSC or a similar supplier.

  • PCB: Order from any manufacturer using Gerber files found in my GitHub
  • WEMOS D1 Mini or clone (Amazon)
  • 2.8" SPI Touchscreen (Amazon)
  • SBM-20 Geiger tube with ends taken off (many vendors online)
  • 3.7 V LiPo charger board (Amazon)
  • Turnigy 3.7 V 1S 1C LiPo battery (49 x 34 x 10mm) with JST-PH connector (HobbyKing)
  • M3 x 22 mm Countersunk screws (McMaster Carr)
  • M3 x 8 mm hex machine screws (Amazon)
  • M3 brass threaded insert (Amazon)
  • Conductive copper tape (Amazon)

In addition to the parts above, other miscellaneous parts, equipment and supplies are:

  • Soldering iron
  • Hot Air soldering station (optional)
  • Toaster oven for SMD reflow (optional, either do this or the hot air station)
  • Solder wire
  • Solder paste
  • Stencil (optional)
  • 3D printer
  • PLA filament
  • Silicone-insulated stranded wire 22 gauge
  • Hex keys

Step 3: Assembly Steps

1. Solder all SMD components to the PCB first, using your preferred method

2. Solder the battery charger board to the pads SMD-style

3. Solder male leads to the D1 Mini board and to the bottom pads of the LCD board

4. Solder the D1 Mini board to the PCB

5. Cut off all protruding leads from the D1 Mini on the other side

6. Remove the SD card reader from the LCD display. This will interfere with other components on the PCB. A flush cutter works for this

7. Solder through-hole components (JST connector, LED)

8. Solder the LCD board to the PCB AT THE END. You won’t be able to de-solder the D1 Mini after this

9. Cut off the bottom-side protruding male leads from the LCD board on the other side of the PCB

10. Cut two pieces of stranded wire around 8 cm (3 in) long each and strip the ends

11. Solder one of the wires to the anode (rod) of the SBM-20 tube

12. Use the Copper tape to attach the other wire to the body of the SBM-20 tube

13. Tin and solder the other ends of the wires to the through-hole pads on the PCB. Make sure the polarity is correct.

14. Upload the code to the D1 mini with your preferred IDE; I use VS Code with PlatformIO. If you download my GitHub page, it should work without needing any changes

15. Attach the battery to the JST connector and power on to see if it works!

16. 3D print the case and the cover

17. Attach the brass threaded inserts into the six hole locations in the case with a soldering iron

18. Install the assembled PCB into the case and secure with 3 8mm screws. Two on top and one on the bottom

19. Place the Geiger tube on the empty side of the PCB (towards the grill) and secure with masking tape.

20. Insert the battery over the top, sitting over the SMD components. Guide the wires to the gap at the bottom of the case. Secure with masking tape.

21. Install the cover using three 22 mm countersunk screws. Done!

The voltage to the Geiger tube can be adjusted using the variable resistor (R5), but I've found that leaving the potentiometer in the default middle position produces just over 400 V, which is perfect for our Geiger tube. You can test the high voltage output using either a high-impedance probe, or by building a voltage divider with at least 100 MOhms of total impedance.

Step 4: Conclusion

In my testing, all features are working perfectly in the three units I've made, so I think this is going to be pretty repeatable. Please post your build if you end up making it!

Also, this is an open-source project so I would love to see changes and improvements made to it by others! I'm sure there are many ways to improve it. I'm a mechanical engineering student and I'm far from an expert in electronics and coding; this just started as a hobby project, so I'm hoping for more feedback and ways to make it better!

UPDATE: I'm selling a few of these on Tindie. If you'd like to buy one instead of building it yourself, you can find it at my Tindie store for sale here!

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Multi-Discipline Contest

      Multi-Discipline Contest
    • Robotics Contest

      Robotics Contest

    21 Discussions


    1 day ago

    Is there a special reason to unsolder the caps of the SBM-20 and attach one using the copper tape ?
    Maybe I've overseen it?
    I'd like to avoid damaging the tube by removing the soldered caps :).

    2 replies

    Reply 1 day ago

    The tube won't fit in the case without removing at least one of the ends. I wanted to make it as compact as possible


    Reply 7 hours ago

    Thank you very much for that quick reply.
    Yesterday I tried to print the housing, but my printer refused to work like I wanted.
    Now I'm a bit frustrated and got two fingers burnt ;).


    1 day ago

    Maby the best so far diy geiger I ve seen!!!
    Could you help us with a guide for programming the boards?

    1 reply

    Reply 1 day ago

    You can program it just like any other esp/Arduino board. If you're using the Arduino IDE, make sure all the required libraries are installed.


    8 days ago

    I love this PLA good looking, nice work


    Question 18 days ago

    This Geiger counter has better features than most commercially available ones. Do you sell kits or functioning units? I would love to buy one!

    Awesome work!

    5 answers

    Answer 18 days ago

    Thank you for the kind words! My goal was to take the most useful features found in commercial Geiger counters and combine them into a compact and modern unit.
    I originally planned to make a few short production runs of ~20 units each, but being a student my free time is very limited so I haven't gotten around to it yet. I do have the parts to make 5 of them right now and I'll try to put them up for sale on Tindie or eBay or something in the coming weeks.
    That said, this design is not optimized for mass production so making it is fairly labor intensive. The sale price will probably be on the order of $180 - $200.


    Reply 10 days ago

    Definitely consider making the kit! Maybe do a small-scale Kickstarter?


    Reply 18 days ago

    Once you put it on eBay for sale, please pm me the link. I will buy one for sure!


    13 days ago

    Hello! Are there any other tubes besides the SBM-20 that will work in this instrument?

    1 reply

    Reply 12 days ago

    Any tube that takes 400-500 V will work, but to fit inside the housing, it will need to be smaller than 11 mm in diameter and 95 mm in length


    17 days ago

    I have a very high interest in your device ! But I've a couple of questions :
    1) on the schematics, you connect the battery at the correct terminal of the charging and monitoring board but you use the battery output directly not taking opportunity of the battery protection device. To use it you have to connect the load at the "OUT+" and "Out -" pins.
    2) you give WEB links for the proper parts, but the battery one gives a 404 error. And as you did not give the P/N of the battery, it is difficult to choose one that fits in the box ;-)
    I would be delighted if you started sell the device as a kit (and you could make a few copies because the Wifi and charging boards are sold by lot of 5 or 10) .... It will be easier to get all the required parts in one package, ensuring we get exactly what is needed !
    Thanks a lot for reading me !
    Have a bright day and keep on the good work.

    2 replies

    Reply 16 days ago

    1) Battery protection is provided by the safety circuitry built into the battery itself. I opted not to use the OUT terminals because I noticed a small voltage difference between the B+ and OUT+ terminals.
    2) I fixed the battery link and added dimensions
    I'm glad you liked the project! I do plan to sell a few of these, but selling kits might actually be more time consuming because of the tedious work of individually separating, packaging and labeling all the tiny SMD components that look the same.


    Reply 16 days ago

    If you put some on Ebay or other platform, tell me please. I would buy one right away.
    Have a nice day


    17 days ago

    Nice Build, im working on building your previous model at pressent and have added usb charging with a simple mod, and think it will easily fit my needs. i don't work with SMT if i can avoid it as prefer the ease of through hole. i have the pcb for it partially populated with the parts i have, just waiting for the last two items so i can complete the build. is there any update to the code for the previous model? i haven't programmed the board yet as it is one of the parts im waiting for. im not very experienced with code and arduino in general so having your help with this would be gratefully received..

    2 replies

    Reply 17 days ago

    The code is fully compatible with the old design! I didn't change any pin connections so it should work without any changes.
    I would recommend using platformIO on visual studio code because then you can just download my GitHub project and upload it without having to change anything. Just download the required libraries and you're set.


    Reply 17 days ago

    Awesome thanks for that, really look forward to getting this working, and will share here when i do. my case is going to be radiation yellow with black radiation symbol, have just finnished the prep work so the project is coming allong nicely. the only hold up is waiting for ebay purchases to arrive, as it takes for ever to get them here to New Zealand.