€15 IoT Geiger Counter using ESP8266

Geiger counters are devices used to detect radioactive emissions, most commonly beta particles and gamma rays. The counter consists of a tube filled with an inert gas that becomes conductive of electricity when it is impacted by a high-energy particle.
The Geiger–Müller tube or G–M tube is the sensing element of the Geiger counter instrument used for the detection of ionizing radiation.

Biemster wanted to improve this counter to an IoT device connected to the network byusing ESP8266 to discover easily where are the harmful radioactive things around.

Geiger-Müller tube
Geiger-Müller tube

Running down the center of the tube there’s a thin metal wire made of tungsten. The wire is connected to a high, positive voltage so there’s a strong electric field between it and the outside tube.
When radiation enters the tube, it causes ionization, splitting gas molecules into ions and electrons. The electrons, being negatively charged, are instantly attracted by the high-voltage positive wire and as they zoom through the tube collide with more gas molecules and produce further ionization. The result is that lots of electrons suddenly arrive at the wire, producing a pulse of electricity that can be measured on a meter, and if the counter is connected to buzzer heard as a “click.” The ions and electrons are quickly absorbed among the billions of gas molecules in the tube so the counter effectively resets itself in a fraction of a second, ready to detect more radiation.

In a nutshell, driving a G-M tube typically consists of 2 distinct parts:

  1. Providing the tube with a high voltage source for it to operate.
  2. Detecting each ionization event and convert it to a format that can be processed and sent over the internet.

Generating high voltage can be done by using PWM (Pulse-Width Modulation) signals after flashing the ESP8266 with the MicroPython firmware (version 1.8.3, with 10 kHz PWM support). Detection can be implemented as an interrupt handler that listens for and acts on discharges in the tube. Each discharge means a new detection.


You will need the following components:

  • 1x ESP8266
  • 1x STS-5 Geiger tube
  • 1x 4.7 mH inductor
  • 1x 4.7 nF Capacitor
  • 1x KSP44 transistor
  • 1x 2N3904 transistor
  • 1x 1N4007 diode
  • 1x 4.7M resistor
  • 1x 100k resistor
  • 1x 10k resistor
  • 1x 220 ohm resistor
  • 1x optional piezo buzzer
Circuit Schematic
Circuit Schematic

The circuit works as follows: A ~1 Khz squarewave turns the MPSA44 high voltage transistor on and off, generating high voltage when the inductors current is shut off. The voltage depends on the pulse width of the square wave which can be tweaked in software. The 1N4007 diode rectifies this voltage, and the High-Voltage capacitor removes most of the ripple on this voltage. The resistor limits current to the G-M tube. The current pulses from the tube generate a voltage drop over the 100K resistor which turns on the BC546. When this happens the voltage through the 10K resistor is pulled to ground, generating a negative going pulse each time the G-M tube detects an ionizing ray or particle.
The code  reports every event over MQTT, the lightweight IoT protocol. It also reports the CPM (Counts per Minute)  and the time passed since the previous event as (CPM,dt). The library of this project is available at Github, It handles the low level stuff such as PWM and pin assignments, and a general part that will communicate the measurements out to the world.
For more details, build instructions, and project updates you can follow the project on hackday.

TE0722 Zynq DIPFORTy1 “Soft Propeller” Module

The DIPFORTy1 is a powerful Xilinx based FPGA board with small form factor and many programmable I/Os. It is popular for its high performance at most competitive price.

DIPFORTy front face-FPGA Board
DIPFORTy front face


The TE0722 is based on the Xilinx Zynq-7000, a System on Chip. It contains a FPGA and a Dual Core ARM A9+ processor with enough logic gates to become a Propeller. The board also has 16 MByte of flash used for configuration. Everything fits on a Propeller-compatible DIP 40 pin board. The 16 MByte storage space is good enough for primary boot, though a micro-SD card can be attached as MIO/ZYNQ secondary boot media.

DIPFORTy back side-FPGA Board
DIPFORTy back side

The DIPFORTy1 ‘Soft Propeller’ is the lowest cost Zynq based module ever made. It’s also the first Zynq module that can use existing bases and project boards (Parallax Propeller chip compatibility). All this in a compact 1.8 x 5.1 cm form factor, at the most competitive price.

Quick look at specs:

DIPFORTy1 quick specs-FPGA Board
DIPFORTy1 quick specs

About FPGA:

It’s good to have some knowledge about FPGA before getting to know about DIPFORTy.

field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a designer after manufacturing. The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC).

A Spartan FPGA from Xilinx

FPGAs contain an array of programmable logic blocks. The hierarchy of configurable interconnects allows the blocks to be “wired together”. It’s just like many logic gates that can be inter-wired in different configurations. Logic blocks can be configured to perform complex time-independent logics. Blocks also can perform merely simple logic gates like AND and XOR. In most FPGAs, logic blocks also include memory elements. It can be simple flip-flops or more complete blocks of memory.

Features of TE07722 DIPFORTy1:

The DIPFORTy1 has lots of features. Lets have a look:

  • Xilinx ZYNQ-7: XC7Z010-CLG225
    • Dual Core ARM A9+
    • 16 MByte SPI Flash (primary boot)
    • 33.333 MHz clock (MEMS Oscillator)
  • DIP40 form factor
    • 2 x 20 holes for socket pins or pin-header
    • Size: 18 mm x 51 mm
  • 3.3 V single supply
  • RGB LED (PL I/O connected)
  • “Done” LED (inverted polarity)






  • Total user accessible PL I/O: 46 (+3 Input only)
    • DIP40 header pins: 34 I/O
    • XMOD J1: 6 I/O
    • XMOD J2: JTAG + 2 I/O (or 3 input + 2 I/O)
    • XMOD J3: 4 I/O
  • MicroSD card socket (MIO, ZYNQ secondary boot media)
  • Sil1143 proximity and ambient light sensor

Pin-Out Of DIPFORTy1 :


Processor of DIPFORTy1 :

The FPGA board is designed using Xilinx ZYNQ-7: XC7Z010-CLG225.

zynq-mp-core-dual-FPGA Board

Zynq-7000 devices are equipped with dual-core ARM Cortex-A9 processors integrated with 28nm Artix-7 or Kintex®-7 based programmable logic for excellent performance-per-watt and maximum design flexibility. With up to 6.6M logic cells and offered with transceivers ranging from 6.25Gb/s to 12.5Gb/s, Zynq-7000 devices enable highly differentiated designs for a wide range of embedded applications.


As the DIPFORTy1 is an industrial-grade Zynq-7000 SoC module, it’s highly powerful and appropriate for wide range of embedded applications including multi-camera drivers assistance systems and 4K/2K Ultra-HDTV. The board is totally value for money.

You can purchase it from trenz electronic or Digi-Key.

Vivado HL WebPACK Edition (free Version) is the recommended software.

Turn your Zero Pi into a USB Dongle

The $5 Raspberry Pi Zero is a standalone computer that can be embedded in various applications, but maybe now it is time to add some extra features.

It comes with a USB OTG port, meaning it can function as a USB device rather than a USB host. Thus, it can become a serial device with just a USB cable, an Ethernet device, MIDI device, camera, or just about anything else you can plug into a USB port.

Novaspirit has turned his Raspberry Pi Zero into a USB gadget, just like a RNDIS modem, with some easy steps. He aims to get the maximum benefit out of a Pi Zero without having to lug around any cables: “Just plug it in and you’re networked”

His hack turned the Zero Pi into a USB dongle with shared internet, and he could install services like webmin, owncloud, and vnc making it a great all-in-one device!


With minimal soldering, he converted the Zero’s onboard female USB jacks into a male USB plug.

You only need:

  • male usb connector
  • 4 wires
  • some soldering skills


Then you can follow the diagram to connect the male connector to Zero Pi

How to ‘donglify’ the Raspberry Zero Pi as Novaspirit suggests

  1. Attach the Raspberry Pi Zero running Pixel OS to your computer as a USB network device
  2. Set up VNC (Virtual Network Computing) on the Pi so that you can log into its desktop in a window
  3. Set up networking on the Pi so that it can connect to the wider Internet through the laptop
  4. Install OwnCloud so that the Zero serves as a cloud storage

Check out this tutorial by Novaspirit

Novaspirit guy is not the first who converted the Raspberry Pi Zero into a USB gadget that connects to the internet, but the most interesting thing about his project that you won’t lose any functionality of you Zero Pi; you can still plug your stuff and use it in your applications. In addition, he delivered a very simple hardware hack and easy to follow software tutorial on Windows.

You can check his website Novaspirit for weekly posts where you can find loads of projects and tutorials.
More details, designs and code snippets of this project can be reached here.

Water Tank Overflow Alarm System Using ESP8266

Sometimes the float valve of a water tank may not work properly causing water to overflow and spread across the floor. Peter Jennings faced this problem in his storage area, and he had developed an alarm device to notify him when the water exceeds its normal range.

Peter’s project includes a simple water sensor and ESP8266 wifi module connected with power switch circuit. When the water reach a specific threshold, the sensor will trig the switch to turn on the ESP8266, which will connect to a wireless network and send a message to a web server.

ESP8266 is a wifi module contains System-On-Chip (SOC) with integrated TCP/IP protocol stack that can give any microcontroller access to any WiFi network. The ESP8266 is capable of either hosting an application or offloading all Wi-Fi networking functions from another application processor. There are various versions of ESP8266 differ in size, shape and price. Peter used this $1.5 module, and you you are free in choosing your ESP8266 board.

ESP8266 ESP-01 Board
ESP8266 ESP-01 Board

Mini Pushbutton Power Switch from Pololu, an electronics manufacturer and an online retailer, is the power switch circuit used in this project. It is a $4 power control alternative to bulky mechanical switches which is able to turn on and off any device using the mini push button on the board, the external on & off pins, or a control signal. This low-voltage version operates from 2.2 V to 20 V and can deliver continuous currents up to around 6 A.

Mini Pushbutton Power Switch Board and Dimensions
Mini Pushbutton Power Switch Board and Dimensions

sensorThe sensor which is used to detect the overflow is very simple, it is just two wires pinned inside the tank above the highest level that water should reach. One of these wires is connected t
o the Vin pin, and the other is connected to CTRL pin on the switch circuit. DC current will flow between the two wires when the water pass the limit sending a control signal to turn on the Wifi module.

This combination is powered by a range of 3 volts to 3.6 volts battery pack. The circuits should be connected as shown in the diagram:


You have to create your own web server which will receive the message from the ESP8266 and notify you. If you are not familiar with web development you can use IFTTT, a free web-based service that allows users to create chains of simple conditional statements which are triggered based on changes to other web services.

To use IFTTT, you have to create your own account, then proceed to the Maker Channel to create a Trigger event. IFTTT will give you the URL to enter into the ESP8266 code. You can set the alarm to run a ringtone on your android device, tweet on your twitter account, post in facebook, send an email, and a lot of other choices.


There are also many ways to program the ESP8266. Peter used the simple NodeMCU Lua system, but for Arduino fans there is an Arduino firmware installation available for the ESP8266 which can also be used to implement the simple firmware required.

Additional information and other resources are reachable at the project page. You can also find some useful tutorials and links about using the ESP8266 and LuaLoader or getting started with ESP8266 on Peter’s website.

Online prototyping with A/D simulation, in Infineon Designer


Infineon Technologies’ Infineon Designer, introduced at the 2016 electronica trade fair, is presented as the first online prototyping engine combining analogue and digital simulation functionalities in an internet application. By Graham Prophet@ edn.com:

Requiring a web browser only, it is an aid to designers in selecting the right product for a defined application. Infineon Designer works intuitively in a very short time, and neither installation nor licenses are needed. The program features application circuits in the domain of Industrial Power, Lighting, Motor Control and Mobile/RF frontend design. It enables analogue/digital co-simulation of the 32-bit XMC1000 industrial microcontroller ARM Cortex-M0 series, using the free-of-charge code generation platform DAVE.

Online prototyping with A/D simulation, in Infineon Designer – [Link]

LTM4643 – Ultrathin Quad μModule Regulator with Configurable 3A Output Array


Configurable as quad, triple, dual or single output, the LTM4643 quad output step-down µModule [micromodule] (power module) regulator deliver, respectively, 12A, 6A & 6A or 9A & 3A, or 4 x 3A from a 9 x 15 x 1.82 mm ultrathin LGA package. by Graham Prophet @ edn.com:

This flexibility enables system designers to rely on one simple and compact µModule regulator for a variety of voltage and load current requirements in FPGA, GPU, ASIC and processor-based applications. The 1.82 mm height ultrathin package allows the LTM4643 to be mounted on the backside of the PCB, freeing space on the topside. The LTM4643 is suitable for systems with height restrictions, such as backside PCB assembly in PCIe applications and where the regulator must fit under a common heat sink or cold plate to cool high power FPGAs, GPUs, ASICs and processors in applications such as embedded computing, data storage, medical imaging and industrial systems

LTM4643 – Ultrathin Quad μModule Regulator with Configurable 3A Output Array – [Link]

DIY Arduino ProMini Data Logger

New Dupont-jumper build of the basic data logger build for 2016
New Dupont-jumper build of the basic data logger build for 2016

Ed Mallon has details on his DIY ProMini data logger:

Typical pro-mini loggers built with this design sleep at 0.25mA, before extra sensors are added. At that current draw, the logger should deliver approximately six months of operation on three brand new AA batteries with a 15min duty cycle; depending on sensor load.

DIY Arduino ProMini Data Logger – [Link]

PWM Fan controller


Lucky Resistor has build a PWM fan controller using Arduino and DHT22 sesnsors.

The fan controller described on this project page, controls one or more PWM controlled 12V PC fans. It uses the input from two precise DHT22 based temperature sensors. The MCU is an Arduino Uno, which is powered using a 12V power source. On top of the Arduino Uno, there is the Adafruit data logger shield — and on top of that is an Adafruit LCD shield. The software is a simple, custom written PID controller.

PWM Fan controller – [Link]

How to Choose a Connector


Sanket Gupta @ octopart.com discuss on how to choose a connector. He writes:

Continuing our series about choosing parts, inspired by the latest version of the Common Parts Library, let’s take a close look at how to find and select connectors. In this blog, we will explain all the different types of connectors, their merits and demerits, and their popular applications. We will also recommend some commonly used connectors with high supply chain availability to help you find the right connector.

How to Choose a Connector – [Link]

Pressure sensors need as little as 0.9 V


Susan Nordyk@ edn.com:

These micropower low-pressure sensors operate from a supply voltage of just 0.9 V to 1.8 V and are intended for use with noncorrosive, nonionic working fluids in such applications as medical devices and instrumentation, environmental controls, HVAC equipment, and portable devices.

Pressure sensors need as little as 0.9 V – [Link]