A Study In AVR Power Saving Techniques

amtel_avr

[Scott] found the iCufflinks from Adafruit Industries pretty interesting, but he thought that the stated run time of 24 hours was a bit short. He figured he could improve the product’s power consumption at least a little bit, to improve the overall battery life.

From their schematics, he placed an order for parts and built two identical iCufflink mock-ups side by side – one running their code and one running his. He took baseline current draw measurements, then got busy slimming down the cufflinks’ software. It had been 20 years since he touched assembly, and he has never written it for an AVR, but judging by his work he’s not rusty in the least.

He slowed the ATtiny’s clock down and tweaked a few other settings for a savings of 53μA, but the real improvements came via a fairly simple fix. The original code called for the processor to institute a counting loop to sleep, which he found to be very wasteful. Instead, he chose to put the processor in an idle state, using the chip’s watchdog timer to wake it when it was time to pulse the LED. The power savings from this change alone was a whopping 261μA!

When he was said and done, the changes save about 315μA of current draw, and should allow the cufflinks to run for up to 38 hours without swapping batteries. In [Scott’s] opinion, a nearly 60% improvement in battery life is pretty good for a day’s work, and we’re inclined to agree.

88 thoughts on “A Study In AVR Power Saving Techniques

  1. pt – I only post here as George; I was trying to point out that I’m *not* h3llphyre or whatever, but responding to your comment to him/her about specific examples of amateur design. (You said ‘documentation’, but I read his/her comment as being more general.)

    No, I’ve never emailed you or posted about this. Why would I? You have, as you quite correctly note, a working product. A working product which you can successfully sell at your chosen price point, to people with a certain level of skill. It’s not my place to go around telling OSHW celebrities who went to college to learn this stuff (and thus have no good excuse for leaving off a fuse… a fuse, for crying out loud…) they should be/could be putting in a little extra effort to adhere to (or use your exposure to set by example!) design best practices, or to make them more user-friendly for that crazy 1% of users.

    I *did* email Brad (I think that’s his name) from the ArduiNix team a couple years ago. The ArduiNix (a nixie shield, in case you’re unfamiliar with it) uses tombstoned resistors as a means of saving board real estate. That’s fine (well, generally a design no-no, but…), *except* that some of those tombstoned resistors are in the high-voltage tube driver section; touching the exposed lead of one of them will expose you to 150ish VAC. (Care to guess how I know this?) “Only” at a couple mA, to be sure, but that’s still an inexcusably insane thing to do. IMO, obviously.

    Compared to making design decisions that can very easily zap your valued customers with high voltage, choosing to leave a $0.40 polyfuse off of an $80 kit to let people experience what happens when all five watts the wall-wart can produce dumps into a product that normally draws less than a tenth of that is… almost admirable. :)

  2. hi @george – i think this will be a world record, you posted a dozen suggestions at 11:18am, on 11:55am i said we’d review these and see if they were things we could/would improve.

    i think it’s clear we really do like feedback – the interesting thing is, we’ve thought about these things before – if you posted or emailed we could have talked about these (like scott did for example). i think you’ll now see why we did or didn’t do certain things now – and how some of them just would not make any sense for us to include in this product. you’re welcome to disagree, we’d like to hear that too. on our weekly video show we talk about -why- we decided to do certain things all the time, if you want to pop in this sat and ask this “live” please do! again, if we didn’t want feedback we wouldn’t do a weekly video show where folks ask / suggest things each week.

    any way – get comfy, grab a snack – here’s some feedback on your feedback. i’d like to again encourage you to post in the adafruit forums, but if you prefer here, that is fine. no one is really going to read all of this but you, so we hope you check back here.

    your comments in = =

    =neither the atmega nor rtc have decoupling capacitors=
    there are sufficient caps on the power supply. the whole thing draws -maybe- 50ma

    =the psu could have incorporated a bridge rectifier=
    *it does*. there’s a half wave d1 which protects from plugging in a negative/ac supply (although if you buy the kit it comes with a 110/220v switching power supply)

    =keep the power traces low-impedance;=
    *they are*. there’s a 9″ square ground plane on the back. the vcc lines are 24/16 mil. that’s already way overkill for something that draws 50ma.

    =one extra resistor would prevent possible problems if someone populates both ic2 positions;=
    the kit comes with only one regulator (the smaller one). and the documentation is clear how to install it. we originally weren’t sure which we’d ship with which is why there are two spots.

    =acid traps.=
    really? for a thm kit? do you have any strong justification that this is a real problem? our manufacturer passed this thru dfm with no complaint.

    =throw in a spare to92 voltage regulator on there somewhere for h4x0rz who might want an easy source of 3v3;=
    there’s a proto area. put it there if you want it. if there was another spot for a to92 regulator it could be confusing to beginners. and no paying customers has ever come up with a really good reason for requiring 3.3v

    =donuts… why? rows of paired pads would be 100 times more user-friendly;=
    we like perfboard-style. you don’t. *this is just opinion*.

    =extra 5v test points / solder pads? no ground test points / solder pads?=
    *there are multiple 5v/ground points available* on the atmega/ftdi/lcd breakouts but so far thousands have built it and done our 5v test with success
    http://www.ladyada.net/images/monochron/5vtest.jpg

    =“…stick some tinfoil in the batter holder…” because a jumper pad took up too much real estate?=
    if you soldered a jumper, then you have to desolder it when you get a battery to use the rtc with which would require disassembling the clock. using a piece of tinfoil is a perfect solution when you just want to temporarily disable the rtc without taking apart the clock

    =on the subject of jumpers, there are two/three extra atmega pins, one of which is an adc-capable pin. a jumper and two resistors to provide an option to measure the rtc battery voltage with the atmega would have been great;=
    why? the lithium 3v rtc battery should last 7+ years and that’s assuming its running off the battery which is probably pretty rare for a desk/bedside clock. connecting it to an adc pin would just drain the battery faster. we left that adc pin available on purpose for stuff like temperature/humidity sensors, seems like if someone wanted to, they could do this very thing on the very handy proto area

    =allow the rtc’s square-wave output to drive an led as a heartbeat/second indicator/low-rtc-battery (one can dream…) indicator. would have been neat.=
    of thousands of kit builders, you’re the first person to say they want the rtc sq wave out. it just doesn’t make much sense – if you want a heartbeat or something, use the huge lcd. as for second indication, you can do that inside the atmega – and someone people have made clocks that have second indication. they work fine. if you’re dead set on having a low rtc battery detector, you could easily fit that on the perf area, by soldering a wire to the battery holder.

    so, if we had paying customers actually request any of this, we’d consider a board respin but that’s a lot of money to waste on something that someone might do.

    the fact is, *everyone* has their pet ‘dream’ project mod but it is not possible to re-spin a board every time someone has an ‘idea’. 99% of people are very happy with the kit as is. 1% do mods and hacks and have not had any problems with the current layout. if they have questions, they post in our forum, we help them, they go home happy.

    with every kit we have to make decisions, not in what to put *in* but what to leave *out*. for example, we did not add a spot for a ds23xx tcxo/rtc – but we thought about it. we also didn’t add a direct connection spot for a ‘atomic’ radio receiver module. or for a gps module (and then which module? there are dozens!) why is the design not compatible with st7565 lcds? or st7920’s? and those are much better critiques than anything you came up with (since paying customers have actually requested them!)

    =so why not shove all that stuff in?=
    this is the difference between design and engineering. if we wanted to *engineer* the bestezt klock evar we would be still running prototypes. what we *designed* is a shipping kit, that is easy to build, works great and *real paying customers* love.

    so there ya go — i’d also challenge you to name another company or group of people who would be this responsive and caring about what you’ve said about one of their products in a hack-a-day comment thread (or anywhere). you said “i could probably go on, but it’s not as if you/limor/anyone else cares what i think, so, meh.” i think it’s clear that is not true – so at the minimum, you could at least say something nice now? :)

  3. You know, pt, I was going to write something pointing out that your explanations are all fine and wonderful but *completely miss the point* that I was commenting regarding whatever-his-or-her-name’s allegation that your work is “amateur” – i.e. “STFU it works doesn’t it?” isn’t really a fantastically valid response to “you’ve cut corners, been somewhat lazy, and/or built this down to a price by skipping some best-practices items” – and to even point out the flaw in a couple of your responses, but then I made it to “and those are much better critiques than anything you came up with (since paying customers have actually requested them!)”, and, well, my head didn’t actually asplode, but it was really, really, really obvious at that point that, as I and others have surmised, you don’t actually want to hear criticism, however constructive or well-founded.

    “A paying customer’s suggestion that we include support for a relatively obscure alternative LCD type is inherently superior to your suggestion that we should have included a fuse” speaks volumes about your attitude, pt.

    “…so at the minimum, you could at least say something nice now?”

    pt, let it never be said that anyone, anywhere, has ever told me to go bugger my insignificant and worthless self with the grace, charm, tenacity, and lack of capital letters that you have. Furthermore, please rest assured that whenever in the future I feel a burning need to be off-handedly, dismissively ignored and have my constructive suggestions belittled, or should either of my two probably-imaginary friends find themselves in a similar situation, I will immediately think of you and the truly, stupendously, just gosh-darn amazing job you’ve done here today.

    That nice enough for you? :)

    –George (an actual past AdaFruit customer, believe it or not)

  4. you wrote” it was really, really, really obvious at that point that, as I and others have surmised, you don’t actually want to hear criticism, however constructive or well-founded.”

    you can’t pick out one sentence with a *specific* example i provided and throw your hands up saying “you don’t actually want to hear criticism, however constructive or well-founded”. while it’s very possible we’re wrong about some decisions, you can could also be wrong about some of your suggestions too right? without information about *why* you couldn’t really know, now you do – so comment on *that*.

    i’m certainly allowed to explain why we did things a certain way, when we get feedback we say *why*. and then we talk more, that’s how it works. some of what you said was not “well-founded” but i do appreciate you posting because it gave me a chance to give you more information, i think now if you’re reasonable and read it you’ll agree with a lot of it? if not, post why. that’s fair.

    just because i don’t say everything you said was 100% perfect and we have a 2.0 kit based on that, doesn’t mean i do not think it’s valuable. please read why did certain things, tell us where were are wrong.

    i mentioned a *real* suggestion that actual customers *have* asked for specifically, i didn’t need to include that but i did. i know every product, from anyone can be improved, if you do open source hardware you have a better chance i think.

    at first glance many of your suggestions seem reasonable, i spent a lot of time talking about why many of them simply did not make sense for *this product* and i talked about *why*. yes, i/we love feedback but that doesn’t mean everything you said made sense for this product.

    again, do you have this clock?

    i think for some of the things you said you’re confused about design vs engineering for *this specific product*. this happens a lot, you can hear lots of “engineers” here talk about how the arduino isn’t engineered well, but they’re also people who buy $5k dev boards/tools, very different. this is not a $500 super-clock, it’s a well-made, fairly priced, electronic kit for learning. can you view our work and this project with that lens and these explanations and still say all the same things?

    please go through the explanations on *why* we did things and see if you still think everything you said 100% makes sense for this product now.

    getting back on topic, scott’s example was very specific and made sense for the product posted here, many of yours are more about what you’d *personally* like to see for a completely different type of kit.

    you wrote “pt, let it never be said that anyone, anywhere, has ever told me to go bugger my insignificant and worthless self with the grace, charm, tenacity, and lack of capital letters that you have. Furthermore, please rest assured that whenever in the future I feel a burning need to be off-handedly, dismissively ignored and have my constructive suggestions belittled, or should either of my two probably-imaginary friends find themselves in a similar situation, I will immediately think of you and the truly, stupendously, just gosh-darn amazing job you’ve done here today. That nice enough for you? :)”

    i spent a lot of time responding and i think it’s pretty clear you’re just not confident in those suggestions now and don’t want to address them now that i put them in context of *why* we did certain things. if you are, please respond :) i will again ask you to go through each one like i did and say where you disagree? maybe you’re right but i think it’s fair to actually respond to the questions back and think about why we did certain things now that you know.

    you posted a picture calling me a “dick” – did insulting me with that and your sarcastic note above really help your argument? you only helped to prove most of my points here, by ignoring the design decisions i posted you prove you really didn’t think about design and refuse to now. you really didn’t want to discuss electronics, or design with me – feedback is good, name calling isn’t.

  5. @PT i don’t think that’s true, instructables, MAKE, adafruit and in person events like maker faire have inclusive and valuable communities that do not talk to each other like this. i started hack-a-day and while the site has really improved, the comments still need work. it’s 100% fixable.

    i think its hard to gauge, a lot of hackers will turn against sites that moderate heavily, but you’ll still get a lot of people commenting. but what is hard to figure out is who isn’t commenting.

    also the people on adafruit/make/makerfaire do talk to each other like this, i’ve seen it in person, mailing lists and on forums, but its either deleted or done elsewhere. I recall recently where you had Make do the same comment structures as you’re proposing for HAD. You only did that, if they were doing it, they’re not doing it now, because its deleted or not allowed, the people didn’t really change, just the forum.

    again i think the solution is as the same for a lot of things, don’t let it bother you, its usually only done to cause an effect, if there is no effect it’ll won’t be as prominent.

    can’t say i’ve ever seen problems at avr freaks, instructables has a lot of flames, adafruit is a good forum but its pretty quiet a lot of stuff doesn’t get answered, and its a business site mostly so different goals.

    maybe its because i’m used to gamedev/usenet etc, who knows. the angry comments usually make me laugh, i don’t take it personally. as i said i think that is a valuable thing to learn. i really dislike the idea of moderation.

    of course HAD is business, that is probably the real issue, but it looks like you’ve gotten thru to them.

    Personally if the HAD content is good, i’ll read it.

    cheers :)

  6. @charliex, you wrote “adafruit is a good forum but its pretty quiet a lot of stuff doesn’t get answered”.

    just about every post gets answered that is from a customer, in fact it’s almost 100%, can you point to some *specific* customers asking questions where we do not respond? we have staff that works in the forums almost 24/7. i really want to know where/who so i can look in to this. you can email me directly too.

    i think it’s safe to say i’ve been around the maker world, no one talks to each other like this this in person. i spent a few hours explaining why we made some design decisions to george and was called a dick and ridiculed for not using capital letters. many here do not want to discuss electronics, he just wanted to be trolly under with appearance of “giving feedback”. i am hoping he takes a look at the comment i spent a lot of time on and demonstrate his knowledge for others, this could still be a good thread!

    any way, i know for sure comments on sites will get better including hack-a-day, why? because some of the top makers have publicly said they don’t like it when their projects appear here because of the comments.

    i think hack-a-day has great content and many of the comments are great, it’s only a small % that are ruining it and no one has told anyone what’s acceptable. the hack-a-day team will fix this i’m sure, they’re doing google+ hangouts now – no one is a jerk to each other over video, as much as i think google messed up the google+ roll out, this is the future.

  7. I just read that link about websites being full of jerks.

    “Because if your website is full of assholes, it’s your fault. And if you have the power to fix it and don’t do something about it, you’re one of them.”

    Classic technique to make people agree with the article. Either take a moral stance that is built on someones agreement of what is acceptable, and if you don’t follow what we suggest, you’re an ass. The problem is that sort of statement just makes me want to go and do something against their rules, like install pink flamingos on my lawn…..

    http://www.brazenhussies.net/murphy/Flamingos.html

    I guess that makes me one of the bad guys.. i’ll be living underground with Edgar Friendly, but i’ll skip the rat burger.

  8. @pt just about every post gets answered that is from a customer, in fact it’s almost 100%, can you point to some *specific* customers asking questions where we do not respond?

    well if you say specific to customer questions, then yes adafruit are excellent, you guys do a great job and i’m not knocking you at all. I admit i don’t quite get your whole thing against sony and not apple, but thats another day. Of course the WB isn’t an adafruit product ( i’d be curious to see what the moral authority thinks about that infamous project too ! )

    HAD might get better, but you tend to see the stuff on make and HAD too. Content is what makes a site good, better content , better impressions.

    I’m quite familiar with makers, they have jerks too, they’re not unique. But i’m OK with that, live and let live. Maybe its different in New York, i’ve never been there, but i’ve heard its more like the UK where people are outspoken, than the west coast of the usa..

  9. @charliex – i think it’s possible to have a positive community that can discuss electronics without everyone 100% agreeing with everything.

    anil is saying you need to spend the time and effort to have a productive community. the comments are broken here, just like the “broken window syndrome” this means it just gets worse over time. it needs fixing.

    i started this site, i know the comments and people can be more inclusive, i’d like to hack-a-day be one of the top sites for project sharing, it’s possible! but not if people actually fear their work being posted here because of the comments.

    4 people emailed me their projects directly after seeing this thread and seeing my email. one said “Hi Phil, my project is Arduino-based so I know it won’t fly on HaD..”

    really? that’s a shame. did you see this awesome project today?

    http://blog.makezine.com/archive/2011/07/riderscan-manage-horses-with-rfid-barn-open-source-hardware-management-system.html

    4 people who saw this specific thread, imagine how many who don’t read the comments.

    any way – look at my example here with george, why would anyone want to get feedback from the comments here or do open source hardware if people actually do not want to discuss things with each other and just want to argue.

    i’d love to people explain *why* they did things and discuss it more!

  10. @charliex – you wrote “I admit i don’t quite get your whole thing against sony and not apple, but thats another day.”

    you’re welcome to email or post on adafruit! or make! i don’t have anything against sony that’s different than apple. what do you mean?

    you wrote “well if you say specific to customer questions, then yes adafruit are excellent, you guys do a great job and i’m not knocking you at all.”

    thanks!

    you wrote – “Of course the WB isn’t an adafruit product ( i’d be curious to see what the moral authority thinks about that infamous project too ! ) ”

    that’s right, it’s not a product and it existed before adafruit did. it’s not for sale or sold in any way by adafruit.

    you wrote “I’m quite familiar with makers, they have jerks too, they’re not unique. But i’m OK with that, live and let live. Maybe its different in New York, i’ve never been there, but i’ve heard its more like the UK where people are outspoken, than the west coast of the usa..”

    it’s very possible to be outspoken, constructive and not end up calling each other names, in nyc, in the uk, anywhere :)

  11. @pt i know where you’ve coming from, just never seen it happen. I’ve been doing hackerspaces and what not for 25+ years, everyone pokes fun.

    honestly its terrifying, i truly do look at the ‘demolition man’ way of life with be well etc, i have no grudge against people i want them to come hang out and build stuff with us, but i want them to also live and let live. I hate the idea of a society that needs a HOA to make sure people don’t fill their lawn with busted cars. Or helicopter parenting.

    i want people to choose for themselves, freedom of, also should include freedom from.

    Re the arduino, yeah its hard to deal with its a great into to electronics and doing stuff, but its also partly a huge commercial push, so you kind of get to that whole, well gee what about all the other stuff out there.

  12. @pt

    I don’t want to pick apart anyone in a public forum like this. I respect them entirely too much.

    What I will say, is what I have observed with my own eyes. Often times, there is a slight disconnect between the documentation provided and the product received. I’ve helped a few friends debug “kits” and it is extremely frustrating when reference designators in the schematic differ from the silk screen, or there is a missing “pin 1” designator on the silkscreen for a header. Minor issues, but something I’d be hung for in the “professional” world. Beyond that, in the software world, using variable names like “foo”, no comment blocks explaining code segments, etc.

    Now, in saying that, I am going to take a note from you and take personal responsibility. I will start sending notes to everyone when I do find small things like this, that make things more difficult than they need to be.

    I somewhat apologize, because I happen to be one of those “documentation nazis” at work. If I can’t take design files from someone, years later, and reproduce or debug, they may as well have never documented it at all. (Plus, I had profs in college who would give zero points on projects that didn’t supply comments in code and properly documented schematics with nets labeled). I think it’s extremely important for Open Source to take this to heart and go the extra mile ensuring projects are properly documented.

    Other than that, some items have been covered by others, but I won’t nitpick. Being an engineer, often times “good enough” is the correct solution. If you spend all your time perfecting a solution, you’ll never end up with a product for others to use/see/mod/hack.

    I want to state again, that I have the utmost respect for those companies that I listed before.

  13. @pt

    “that’s right, it’s not a product and it existed before adafruit did. it’s not for sale or sold in any way by adafruit.”

    absolutely, its a product that doesn’t actually exist either, no one has built any, i don’t have two of them and if i did, they don’t work and i can’t figure out whats wrong with them, they’re not the first projects i built at our space either. they also don’t sit in a back room hiding our collective shame as to why i cant work out whats wrong with them :) since they’ve never existed.

    “it’s very possible to be outspoken, constructive and not end up calling each other names, in nyc, in the uk, anywhere :)”

    it is, but is it possible to do it without upsetting the apple cart ? isn’t that part of what being a hacker is all about ? This is Hackaday after all. isn’t that really what this is all about, not name calling but upsetting people ?

    Sure delete the out and out trolls, moderation works best when nobody realises its going on. I don’t like it, but its what it is.

    As for the sony/apple comment, You seem to have it in for sony but i think apple are a much worse outfit but they seem to get a lot of maker love. But as i said , for another day, we chatted about it in one of your articles a while ago.

    cheers

  14. @H3llphyre – this is sounds right and reasonable to me. thanks for posting this thoughtful comment.

    i think my last talk at a conference was “we are not documenting well enough” – we all need to work on this, for everything. open source hardware has helped a lot, so has github, so has other things.

  15. @charliex you wrote “it is, but is it possible to do it without upsetting the apple cart ? isn’t that part of what being a hacker is all about ? This is Hackaday after all. isn’t that really what this is all about, not name calling but upsetting people ?”

    yes! very possible. since i started this site i can say that it’s not here to upset people. hacking is exploring and sharing.

    art-a-day might be more about “upsetting” folks since that’s one of the things art, at least the good art, sometimes does.

    you wrote “Sure delete the out and out trolls, moderation works best when nobody realises its going on. I don’t like it, but its what it is.”

    instructables does this in a good way, if someone is being a troll they can still post but no one will see their comments.

    you wrote “As for the sony/apple comment, You seem to have it in for sony but i think apple are a much worse outfit but they seem to get a lot of maker love. But as i said , for another day, we chatted about it in one of your articles a while ago.”

    nope! i think sony is a cool company that makes some cool stuff, sony america when on a suing binge going after makers and hackers. i documented all of these and suggested they stop, they eventually dropped the case again geohotz. sony had linux support, they took it away, tinkerers didn’t like this, sony started to sue. in the end it didn’t work out well for sony i think.

    apple does a lot of things i don’t like either, in one of my latest articles i said their “made for ipod” drm for hardware wasn’t good for makers/hackers and google did a great job with the arduino adk.

    if there are specific times you think i’ve been unfair to sony let me know!

  16. Oh, FFS, pt, you’ve called (specific) commenters here everything from immature to insecure to blithering under-endowed idiots jealous of your success, and now you’re butthurt that I called you a dick?

    Bleeding hypocrite. What a surprise.

    “there are sufficient caps on the power supply” is mostly inarguable. That the design as presented draws maybe 50mA is also inarguable. That putting decoupling capacitors on every microcontroller is common-sense, Electronics 101, professional-best-practice is also, except to you, inarguable.

    The discussion was about amateurism, remember? And you wanted specific examples, remember? I contend that leaving $0.02 worth of decoupling caps off an $80 kit is an amateur move.

    “there’s a half wave d1 which protects from plugging in a negative/ac supply” is kind of laughable. When that cheapo wallwart dies, or someone down the road plugs in an AC adapter by mistake, that half-wave rectifier is going to produce a crazy amount of ripple on both power and ground, despite ye olde 78L05. Yes, it *works*, I’m not arguing that. I’m arguing that it’s not particularly professional-especially since y’all left off the decoupling caps, which are (supposed to be!) there to deal with power noise.

    “the kit comes with only one regulator (and the instructions are clear on how to install it)” misses the point. If someone else makes copies of the board (open source, remember?), or does a shit job of translating the instructions into another language, or otherwise just has an Homer Simpson moment and populates both positions because they’re there, two resistors would avoid potential instability.

    “there’s a 9″ square ground plane on the back. the vcc lines are 24/16 mil. that’s already way overkill for something that draws 50ma.” Your power traces can *never* be too thick. Why use 24mil when 40mil will fit?

    “do you have any strong justification that [the presence of acid traps] is a real problem?” Define “a real problem”. As you should know, acid traps are not a sign of competent, caring, professional PCB layout. It’s introduction-to-PCB-design stuff.

    *Remember*, this started when someone called AdaFruit designs amateur. “But it works!” is not a terrific response to complaints that you’ve made less-than-professional design choices.

    “so far thousands have built it and done our 5v test with success” is inarguable. It would have cost NOTHING to add a couple of test points/solder pads to make hardware hacking easier. 2.54mm headers, or soldering wires to the legs of components? Which of these is preferable?

    “why? the lithium 3v rtc battery should last 7+ years and that’s assuming its running off the battery which is probably pretty rare for a desk/bedside clock. connecting it to an adc pin would just drain the battery faster.” Um, hacker-friendliness? That thing you like to brag about when it suits you to? Hell, *user*-friendliness? Since there’s already an RTC there, and the clock reads the date and time, it wouldn’t be too hard to code it to poll the ADC, say… once a day… to check the battery voltage, and leave that pin floating the remaining 23:59:59 of the day. That might, oh no, drain the battery prematurely, yes – BUT at least people would know the battery needed replacing. This isn’t a $5 K-Mart clock, pt. It’s $80. Making even a half-hearted effort to add a couple of features – even if they’re only optional – that would add NOTHING to the cost of manufacture – shouldn’t be too much to ask.

    “it just doesn’t make much sense [to do anything with the RTC square-wave output]”. It’s *there*, you could write neat code to utilize it and impress people with your skills. Hell, you *could* have been really just ridiculously awesomely nerdy and used it to drive the piezo buzzer, instead of using a precious ATMega pin. But, like you said, that does’t make any sense, does it?

    (I never said *all* your arguments were invalid. :) )

    “what we *designed* is a shipping kit, that is easy to build, works great and *real paying customers* love.” And nobody’s contesting that you have a shipping product that works and makes people happy. That seems to be your answer to nearly everything – “but it works!”

    The arguments you persistently and blatantly choose to ignore are that several things about this project, picked at semi-random (because I did own one, yes) are “amateur”, a judgment call you got extremely, abusively butthurt about, and/or are incompatible with the claim that “We wanted to make a clock that was ultra-hackable”.

    “But it works!” and “it’s shippable!” are no justification for ignoring best practices and common sense (i.e. power-supply design, lack of fuse, lazy PCB layout), and “zomg, here’s a square inch of ultra-hackable perfboard” really is no substitute for a little bit of thought and effort.

  17. @pt yes! very possible. since i started this site i can say that it’s not here to upset people. hacking is exploring and sharing.

    Yes ok the site, but not hackers. I am a hacker, always have been , always will be. Hackers upset the apple cart. It’s often been a thought of mine that make/maker was thought up as a way to be more commercially viable because of the negative connotations of the word hacker. Is it simply the difference between accepting the status quo or poking at it? Perhaps thats why you went to make, because you have a different ideal ?

    re the sony thing, i’d say the commentary about the PSX emulator bleem, the guys who did that ended up way better off and work at sony now, sega/nintendo are the ones that went after the emulator market, nintendo managed to get it to be illegal. Sony are actually pretty good to their people, they make good hardware. though i do have a lot of friends who work there. They don’t go after people anywhere as much as apple do, look at that journalist with the prereleased iphone. geohot got off very lightly, and regardless of how cool what he did was, it ended up costing a lot of money since the engineering team was moved off the NGP to sort out the ps3 issues, as well as effect on other projects. Much more far reaching than someone posting a mean comment on HAD.

  18. I want to thank George for making me fill my keyboard with soda, which just happened to come out of my nose… That picture was absolutely priceless.

    As for HAD comments and that discussion. Those of us who have been on the ‘net for enough years have learned to completely ignore the trolls. I rather prefer uncensored to a prozac-world. Just my two cents.

  19. @charliex – oreilly is know for their “hacks” series, hack-a-day is a commercial web site, yahoo, facebook, google all have “hack days”. i think we all did a good job celebrating hackers as heros and the word is almost belongs to all of us again.

    as far as sony goes, geohotz did not “get off” at all, he won in my opnion! sony dropped the suit and george was able to admit *no wrong doing* as part of the public statement, that’s winning against sony. it’s not an ideal way to win, but that’s how “winning” looks when you go up again sony. geohotz had to agree not to hack sony stuff.

    personally, i think it was clear that sony was going to lose if they kept going, so they dropped it. they don’t want it to be legal to “jailbreak” ps3s like it’s legal to jailbreak iphones. too risky for them for a bad outcome.

    as far as apple in regards to going after people. the iphone was stolen out of an employee’s bag at a bar by a blogger at gawker and they later demanded things from apple. that’s a criminal case. sony has sued more people than apple. the case is still going on you can search around. this wasn’t a case of spy photos or leaked memos, it was just theft.

  20. @pt I’m not sure how o’reillys hack series is relevant, but sure they make do a good job of making money from hacking, i don’t know if i’d say that they’ve done good for the hacking community since thats hard to measure. i can’t say i’ve ever heard anyone ref one of their books, though i’m aware of the, no starch press perhaps.

    so you think that the response given by apple/police was justified in chen’s case ? there are loads of examples of apple’s poor behaviour, lock out chips, cease and desists, eula’s, nda’s, unswappable batteries, bespoke hardware, firmwares, locked in hard drives, all the things that seem anti hacker/maker ethic. i guess i just don’t get it.

    I’m not sure how its a win, they let him go and removed the other OS.

    Plenty of people have been convicted for devices that bypass copyprotection, the iphone jailbreak is different. i don’t think its quite cut and dried that sony would have lost on that one, i think they wisely stepped away from a PR nightmare.

    But unless you’ve got details of the case that weren’t released publically, its hard to say who won. I know i don’t.

  21. =Oh, FFS, pt, you’ve called (specific) commenters here everything from immature to insecure to blithering under-endowed idiots jealous of your success, and now you’re butthurt that I called you a dick? Bleeding hypocrite. What a surprise.=

    @george- you know i’ve never called anyone any names here and i will never resort to name calling here like you have and continue to. hack-a-day has a new comment policy as of today because of comments like yours george. it seems you are more angry with yourself at this point and that’s why you’re resorting to name calling and insults. you’re not confident in your words any longer so this is what happens – many of the criticisms were not well thought out, you didn’t expect to see all this new information and they just don’t make sense now.

    since you’re ignoring the previous comments where i explain why we did a lot of things, below i’ll point out a *good* suggestion you made. i don’t mind taking the first step for good dialog. keep reading…

    =“there are sufficient caps on the power supply” is mostly inarguable. That the design as presented draws maybe 50mA is also inarguable. That putting decoupling capacitors on every microcontroller is common-sense, Electronics 101, professional-best-practice is also, except to you, inarguable. The discussion was about amateurism, remember? And you wanted specific examples, remember? I contend that leaving $0.02 worth of decoupling caps off an $80 kit is an amateur move.=

    wow, you’re still ignoring not only my previous comments but the schematics and the actual clock (you don’t seem to have one so it makes sense why you’re wrong about many things).

    **there is** there’s a 0.1uF decoupling cap right up against the microcontroller. as you can tell we specifically layed out the PCB so that the decouplers would be as close as possible to the microcontroller. read this x 2 ! repeat!

    =“there’s a half wave d1 which protects from plugging in a negative/ac supply” is kind of laughable. When that cheapo wallwart dies, or someone down the road plugs in an AC adapter by mistake, that half-wave rectifier is going to produce a crazy amount of ripple on both power and ground, despite ye olde 78L05. Yes, it *works*, I’m not arguing that. I’m arguing that it’s not particularly professional-especially since y’all left off the decoupling caps, which are (supposed to be!) there to deal with power noise.=

    that’s a good question! as you are well aware, a full wave also has ripple. so the question is, with a 10uF capacitor input, 60 db of ripple rejection at the 7805 and a 100uF capacitor output on 50mA draw will you see any of that on the output? well, if you’re really interested, i suggest doing the math and letting us know what the mV/% ripple is and if its more than say 5%. i am not going to do this math for you, this is your homework, you’ll see we are correct! i will bet you $50 in the adafruit store we are :)

    =“the kit comes with only one regulator (and the instructions are clear on how to install it)” misses the point. If someone else makes copies of the board (open source, remember?), or does a shit job of translating the instructions into another language, or otherwise just has an Homer Simpson moment and populates both positions because they’re there, two resistors would avoid potential instability.=

    that’s why we have photos for every component placement – so non-english speakers don’t have an issue. we can’t predict what non-customers DIY kit makers will do. they could stick a PN2222 in there. then what? that’s why we labeled one IC2 and IC2′ which is standard practice where we come from to indicate two optional component placements. if you’re dead set on this being the best suggestion ever, draw up how you -think- it should be and we’ll take a look! i know you won’t but consider it a challenge!

    =“there’s a 9″ square ground plane on the back. the vcc lines are 24/16 mil. that’s already way overkill for something that draws 50ma.” Your power traces can *never* be too thick. Why use 24mil when 40mil will fit?

    why not have a power plane instead of traces at all? because there’s no reason *to* do it if what is on the PCB does not require it. *you have a preference for thick traces* and we do too when it makes sense. here, it clearly does not make any difference so its *just opinion*.

    thicker traces, by the way, do affect kit soldering. at some point they dissipate too much heat so yeah you could neck them but we prefer to just max them out at 24mil when the current passed is 50mA. don’t you see now?

    “do you have any strong justification that [the presence of acid traps] is a real problem?” Define “a real problem”. As you should know, acid traps are not a sign of competent, caring, professional PCB layout. It’s introduction-to-PCB-design stuff.=

    we also sometimes use 90 bends! but yes, you should define a *real problem* – our PCB house does DFM, they tell us when there’s a problem. they passed it. tt goes to fab, they pass test without any problem. so again, now you know – what’s the problem?

    =*Remember*, this started when someone called AdaFruit designs amateur. “But it works!” is not a terrific response to complaints that you’ve made less-than-professional design choices.=

    again, you’re ignoring my detailed comments on your criticisms. it’s about design choices. if you’re so sure you could make it better, why don’t you? fork it on github and show everyone. scott did for one of our products. surely you could do the same right?

    that would end all of this and you’d show how to do it like a pro?

    =“so far thousands have built it and done our 5v test with success” is inarguable. It would have cost NOTHING to add a couple of test points/solder pads to make hardware hacking easier. 2.54mm headers, or soldering wires to the legs of components? Which of these is preferable?=

    that’s right, there are 2.54mm headers broken out from the atmega, we spaced them out so that people can easily wire to any of the pins. see how this all makes sense now that you know why?

    =“why? the lithium 3v rtc battery should last 7+ years and that’s assuming its running off the battery which is probably pretty rare for a desk/bedside clock. connecting it to an adc pin would just drain the battery faster.” Um, hacker-friendliness? That thing you like to brag about when it suits you to? Hell, *user*-friendliness? Since there’s already an RTC there, and the clock reads the date and time, it wouldn’t be too hard to code it to poll the ADC, say… once a day… to check the battery voltage, and leave that pin floating the remaining 23:59:59 of the day. That might, oh no, drain the battery prematurely, yes – BUT at least people would know the battery needed replacing. This isn’t a $5 K-Mart clock, pt. It’s $80. Making even a half-hearted effort to add a couple of features – even if they’re only optional – that would add NOTHING to the cost of manufacture – shouldn’t be too much to ask.=

    interesting suggestion and one you seem to care deeply about. nobody ever brought it up and we didn’t think it was terribly desirable so we didn’t break it out. luckily the PCB files are up so if someone like you who cares deeply about having a breakout pin for the battery they can add it. right now, we’re not sure its worth a board respin but if we do do one, we’ll consider breaking out the battery. till then, you can just solder a wire to the battery holder (its big and easy to solder to). thanks, we’re going to consider this one!

    =“it just doesn’t make much sense [to do anything with the RTC square-wave output]“. It’s *there*, you could write neat code to utilize it and impress people with your skills. Hell, you *could* have been really just ridiculously awesomely nerdy and used it to drive the piezo buzzer, instead of using a precious ATMega pin. But, like you said, that does’t make any sense, does it?=

    *BINGO AGAIN* see, now you’re talking. that’s a GOOD IDEA! that’s a way to save a pin on the atmega!

    that’s 2!

    =(I never said *all* your arguments were invalid. :) )=
    which ones are valid then? so far you’ve only gone for insults and said things that didn’t make sense for this specific product.

    =“what we *designed* is a shipping kit, that is easy to build, works great and *real paying customers* love.” And nobody’s contesting that you have a shipping product that works and makes people happy. That seems to be your answer to nearly everything – “but it works!”=

    nope! it’s actually the answer as to why we made specific design decisions. out of context, without information, it’s likely confusing as to why. now that you know *you’ve* decided to completely ignore it and continue to say things that do not make any sense for this specific product.

    =The arguments you persistently and blatantly choose to ignore are that several things about this project, picked at semi-random (because I did own one, yes) are “amateur”, a judgment call you got extremely, abusively butthurt about, and/or are incompatible with the claim that “We wanted to make a clock that was ultra-hackable”.=

    the clock has been hacked and modded by many many people, it’s one of the most successful DIY clocks out there, it’s very hack-able and we’re always looking to improve it based on customer feedback.

    you can see scott’s example in our forums and blogs on how we handle feedback and work with folks in the community, he had valid feedback “more batter life, code can be tweaked”. we listened, replied and talked back and forth.

    you however didn’t actually want to talk about *why* we designed anything the way we did. your reasonable sounds suggestions are just plain wrong and now that we’ve pointed out why you’re upset with yourself for not thinking about design vs engineering for a product like this.

    once you read our comments on them carefully it’s really clear on each one why we did or didn’t do something. could we be wrong? sure, but you didn’t provide any real facts, most of them are *opinions* about a different type of product, not a $80 DIY clock kit for beginners.

    i really suggest you take a break and look at this with fresh eyes and start out knowing this is a $80 clock kit for beginners *then* look at your criticisms, you’ll see they don’t match up. what you’ve described is more like a more advanced clock platform. we might build that one day, but it wouldn’t be the same price or released in the same way.

    in the real world, shipping, working, well designed hardware is the best thing to have!

    =“But it works!” and “it’s shippable!” are no justification for ignoring best practices and common sense (i.e. power-supply design, lack of fuse, lazy PCB layout), and “zomg, here’s a square inch of ultra-hackable perfboard” really is no substitute for a little bit of thought and effort.=

    again, you keep trying to say thing that would not make sense for this specific product. unfortunately the more you ignore all the stuff i’ve spent a lot of time explaining and say the same things that aren’t correct the more clear it is you don’t know (or just refuse) to understand how and what this product actually is.

    the clock is ultra-hackable, its completely open source and published. people have designed new clock faces for it and attached some random sensors as well. every single hack that was possible to do with the hardware (that has been posted on the forum by paying customers) has been met with success. with the Ice tube clock, we got some feedback on how to improve hackability and we took those into account when designing this clock. but whether this is ‘amateur’ is, as you say, just your opinion.

    we have fuses on some kits but not others so your argument about us not doing this doesn’t make sense. we have debates about whether to add fuses to our designs. there are, of course, tradeoffs! we put a lot of thought and effort into our designs, which is why we put them up online, and revise them constantly! sometimes people find good ways to improve them, like scott, to whom we are grateful for helping us improve the battery life of our cufflinks. we’re sorry to hear you are so disappointed with the clock design, it sounds like you’re very pedantic about your PCB layout, so we hope you post up tutorials, diagrams and information to help people design their PCBs in a ‘professional’ manner.

    i also hope you post up some of your DIY kit designs so that we can learn from your great skill about how a real professional does a DIY kit! i’m not being sarcastic with this, i’d love to see anything you’ve made/published as a professional that’s a kit for beginners, there’s not enough people doing that.

    if you could have kept the name calling off this thread we could have had a good talk for folks, you came up with a couple good suggestions after we went back and forth and really questioned some of your feedback items but you’re personal attacks really take away from that!

    read the new commenting policy from hack-a-day, re-read the reasons why we did things on our design – think about it and i look forward to seeing any of your professional work out in the world!

    dinner time here!

  22. @charliex, last one is for you!

    you said…

    >>I’m not sure how o’reillys hack series is relevant, but sure they make do a good job of making money from hacking, i don’t know if i’d say that they’ve done good for the hacking community since thats hard to measure. i can’t say i’ve ever heard anyone ref one of their books, though i’m aware of the, no starch press perhaps.

    huh, the hack series isn’t relevant but oreilly does a good job making money from hacking – you might want to bring this thread over to adafruit or MAKE or email me, i don’t follow this one.

    >>so you think that the response given by apple/police was justified in chen’s case ?

    theft from someone’s bag and gawker then trying to get a scoop /withholding the stolen phone, that’s a matter for the cops.

    >>there are loads of examples of apple’s poor behaviour, lock out chips, cease and desists, eula’s, nda’s, unswappable batteries, bespoke hardware, firmwares, locked in hard drives, all the things that seem anti hacker/maker ethic. i guess i just don’t get it.

    each one is different, i think both sony and apple aren’t so great – with sony being slightly worse lately. i’ve written about both, a lot – and celebrate the google adk, that’s the direction i want to see stuff go!

    >>I’m not sure how its a win, they let him go and removed the other OS.

    he’s not in jail, not losing millions on court. sony isn’t actively going after the linux hackers now, but who knows what could happen. sony seems to be chilling on that for now.

    >>Plenty of people have been convicted for devices that bypass copyprotection, the iphone jailbreak is different. i don’t think its quite cut and dried that sony would have lost on that one, i think they wisely stepped away from a PR nightmare. But unless you’ve got details of the case that weren’t released publically, its hard to say who won. I know i don’t.

    the public statement is public and you can also see george’s site where he talks about this as well as my coverage on MAKE.

    i’m done with this thread, today i think, charliex email me if you want to keep going!

    same with you @george! :)

  23. @H3llphyre – leaving now! although george chose to go to personal attack mode, i got 2 good suggestions after i really really made him think about what he was saying.

  24. amateurish, half baked, under-documented things, that are not-a-hack ?

    but some of them are good though… seriously, i think that these are some very valid points to discuss – and to have different opinions about.

    i for example love it when people through around their half-baked ideas. kind of: that’s my goal and let’s find a crazy way to get there. amateurish can be good, sometimes. even the example with the count loop: let’s say you do a kit for beginners, the count loop can be understood and changed by anyone who just started programming. you would than have a footnote or advanced tutorial on interrupts and the different avr sleep states..
    not a hack? i like that too sometimes. there might not be much new circuitry, but a new artsy way of doing it. – whether i like it really depends on my taste.

    things that irk me:
    -someone posting a hack-blog, that is basically just a series of pictures, no details ever.
    -worse: posting a cool, cool hack and raving about how cool that would be, but forgetting to mention that it a) never worked and b) will most likely explode.

    things i love:
    – people that link to their sources, so i can read up on it.
    – boms
    – good old web pages, where you don’t have to read backwards to get the whole project..
    – anything that makes me think.

  25. @tantis, agree! i hope we can leave the name calling off the thread and talk about electronics, design and engineering!

    >>things i love:
    – people that link to their sources, so i can read up on it.
    – boms
    – good old web pages, where you don’t have to read backwards to get the whole project..
    – anything that makes me think.

    +1 if that were possible :)

  26. @pt

    You think it’s worth attending the OSHW summit to bring up some of the points I’ve brought up? As well as being an engineer, I also handle all of our process and documentation items at work (CMMI and ISO). Aside from the proprietary processes at work, I can certainly speak in a general sense on how the community can work towards a more well defined standardization for documentation.

    CircuitBee is a nice step in the right direction, but misses on the important parts. I wish everyone would make an exerted effort to move to KiCAD (which is open source and free) from Eagle, so we could all standardize on output files. (Plus, Eagle sucks). This applies to other CAD type programs too. I have an “in” at Autodesk (plus being located in their home state) and they’re already working towards being more friendly to Open Source (and sharing).

    Of course, I can do this on the side, informally. I haven’t yet preached hard enough at work to be more open, but I’m getting there, slowly. If we are all going to preach open source, we should really all agree on a path and move forward to being truly open source.

  27. @h3llphyre – yes! this is very much needed, a talk at the OSHW if it’s not too late would be good, but i’d also like to encourage you to write an article that i could run on MAKE (and elsewhere) you can email me directly and we can chat if you’d like!

  28. @pt

    I’ll collect my thoughts this weekend and fire off an email to you. I don’t think I’m ready to give a talk (I’m currently checking with work to make sure I *can*), but I’ll see if I can come up with a lil blurb for MAKE.

    Talk to you soon

    PS: Don’t think this means I won’t argue with you in the future though :)

  29. @h3llphyre – sounds like a plan. maybe we can cook up a good article on the MAKE site and creative commons it so folks can post it / share it. best practices, etc. a one-sheet PDF / poster as an overview could be good too.

    we can always discuss and debate things, it’s all good :)

  30. Wow, the comments here! I was directed to this older post by a comment to a newer post today. First time around I didn’t bother reading the comments, because I really don’t do much coding of any sort anymore.

    As a amateur radio operator I understand that a lack of anonymity doesn’t really raise the level of discussion. For that reason I can’t expect a moderator to go through any extraordinary effort in regards to actual names being used to register to comment. Hopefully something good will come out of one of the saner exchanges in the comments. I’m not sure what good could come from using a creative way to publicly call another a dick. I assume HAD allowed that through to have it reflect poorly on the sender.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.