Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

You can use an M5StickC to generate a nearby JJY-like time signal that may help a radio-controlled clock synchronize when it has trouble receiving Japan’s official time signal. The project gets time from Wi-Fi and NTP, then uses a GPIO output and Arduino’s Ticker library to produce the signal pattern. It is a close-range experiment, not a long-range transmitter or precision frequency standard.

What the M5StickC JJY project does

The BF-018 project uses an M5StickC-family board to obtain time over Wi-Fi/NTP and output a simulated JJY signal from GPIO. Its repository names the M5StickC, M5StickC Plus, and M5StickC Plus2 as supported boards, and recommends using Rev.4 or later. Check the instructions for the specific repository revision and board before building; the project notes that Rev.4 supports the M5Stack 3.x Boards Manager. BF-018 project repository

The project is useful when a radio-controlled clock cannot reliably receive the real JJY signal. The clock must be close enough to couple with the small signal generated by the wire or antenna arrangement. Results depend on the clock, placement, orientation, and surroundings.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What a JJY signal encodes

NICT, Japan’s National Institute of Information and Communications Technology, specifies JJY carrier frequencies of 40 kHz and 60 kHz. The time code repeats in a 60-second cycle. Each second starts a pulse, with its duration representing a bit or marker:

#1 Best Overall
4289 M5Stick-C IoT Development Kit with 2 Sensors + Watch Ac
  • 4289 M5Stick-C IoT Development Kit with 2 Sensors + Watch Ac
Signal element Pulse duration Meaning
Binary 0 0.8 s ± 5 ms Zero bit
Binary 1 0.5 s ± 5 ms One bit
Position marker 0.2 s ± 5 ms Marker within the minute frame

NICT describes the start of a pulse this way: “At the beginning of each second, the amplitude is increased from 10% to 100% to start a new pulse.” See NICT’s technical page, “JJY – The JJY Signal”.

How the Ticker creates the pulse pattern

The project’s software calls a signal-generation routine every 100 milliseconds using Arduino’s Ticker. The routine checks the current fractional second and switches the carrier on or off at the appropriate point, producing the pulse widths needed for the JJY-like code. In the repository’s described startup flow, the board connects to Wi-Fi and obtains NTP time before signal output begins. Later revisions add recovery handling and RTC-based continuity if Wi-Fi is unavailable at startup or after a reset. BF-018 repository and revision guidance

Rank #2
Sale
Stick-RF 424 Module Compatible with M5Stack StickC Plus 2, Development Board Compatible with V1.1 & V2 PINGEQUA
  • [Engineered for Stability] Redesigned with an optimized PCB layout and enhanced onboard power management. This upgraded physical architecture minimizes electrical noise, providing a highly stable hardware foundation for standard STEM educational projects.
  • [Dual-Chip Hardware Architecture] Integrates standard Dual microchips onto a single physical expansion board. Designed to connect seamlessly via GPIO, allowing students and hobbyists to test basic IoT hardware configurations across different frequency bands.
  • [Physical Isolation Switch] Equipped with a highly reliable hardware slide switch to mechanically toggle between the two chips. This purely physical design ensures zero data bus conflict, offering a straightforward hardware experience without complex manual wiring.
  • [Precision Component Tuning] Features strictly impedance-matched antennas and high-quality passive components. It delivers consistent electrical signaling, making it an ideal teaching tool for learning basic radio frequency circuit principles.
  • [Complete Educational Lab Kit] Comes ready to use with a custom 3D printed resin-style enclosure. Includes a secure backpack-style mounting system to protect the bare electronics during desktop laboratory experiments. (Note: StickC Plus 2 host unit is NOT included. This is a blank-canvas hardware accessory).

A Ticker callback is convenient, but it is not equivalent to a hardware timer interrupt for timing accuracy. The project author explicitly cautions that the callback timing can vary.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What you need and how to arrange it

The core device is a supported M5StickC-family development board. M5Stack’s official M5StickC specification lists an ESP32-PICO-D4, 2.4 GHz Wi-Fi, a built-in RTC, Arduino IDE support, USB Type-C, and a Grove expansion interface; the package includes a USB Type-C cable. M5Stack M5StickC specification

Rank #3
M5Stack Series Core Development of Experimental Proto Board Suitable for ESP32 Basic Kit and Mpu9250 Kit for Arduino m5stack
  • M5Stack Series Core Development of Experimental Proto Board suitable for ESP32 Basic Kit and Mpu9250 Kit for Arduino m5stack
  • A supported M5StickC, M5StickC Plus, or M5StickC Plus2 board, matched to the project revision.
  • A roughly one-metre wire for the simple coupling experiment.
  • An approximately 1 kΩ resistor in series with the wire.
  • A radio-controlled clock to test, positioned close to the wire.

Basic GPIO wire experiment

  1. Use the board and software revision specified by the BF-018 repository; the project recommends Rev.4 or later.
  2. Connect a roughly one-metre wire between GPIO26 and ground with an approximately 1 kΩ resistor in series, following the project author’s simple experiment.
  3. Route or place the wire very close to the radio-controlled clock, then allow the board to connect to Wi-Fi and obtain NTP time.
  4. Observe whether the clock synchronizes. Adjust proximity and orientation if needed; the project does not promise a fixed reception distance.

The author also built an antenna-pattern PCB and showed demonstrations with clocks at different distances. Those are project examples, not guaranteed ranges or a claim that the PCB always outperforms the wire arrangement. BotanicFields project article

Choose a carrier and antenna arrangement

The repository identifies 40 kHz as its default carrier and describes an adjustable 60 kHz configuration, corresponding to the two official JJY frequencies. The choice does not change the basic trade-off: the signal is generated locally and depends on how well the clock couples to it.

Rank #4
BoxWave Cable Compatible with M5Stack M5StickC Plus ESP32-PICO Mini IoT Development Kit - USB Expansion Adapter, Add USB Connected Hardware to Your Phone
  • 👫 [COMPATIBILITY] BoxWave Cable Compatible With M5Stack M5StickC PLUS ESP32-PICO Mini IoT Development Kit. The USB Expansion Adapter is an OTG (On The Go) Host Adapter that connects to the USB Type-C port on your device, and turns it into a powerful PRODUCTIVITY HUB! ⭐ *** PLEASE NOTE, M5STICKC PLUS ESP32-PICO MINI IOT DEVELOPMENT KIT DEVICE NOT INCLUDED ***
  • 📦 [EXTRA STORAGE] Plug in an external THUMB DRIVE for more STORAGE SPACE. Save photos, music, apps, and more onto this thumb drive and save your device's internal memory from filling up.
  • 🎭 [VERSATILE] You can even use the USB Expansion Adapter to plug in a MOUSE or KEYBOARD! Now use your keyboard or mouse to navigate your device QUICKER and more accurately. Type out your emails faster. Move around in your internet browser with ease.
  • 💻 📲 [TRANSFER DATA] Transfer data at LIGHTNING FAST speeds with the USB Expansion Adapter. Utilizing USB 2.0 Standard, you'll have all of your files backed up and transferred in no time at all!
  • 🏃 [OTG HOST ADAPTER] Expand your Productivity with BoxWave's USB Expansion Adapter!
Choice What the project indicates Practical consideration
40 kHz Repository default Begin with the default configuration unless you have a reason to change it.
Near 60 kHz Repository describes an adjustable 60 kHz configuration Use the revision-specific instructions to make the change.
GPIO wire and resistor Author’s simple experiment: GPIO26, ground, approximately 1 kΩ in series, and roughly one metre of wire Low-complexity close-range coupling; placement matters.
Antenna-pattern PCB Author reports building and demonstrating a custom board Do not assume availability as a product or a guaranteed distance advantage.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Timing accuracy and realistic expectations

In an author-reported observation lasting about 62 hours, 58 timing intervals fell outside ±5 ms. The measured extremes exceeded −902 ms and +929 ms. The author suggested that contention with system activity such as Wi-Fi/NTP could disrupt scheduling and considered the results adequate for the project’s clock-synchronization use, while acknowledging that the timing was not top-tier. These figures describe one project measurement, not a general ESP32 benchmark or a guaranteed result for every board and build. BotanicFields timing observation

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

That distinction matters: the official JJY pulse-width tolerances describe the reference signal, while a software callback project may not reproduce those timings consistently. Treat the device as a practical nearby aid for trying to synchronize a clock, not as a calibrated signal source.

Safety and scope

This setup is a GPIO-based, close-range project. It should not be represented as an authorized long-range radio transmitter, nor as a replacement for a calibrated frequency standard. Keep expectations local: the aim is to couple a JJY-like signal to a nearby clock when the real signal is difficult to receive.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.