0

I am looking for a very low power, small component (perhaps an arduino) that will send a pulse 3.3V logic HIGH pulse once every X seconds to another system. I want to be able to configure X (maybe a trim pot or something) based on the use case the most rapid use case would be about once per second and the slowest would be once per hour. The duration of the pulse doesn't really matter much as long as it's one second or less.

Adafruit sells an item (PRODUCT ID: 3573) based on a Texas Instruments TPL5110 chip that sort of does this but it's a timed constant HIGH signal, not a pulse. I am an electronics noob and am not sure what category of component this falls under but I have tried googling and reading tutorials on timers.

4
  • 1
    There are a lot of 555 (NE555) circuits published on the web that will probably do what you want. You might search for a 555 pulse generator and pick a circuit you can build with the parts on hand.
    – Gil
    Commented Sep 22, 2021 at 1:25
  • thanks! I will try looking for "pulse generators"
    – rfii
    Commented Sep 22, 2021 at 1:52
  • there is no "arduino" in your question
    – jsotola
    Commented Sep 22, 2021 at 2:10
  • 4
    You could do that with an Arduino: that would make the question on-topic here. Then use a sleep mode and port your code to an ATtiny85 (there are Arduino cores for it): that would make the component small and low power. Commented Sep 22, 2021 at 7:13

1 Answer 1

4

As Edgar Bonet commented, you can do this using an ATtiny85 IC in an 8-pin DIP package which is available for about $1 and can be programmed using the Arduino IDE.

You have to tell the Arduino software about the ATtiny85 by installing a "core" for it such as Spence Konde's

You will need a device to transfer the program into the ATtiny85, either a $5-$15 AVR programmer or something like an Arduino Uno using the Arduino-as-ISP sketch .

Writing the software will be extremely easy by Arduino standards.

One advantage of the ATtiny85 over the same sized NE555 is that the ATtiny85 needs no external components (resistors capacitors etc) and so is a lot simpler to use. You can run this ATtiny85 on a 3.3 Volt supply (anything from 2.7 → 5.5 V will work).

If you want an ATtiny85 on a pre-assembled PCB (like that Adafruit TPL5110 product), try a Digispark or a $1 Digispark clone, it can be plugged directly into a USB port for programming with the Arduino IDE. I haven't tried running one on 3.3V but I suspect that should be possible by connecting the 3.3V supply to the "5V" pin to bypass the Digispark's 5V regulator.


See https://wokwi.com/arduino/projects/310458692893934146

Wokwi project

I was also able to run it on a cheap Digispark clone from a 3V3 supply

Digispark

The only advantage over a bare ATtiny85 is that you don't need any programming hardware, just a USB port on a PC.

4
  • Awesome idea! this is perfect. I hadn't thought of an Arduino as a subcomponent of another arduino! I also appreciate the really thorough answer with the great links, sketch, and even picture. Really helpful and I appreciate it
    – rfii
    Commented Sep 23, 2021 at 2:04
  • Do you have thoughts about making this sleep between pulses since I'd need that to be low power?
    – rfii
    Commented Oct 17, 2021 at 23:24
  • @rfii: That's a different question, there may be some answers to similar questions here. You need to put the device into a low-power sleep-mode and set an interrupt-timer to wake it. There's a really good example project at David Johnson-Davies's blog - he has many projects that use low-power sleep to extend battery life. He does tend to use a more serious coding style though. Commented Oct 19, 2021 at 10:08
  • Thanks! I found code from Sparkfun at learn.sparkfun.com/tutorials/h2ohno/all which has sleep functions. I inserted sleep periods in and it works
    – rfii
    Commented Oct 22, 2021 at 2:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.