4 ms·
How to run an Arduino for years on a battery (2021)
- ggm 1y agorunning RF for wifi or BT or something may boost the budget a bit. Fixed point sampling capture would mean clock coordination which drifts. Sending a wake call to come out of low power states is what the old "Morse code" audible pulses of interference on radio in the GSM days were doing: making the higher cost digital signalling stack wake up. I think zigbee does stuff in this space. 6lowpan too. Put a wifi or bt shield on, battery will drop faster. If the led can blink a code, you could remote read it off a phone or something. Newton's did IR networking. The conference translation headsets use it too: the radiators for the signal get appreciably hot.
- userbinator 1y agoSending a wake call to come out of low power states is what the old "Morse code" audible pulses of interference on radio in the GSM days were doing No, that's the phone itself transmitting in its TDMA timeslots. https://en.wikipedia.org/wiki/Time-division_multiple_access#2G_systems https://en.wikipedia.org/wiki/Time-division_multiple_access#...
- ggm 1y agoSo I got the directionality wrong, but it did seem to presage a call event: you heard the distinctive tones before the ring. Would you agree it's part of the re-initialisation sequence, even if not directly caused by the transmission infra talking to the phone?
- KaiserPro 1y ago> Sending a wake call to come out of low power states is what the old "Morse code" audible pulses of interference on radio in the GSM days were doing kinda, but in this instance the radio in receive mode is quite expensive, something like 1-20ma. To get years long battery power you need micro amps.
- icedrop 1y agoAre images loading for anyone else? Seem broken for me.
- can16358p 1y agoNot loading for me either. Otherwise great post, though I'd love to have seen the images!
- shlip 1y agoTry https://web.archive.org/web/20210928210220/https://makecademy.com/arduino-battery https://web.archive.org/web/20210928210220/https://makecadem... Else, the schematic is here (the first pic is just a shot of the atmega chip): https://ibb.co/8gVbm1XR https://ibb.co/8gVbm1XR
- jcynix 1y agoarchive.org has saved the images: https://web.archive.org/web/20210615000000*/https://makecademy.com/arduino-battery https://web.archive.org/web/20210615000000*/https://makecade...
- JdeBP 1y agoAn apparently very common CloudFront misconfiguration that has spawned a thousand articles and StackExchange Q&As on how to fix it. Randomly chosen one: * https://minac.github.io/2015-05-20-s3-cloudfront-access-denied/ https://minac.github.io/2015-05-20-s3-cloudfront-access-deni...
- xmprt 1y agoI wonder how well this works in practice with a more complicated project. For example, if you have something that's usually sleeping but still needs access to wifi in order to send data and can also be woken up by another sensor in which case the loop isn't as simple. Throw in some threads running in parallel and it becomes much harder to manage. There are sleep modes that you can use for this but it's not as simple as this.
- whatever1 1y agoMaybe there are specialized microcontrollers that just efficiently sleep and wake up other microcontrollers?
- fake-name 1y agoThe ATmega328 (i.e. arduino without the garbage) is that microprocessor. It can sleep and only use ~66 microamps at 5V with the watchdog timer enabled. That's 330 microwatts. A 1000 mA lithium cell (3.6 watt-hours) could then run it for ~10909 hours, or 454 days (~1 1/3 years). Almost every microprocessor made these days has some sort of low-power sleep. The ATmega series aren't even particularly good at being low-power. Of course, you then realize the "arduino" is really just a badly designed development board for an atmega, and they went and used cheap voltage regulators that have an idle current consumption of > 1 mA, and give up on the whole project.
- crocowhile 1y agoArduino a poorly designed board is up there with the iPod being lame. Arduino was designed to be accessible and lower entry barriers and it became unrivaled for these purposes. If you want to have long lasting battery powered project you just power directly with 3.3v.
- mtlmtlmtlmtl 1y agoI spent some time* working on the firmware side of developing custom electronics based on various AVR chips, ATmega328 among them. Arduinos are not good for much more than babby's first microcontroller project. They're not even that great for prototyping. Besides the aforementioned hardware design issues, the "arduino" language(really just C++) and core library had several problems both in terms of code quality and abstracting over things that shouldn't be abstracted over when working with such a limited chip(8bit, 2k SRAM...), like significant memory allocations and interactions with SREG. My EE partner in crime ended up designing a prototyping board himself, with various creature comforts included that we needed shields for with Arduino, and I ended up writing just C with avr-libc instead of using any of the arduino library/tooling, developing a set of core modules to use the things we added to our boards, in a more flexible manner than the Arduino library. It took some time, but it saved us a lot of time and friction in our future prototyping efforts. All that being said, there's nothing wrong with Arduino as a platform for learning and personal tinkering. I do think they could've done a better job bridging the gap between that and prototyping though. * Ten years ago, so my memory of specifics is very fuzzy and only reflects the state of things back then.
- _ache_ 1y agoThere is an obvious mistake in the include. #include <JeeLib.h;> And the library doesn't seems well documented and rather shady actually. What is the casino thing ? It looks like an abandoned project that got web squatted / Brandjacked.
- lioeters 1y ago> JeeLib is an Arduino IDE library for JeeNodes (made by JeeLabs) Source code: https://github.com/jeelabs/jeelib https://github.com/jeelabs/jeelib Website: https://jeelabs.org/202x/sw/jeelib/ https://jeelabs.org/202x/sw/jeelib/ The latter redirects to a page that shows Git commits, but it's a hidden page in a Dutch site about online casinos. It does look a bit shady. In the GitHub org of jeelabs, there are only two authors and neither seem to be based in the Netherlands. Here's an archived website that documents the jeelib library. https://archive.ph/nmF5Q https://archive.ph/nmF5Q Relevant line: > a Sleepy class for ultra low-power sleeping of ATmega and ATtiny µC’s From a quick skimming of the codebase, I couldn't find this class. If I were the author, I would have forked the Sleepy class for my own use. Edit: Here's the definition of the Sleepy class. https://github.com/jeelabs/jeelib/blob/6df2d8da785aca77790e94121de7908e85179530/Ports.h#L345 https://github.com/jeelabs/jeelib/blob/6df2d8da785aca77790e9... It uses avr-libc's sleep functions. > <avr/sleep.h>: Power Management and Sleep Modes https://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html https://www.nongnu.org/avr-libc/user-manual/group__avr__slee...
- JdeBP 1y agoThe root page that you want is https://jeelabs.org/w/ https://jeelabs.org/w/ .
- KaiserPro 1y agoJeelabs was a guy that made a whole ecosystem of compact lowpowered arduino boards with radios attached. He did a series of posts as he made it ever more power efficient, but that was about 10 years ago.
- witnessme 1y ago[dead]