

Talking counter
Open-source USB frequency counter
- Size
- 86.4 × 61 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 60
- Nets
- 72
- Pads
- 207
- Tracks, vias
- 310, 54
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 26 Jul 2019
- Updated
- 21 Oct 2023
Overview
Talking counter is an open-source printed circuit board by swharden, from the swharden/USB-Counter repository on GitHub, published under the MIT licence. It is a 2-layer board of 86.4 × 61 mm with 60 parts on 72 nets, routed with 310 tracks and 54 vias.
It is built around the AVR64DD32-I/PT, FT231XS-R and AP2112K-3.3, with the UJ2-MIBH-G-SMT-TR among its other parts. Its parts include 17 resistors, 15 capacitors, 7 diodes, 6 ICs and 3 connectors.
Main components
4AVR64DD32-I/PT
TQFP-32(7x7)-40℃~+85℃ 1.8V~5.5V 10bit 12bit 24MHz 256Byte 26 64KB 8 Bit 8KB AVR Built-in FLASH TQFP-32(7x7) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)FT231XS-R
SSOP-20-150mil-40℃~+85℃ 125uA 5V 8.4mA USB 2.0 USB to UART SSOP-20-150mil USB Converters ROHSFTDIUSB ConvertersAP2112K-3.3
SOT253.3V 600mA CMOS Low Dropout Linear Regulator with EnableDiodes IncorporatedUncategorisedUJ2-MIBH-G-SMT-TR
SMD-30℃~+85℃ 1 500mA、1.8A 5P 5V Black Female Micro-B Surface Mount,Vertical USB 2.0 SMD USB Connectors ROHSCUIUSB Connectors
README
README.mdUSB Counter
This project contains the design files and notes for a USB counter. By populating one of two input paths with components this device can serve as a sensitive frequency counter (with a small-signal amplifier front-end) or a pulse counter (with a simple 50 ohm load at the front-end). Measured frequency is sent to the computer over USB, but can also be displayed on an optional 7-segment display module.

LED Display
In addition to serial output, this counter can optionally interface a SPI-driven 7-segment display (based on a MAX7219). These display modules are about $4 on Amazon and allow this counter to be used without a computer. Note that the LED display and USB output can both be used at the same time.

USB (Serial) Output
When plugged in to a USB port the counter looks like a serial device. It continuously transmits the count (at 115200 baud) at an update rate which can be customized (commonly 1Hz, 10Hz, and 100Hz.) The output is two numbers: time (in seconds) and the count between the last update and this one. In this example it is measuring a radio frequency signal near 10.139977 MHz

Precision Frequency Measurement
One advantage of this counter is that it is never reset. Its core is a 32-bit counter, and every gate cycle transmits the current count to the computer over USB. Because every input cycle is measured high precision measurements of frequency over long periods of time are possible. For example, 1000 repeated measurements with a 1Hz gate allows frequency measurement to a precision of 0.01 Hz.
Internal or External Gating
The microcontroller is capable of generating gate cycles in software. Precision is limited to that of the TCXO used to clock the microcontroller (2.5 PPM). For higher-precision gating a resistor may be lifted and an external gate applied (e.g., 1PPS GPS signal).
Design and Build Notes
- Revision 1.0 - schematics and PCB design - first tested 2019-07-26
- Revision 1.1 - schematics and PCB design - first tested 2019-08-03
About
This project was created by Harden Technologies, LLC. To inquire about the development special features or customized versions of this hardware or software, contact the author at SWHarden@gmail.com.
Parts
60| Qty | Value | Footprint | References |
|---|---|---|---|
| 13 | .1u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C2, C3, C4, C5, C6, C7, C10, C11, C12, C13, C14, C16 |
| 13 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R3, R4, R5, R6, R7, R8, R11, R12, R13, R14, R15, R16, R17 |
| 4 | MountingHole | MountingHole:MountingHole_4.3mm_M4_DIN965_Pad | H1, H2, H3, H4 |
| 2 | 27 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R9, R10 |
| 2 | 47p | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C8, C9 |
| 2 | D | Diode_SMD:D_SOD-123 | D1, D2 |
| 2 | Ferrite | Inductor_SMD:L_0805_2012Metric_Pad1.15x1.40mm_HandSolder | FB1, FB2 |
| 1 | 100k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1 |
| 1 | 10MHz | TestPoint:TestPoint_Pad_D1.0mm | TP2 |
| 1 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2 |
| 1 | 50 | Resistor_THT:R_Axial_DIN0411_L9.9mm_D3.6mm_P20.32mm_Horizontal | R_LOAD1 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | AVR64DD32 | Package_QFP:TQFP-32_7x7mm_P0.8mm | U3 |
| 1 | CKOUT | TestPoint:TestPoint_Pad_D1.0mm | TP1 |
| 1 | Conn_Coaxial | Connector_Coaxial:SMA_Amphenol_132134_Vertical | J1 |
| 1 | FT231XS | Package_SO:SSOP-20_3.9x8.7mm_P0.635mm | U1 |
| 1 | FT5HV | Oscillator:Oscillator_SMD_Fox_FT5H_5.0x3.2mm | U4 |
| 1 | LED_PWR | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D3 |
| 1 | LED_SIG | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D7 |
| 1 | LED_STATUS | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D6 |
| 1 | LM4862MX_NOPB | Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.29x3mm | IC2 |
| 1 | PROG | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J2 |
| 1 | RX_LED | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D4 |
| 1 | R_VOL | Potentiometer_THT:Potentiometer_Alpha_RD901F-40-00D_Single_Vertical | RV1 |
| 1 | SW_MEC_5E | Button_Switch_THT:SW_PUSH_6mm_H5mm | SW1 |
| 1 | Speaker | Library:speaker SM231508 | LS1 |
| 1 | TLV3501AIDR | Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.29x3mm | IC1 |
| 1 | TX_LED | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D5 |
| 1 | UJ2-MIBH-G-SMT-TR | Connector_USB:USB_Micro-B_Amphenol_10118193-0001LF_Horizontal | J3 |
More from swharden/USB-Counter
5- 2 layers88.9 × 59.7 mm

- 2 layers91.4 × 61 mm

- 2 layers91.4 × 60.9 mm

- 2 layers60.6 × 40 mm

- 2 layers56 × 40 mm

Similar boards
- 2 layers18 × 43 mm

- 2 layers40.6 × 63.5 mm

PressureSensor
swharden/PressureSensor
Minimal complexity standalone digital pressure sensor
25 partsMIT - 2 layers160 × 100 mm

Kha bgt audio base
kiu/kha
Overengineered Modular RS-485 Multi-Master 19" Subrack Home Automation / Control
25 parts5 - 2 layers35 × 100 mm

- 2 layers20.5 × 15.1 mm

- 2 layers50.9 × 17.8 mm

- 4 layers52.7 × 47.6 mm

Esp8266 atmosphere sensor
abzman/esp-IoT-boards
R5v: 1.9K for the red LED, 3.9K for the blue LED
62 parts9Unlicense - 2 layers46.8 × 52 mm

Usb dev board
cs2dsb/stm32-usb.rs
A dev board designed to facilitate the development of USB firmware for STM32
57 parts30Apache-2.0
Questions
How big is the Talking counter PCB?
It measures 86.4 × 61 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Talking counter use?
60 parts, built around the AVR64DD32-I/PT, FT231XS-R, AP2112K-3.3 and UJ2-MIBH-G-SMT-TR. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Talking counter KiCad files?
From the swharden/USB-Counter repository on GitHub, at the commit this page was made from: the board is builds/2.3/kicad/talking-counter/talking-counter.kicad_pcb and its schematic builds/2.1/usbcounter/usbcounter.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Talking counter design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).