SNTP synchronised clock v1 – boxing it up

The SNTP synchronised clock (ssc) is an ESP8266 based time of day clock with an LED display.

The code is fairly mature, and the boxed prototype will be build with a large 4 digit 7 segment LED display (1.2″ or 30mm) using the HT16K33 driver chip.

The prototype will be housed in an ABS Jiffy box, and a new lid cut from dark red transparent acrylic on the CNC router.

Above is the sketch of the layout. The screw holes in the display are M1.6, and there is no clearance for larger screws. Continue reading SNTP synchronised clock v1 – boxing it up

SNTP synchronised clock v1 – display options

The SNTP synchronised clock (ssc) is an ESP8266 based time of day clock with an LED display.

Code development progresses and a working prototype exists with three display options.

Directly supported 4 digit 7 segment LED displays

Several common driver boards are supported directly by the source code, most of these and variants can be purchased online for small money.

HT16K33

Above is a large 4 digit 7 segment LED display (1.2″ or 30mm) using the HT16K33 driver chip. Continue reading SNTP synchronised clock v1 – display options

SNTP synchronised clock v0.01 – a preview

The SNTP synchronised clock (ssc) is an ESP8266 based time of day clock with an LED display.

Design criteria

The design criteria are:

  • small, portable, powered from a 5V USB power supply;
  • synchronised to a SNPT (simple network time protocol) server;
  • flexibility for a range of displays (74HC595 static, TM1637, HT16K33);
  • configurable time zone offset and daylight saving offset;
  • configurable from a web page;
  • switchable HH:MM and MM:SS display formats; and
  • switchable daylight saving mode.

The concept is that it is synchronised to net time, and the only adjustment needed through the year is to flick the daylight saving mode.

The hardware comprises:

  • ESP8266 dev board of some kind;
  • 5V to 3.3V power supply; and
  • 4 digit 7 segment LED display, preferably with a colon in the middle.

Above is a development prototype using a Wemos D1 mini ESP8266 board and 4 digit display using 74HC595 shift registers. Continue reading SNTP synchronised clock v0.01 – a preview

Fix for a certain TM1637 LED display

There are a miriad of low cost displays for hobbyists in online shops, particularly targeting Arduinos where libraries exist to drive the most common chips.

This article looks at a 4 digit LED module particularly suited to a digital clock display. The driver chip is a TM1637, and it requires Vcc and Gnd, a data IO wire and data clock wire.

Above is an example that just didn’t work. Continue reading Fix for a certain TM1637 LED display

Ultrafire XML-T6 LED torch – a fix for the dysfunctional mode memory ‘feature’ #2

On review of the Ultrafire XML-T6 torch, I found the mode switching / mode memory so dysfunctional that it rendered the torch useless in my evaluation.

At Ultrafire XML-T6 LED torch – a fix for the dysfunctional mode memory ‘feature’ I gave a fix for that revision of the electronics, and updated it with description of a later fixed production model.

Years later, I bought two more of these due to switch failures on the originals… and guess what, the flash on power on returns.

Let’s pull them apart.

They have a new revision / version of the LED driver PCB, and it has provision for a resistor in parallel with the capacitor, but the resistor pads are not populated.

Above, the LED driver board with a 100k resistor added, it is the far component. This was an 0805 part that was on hand, but ideally should be a 0603. Continue reading Ultrafire XML-T6 LED torch – a fix for the dysfunctional mode memory ‘feature’ #2

ESP8266, ESP32 reset – the (ugly) detail

Like many microcontrollers, the ESP8266 and ESP32 series contain an in-Silicon bootloader which can be initiated at chip reset by holding a pin low at the moment of reset.

Documentation is not helped by less than common terms (like EXTRSTB for a pin that is really a /RST, and the EN pin which seems to be used interchangeably as a /reset pin). The other relevant pin is known as GPIO00, but can be thought of as a /BOOT bin (often labelled IO00 on PCBs).

Automatic bootloader initiation

The firmware is uploaded using ordinary RS232/TTL, and it is possible to use modem control signals to control the /RST (EXTRSTB) and /BOOT (GPIO00 or IO0) pins, indeed the common convention is to use RS232 signals RTS for resetting the MCU, and DTR for boot selection.

So, it is possible to connect RS232/TTL /RTS to /RST and /DTR to /BOOT, and ESPTOOL will automatically initiate the boot loader when accessing the chip.

Above is a simulation of that type of direct connection. The RTS/DTR scenario is that from ESPTOOL, but it can be seen that even if the RTS transition was delayed somewhat the /BOOT pin is low and when /RST rises the chip will initiate the bootloader. The critical timing is that /BOOT is low when /RST transitions from low to high. Continue reading ESP8266, ESP32 reset – the (ugly) detail

Logging temperature meter (ltm) v1 – prototype trial run measuring ECT

Logging temperature meter (ltm) is a ESP8266 based temperature measurement and logging device.

Above is the prototype, but for this test a small thin film NTC thermistor was attached to the existing engine coolant temperature (ECT) sensor. Continue reading Logging temperature meter (ltm) v1 – prototype trial run measuring ECT