[HN Gopher] Show HN: I made an alarm clock
       ___________________________________________________________________
        
       Show HN: I made an alarm clock
        
       Author : StavrosK
       Score  : 106 points
       Date   : 2021-01-25 11:55 UTC (1 days ago)
        
 (HTM) web link (www.stavros.io)
 (TXT) w3m dump (www.stavros.io)
        
       | JshWright wrote:
       | > I'm too obsessive to not check all my messages instead of
       | falling asleep when I see the notifications on the screen.
       | 
       | So this new clock is why you've stopped responding to my messages
       | at all hours of the night? I see how it is...
        
         | StavrosK wrote:
         | Oh no, _your_ messages I see.
        
           | hanniabu wrote:
           | Lol do you guys actually know each other?
        
             | StavrosK wrote:
             | Haha, yep! For a looong time now.
        
               | JshWright wrote:
               | It's how I keep track of how old my daughter is...
        
               | StavrosK wrote:
               | We've known each other for highschool-age years.
        
       | sgt wrote:
       | >This symbolizes the futility of human existence and its
       | incessant search for meaning in a cold and unfeeling universe
       | that's ultimately profoundly devoid of such, and then you die.
       | 
       | >Not having to wake up to a buzzer is cool, though.
       | 
       | Hilarious!
        
         | StavrosK wrote:
         | I'd thank you but what's the point
        
       | brian_herman wrote:
       | Cool are you going to sell it?
        
         | StavrosK wrote:
         | Nah, I can't be bothered with sales and stuff. I estimate the
         | effort left to make it an actual product someone can use to be
         | about ten to thirty times as much effort as I put into this
         | prototype, and I don't think many people will want it.
        
       | hnburnsy wrote:
       | That's really cool, but a projection clock really saves from
       | having to strain to read the time on the bedside table.
        
       | fernandopj wrote:
       | That was hilarious! And it's such a cool project. Just copy &
       | paste this entire post in a Kickstart page and watch the money
       | pile up. Seriously. (but omit the "liar" part)
        
         | StavrosK wrote:
         | Haha, but then I'd have to do so much work :(
         | 
         | I was actually contacted by the CEO of Pimoroni a while back,
         | you can give them the product and they'll handle sales and
         | manufacturing and give you a percentage, which is a great deal
         | for a lazy guy like me. Unfortunately, he hasn't replied to my
         | last 3-4 emails, so I haven't pursued it further.
        
           | LibertyBeta wrote:
           | They're likely a little swamped with the Pico launch.
        
             | StavrosK wrote:
             | I think the first email was ~8 months ago, but I don't know
             | how long the Pico launch has been brewing for.
        
       | nip180 wrote:
       | One small design suggestion. You should include a battery so that
       | if the electricity were to go out you could still see the time or
       | be alerted at the time of the alarm.
        
         | StavrosK wrote:
         | Yep, I mention that in the post. I have an LoLin ESP32 board
         | that includes a charger and battery connector, I might just use
         | that.
        
       | baxtr wrote:
       | _> Say I want to set the alarm for 9:30, just in time to be ten
       | minutes late for tennis._
       | 
       | Haha. What a ridiculous time to get up - from my perspective at
       | least having young children that are up at 6:30 the latest.
       | That's the reason why I won't need your clock. I wholeheartedly
       | agree though that it's "sexy". Niiice!
        
         | StavrosK wrote:
         | Oh man, 9:30 is my "this is inhumanely early" time. I usually
         | get up around noon. Having kids will either be terrible or
         | super easy, as I can keep the kid until 6 am, while my wife
         | sleeps, and then we can switch shifts.
        
           | seanalltogether wrote:
           | Once past the newborn phase, babies like to be asleep when
           | its dark and awake when its light.
        
             | StavrosK wrote:
             | So you're suggesting some sort of servo-controlled horse
             | blinds, interesting.
        
               | tailspin2019 wrote:
               | Not many HN comments are worthy of a literal "laugh out
               | loud".
               | 
               | But this one is.
        
           | glitchc wrote:
           | Ah, to be young again!
        
       | Sebb767 wrote:
       | I've wanted to do this for myself for a long time, especially the
       | dimmer wake up part. This might be Inspiration enough to finally
       | go for it.
       | 
       | Great write-up! I enjoyed the nihilist humour quite a lot.
        
         | StavrosK wrote:
         | Thanks! Go for it, I'm _fairly_ sure the dimming will work for
         | you, but I _think_ the other similar screen I have doesn 't
         | work with that code entirely, it needed some small change that
         | I don't remember now.
        
       | larrik wrote:
       | > Octagonal shape so I can lay it down on its side instead of
       | having to crane my neck up to check the time when lying down (I
       | really did think of everything).
       | 
       | I actually didn't understand this part. Why an octagon? How does
       | it help this?
        
         | pb7 wrote:
         | You can rotate an octagon in 45deg increments.
        
           | StavrosK wrote:
           | Yep! That really is its killer feature, and it's very
           | interesting how, when I'm lying with my head perfectly
           | horizontal, it's easier to read the clock when it's at 45deg
           | rather than entirely on its side...
        
             | FriendlyNormie wrote:
             | Jesus, how fucking retarded are these people that you even
             | had to explain this. Any random Japanese person for example
             | would have understood immediately upon looking at it.
             | Americans are a fucking embarrassment
        
             | dmje wrote:
             | I'm really pissed off that I didn't think of an octagonal
             | clock, dammit
        
               | StavrosK wrote:
               | Well it's too late now, the patent is _MINE_
        
         | AndrewDucker wrote:
         | Allows it to be angled in a variety of directions, but still be
         | stable.
        
       | roadbeats wrote:
       | How did you get the case built ? 3D printer ?
        
         | StavrosK wrote:
         | Yes! I love my 3D printer, it has the highest ROI of anything
         | I've ever bought, and I've bought a bidet.
        
           | dceddia wrote:
           | Cool! What sorts of things have you 3D printed that give it
           | such a high ROI?
           | 
           | I've got one too and it's fun to tinker with and I've printed
           | a couple useful things, but not _a lot_ of useful things. I
           | 'm always curious what people do with theirs, especially when
           | they say they use it all the time!
        
             | outworlder wrote:
             | Not OP but most of my savings have been on time, rather
             | than money. It did save some money.
             | 
             | * When installing a portable AC, I noticed that the
             | included window kit didn't extend far enough. Similarly,
             | another window was small, and the window kit would have to
             | be sawed off. They retail for approximately $50 for a piece
             | of plastic. Printer cost me $150. Plastic costs were under
             | $10. Thats close to 2/3 of the printer price right there.
             | 
             | * One of the air conditioners came with a broken
             | caster(bought online). Store didn't help. I could return
             | the entire unit, but I would have to endure a heat wave
             | without one. So I just printed an adaptor to use with some
             | other furniture casters I had laying around. Designing was
             | quick, so in a couple of hours I had my issue fixed.
             | 
             | * Printed a Raspberry Pi case. A few more bucks.
             | 
             | * My mom is starting a business and she needed some tools
             | (really, they are guide pieces, ridiculously simple but you
             | need relatively precise measurements). Some people would
             | either purchase them (double digit dollars for one) or
             | create crappy versions using cardboard. I designed and
             | printed those for her and saved almost a hundred bucks, for
             | something that almost looks like it came from a store. Plus
             | I can further customize to her needs.
             | 
             | * Printed a stand for my soldering iron. It's a DS-80p so
             | it is tiny, the 'normal' stands are incredibly bulky.
             | Printed a version I found on Thingiverse. While at it, why
             | not print a nice case for it too, right?
             | 
             | * Wanted to use the macbook upright, in clamshell mode. I
             | could buy some stand, costing $20 and up. I didn't need
             | anything fancy, so I just printed one. For about one tenth
             | of the price of the cheapest option I could find. I got it
             | in the same day even.
             | 
             | * Due to COVID, printed a bunch of face shields.
             | 
             | * Holders for a variety of things.
             | 
             | Then there are some pure convenience:
             | 
             | * Bike reflector holder piece broke. I wanted to go out to
             | ride. Printing a replacement took less time than going to
             | the store and back. Debatable if money was saved but not
             | having to leave the house (or wait for a package) was
             | certainly nice. Doubly so after COVID.
             | 
             | * I wanted some desk grommets of a specific size (and
             | length). Checked Amazon, they were either overpriced or
             | came in larger quantities than I need and I would end up
             | with an assortment of surplus pieces. Whatever,
             | Thingiverse, fired up the printer, off I go. I even
             | customized for the exact thickness of the desk.
             | 
             | * Decided it would be cool if my Steam controller rested
             | upright on a desk. Absent-mindedly queued a job remotely to
             | the printer. Estimated costs around $1.
             | 
             | I could go on and on for a day. But it's not a matter of
             | seeing what I or others have printed and going "Oh I need
             | that". It's about what it brings to the table.
             | 
             | The bottom line is this. Assuming you have:
             | 
             | * Some time to learn the basics of a CAD tool (any tool).
             | You most likely don't need anything too complex. Most
             | useful objects have simple shapes, you just need the
             | ability to adapt them to your situation. You can get pretty
             | far with downloading models online - sometimes I get
             | surprised of what niche objects you can find. But often you
             | can't find some specific thing you are looking for (the AC
             | examples above) and you need to design.
             | 
             | * Some time (and patience) to learn the basics of 3D
             | printing and to do some troubleshooting when things go
             | wrong. There's all sorts of communities that can help but
             | you still need the basics.
             | 
             | Then what you end up with is the ability to just conjure up
             | stuff when you need a problem fixed. Anything. Maybe you
             | need to hang something, maybe something moves and it
             | shouldn't. Or maybe it doesn't but should (I've used skate
             | rollers with 3d printed pieces, works great). Maybe some
             | tiny plastic piece broke and the manufacturer is charging
             | an arm and a leg to replace. You can just find it (if you
             | are lucky or if it is a common thing) or you can design it
             | yourself.
             | 
             | This also allows you to come up with a bunch of DIY
             | projects as this thread shows.
             | 
             | If it is made out of plastic and fits in the build plate,
             | odds are you can make it, unless it requires a more exotic
             | plastic.
        
               | StavrosK wrote:
               | Exactly agreed. It's not so much _what_ you 've printed,
               | it's that it changes your mindset to one where you
               | realize that annoyances you wouldn't have thought twice
               | about are now _actually easily solvable_.
               | 
               | Before, the charger cables would roll off my desk, and
               | I'd think "damn cables". Now I think "I can design and
               | print something in 5 minutes that will solve this problem
               | exactly". For many, many problems.
        
             | StavrosK wrote:
             | Once you learn to design (which is pretty easy), it changes
             | your life. You can get custom-built components tailored
             | _exactly_ to your problem in minutes. Computer cables being
             | rowdy? Design a hook in five minutes, done. The other day I
             | designed and printed a custom mobile phone holder for my
             | laptop so I can use my phone as an HD webcam with DroidCam.
             | Cat opens the door at night? Print a small doorstop and
             | that problem is solved.
             | 
             | A _lot_ of problems just go away when you realize you can
             | make custom components for them.
        
               | dceddia wrote:
               | I love this mindset. I definitely think this way about
               | software, and more recently, about things I can make out
               | of wood.
               | 
               | Plastic or machined parts have always felt out of reach
               | so I'm not in the habit of believing I can fix things
               | that way yet. I think it'll take some practice to get
               | that idea to sink in. Thanks!
        
               | StavrosK wrote:
               | > I definitely think this way about software, and more
               | recently, about things I can make out of wood.
               | 
               | Yes, exactly. Though, I have to say, going from software
               | to hardware was quite magical: You can suddenly affect
               | the _physical_ world, which is amazing. Plus, if you
               | already know software, adding hardware to the mix rounds
               | you out very well, and opens up a large array of things
               | you can make.
               | 
               | > Plastic or machined parts have always felt out of reach
               | so I'm not in the habit of believing I can fix things
               | that way yet.
               | 
               | I very strongly recommend designing a few things in
               | OnShape or FreeCAD or SoveSpace and getting a 3D printer
               | once you get the hang of that (it shouldn't take you very
               | long at all, maybe a few evenings).
               | 
               | Machined parts I find pretty hard, but then again I also
               | found plastic things impossible before getting a printer
               | and they turned out to be quite easy.
        
       | paxys wrote:
       | A long time ago I had a Google-branded alarm clock which had
       | wheels and ran away when it rang so you couldn't hit snooze. Fun
       | times.
        
         | StavrosK wrote:
         | Hahah I remember that one! It jumped off the nightstand and ran
         | around the room, didn't it? That was hilarious.
        
           | paxys wrote:
           | Yes! It somehow managed to hide deep under my dresser every
           | morning.
        
         | kirktrue wrote:
         | Are you referring to Clocky? - https://clocky.com/
        
           | paxys wrote:
           | Maybe. Or a precursor/knockoff. This was like 15 years ago..
        
       | jordan801 wrote:
       | I enjoy the nihilistic morbid humor here. I too question the
       | futility of my work as I waste away in this cold expanse.
        
         | Teknoman117 wrote:
         | Sometimes I wonder if playing with old obviously obsolete
         | computers is a waste of time.
         | 
         | Been working on replacing the BIOS on a 386EX single board
         | computer with a custom monitor / "hypervisor" I'm writing in
         | Rust as kind of a demonstration of how low level you can get
         | with Rust. I want to post a Show HN after cleaning it up a bit.
        
           | StavrosK wrote:
           | Enjoying yourself is never a waste of time.
        
       | pbronez wrote:
       | > There's an old Chinese saying:
       | 
       | > To know the time, you must first connect to the internet.
       | 
       | > - Sun Inc.
       | 
       | amazing
        
         | StavrosK wrote:
         | Thanks! I wasn't sure if it would be obvious enough, I don't
         | think many people got it.
        
           | LeifCarrotson wrote:
           | I enjoyed it, so there's at least two of us.
           | 
           | You've turned microhumor [1] into something akin to a spoken
           | accent that pervades the entire blog post. I'm unsure how to
           | handle this.
           | 
           | However, I was particularly amused by your closing sentence
           | that mentioned how a LiPo could keep it running for "hours".
           | That sounds about right for a 20 mA OLED and an 80 mA
           | ESP8266, but it's remarkably shorter than an old-fashioned
           | LCD alarm clock in which an alkaline battery could last for
           | months.
           | 
           | By the way, I'd recommend an 18650 LiIon instead. If you
           | want, the charge circuit can be as simple as putting the
           | LiIon and a silicon rectifier in parallel with your 3.3V
           | regulator output (assuming the linear regulator has an
           | internal PNP body diode and doesn't backfeed) and then just
           | charge the cell outside the alarm clock in an off-the-shelf
           | battery charger. You don't need the current density of a
           | LiPo, you want low current but high capacity, and cheap LiPo
           | pouches have an annoying tendency to puff up and go bad.
           | Going bad may result in burning down your nightstand, which
           | is never a good way to wake up.
           | 
           | [1]: https://slatestarcodex.com/2016/02/20/writing-advice/
        
             | StavrosK wrote:
             | > I'm unsure how to handle this.
             | 
             | I also. I'm fairly sure it's a compliment, though, so
             | thanks!
             | 
             | > it's remarkably shorter than an old-fashioned LCD alarm
             | clock in which an alkaline battery could last for months.
             | 
             | It certainly is, but an LCD alarm clock is much less
             | fabulous, since it has to be pressed or otherwise activated
             | to produce light, and that's my main need here (a clock
             | that I can read in the dark without moving).
             | 
             | > it's remarkably shorter than an old-fashioned LCD alarm
             | clock in which an alkaline battery could last for months
             | 
             | That's a good suggestion, but it loses some of the "set it
             | and forget it" factor, and I will very definitely forget it
             | (especially when there's no low voltage warning). I have
             | some ESP32 boards with a built-in charger, so that's more
             | hands-off. Also, the length of the clock is shorter than a
             | 18650, so I'd have to make the clock larger and the screen
             | would look even smaller in comparison. I appreciate the
             | suggestions, design is fun and getting feedback from others
             | makes it even better!
             | 
             | > cheap LiPo pouches have an annoying tendency to puff up
             | and go bad
             | 
             | Oh, don't worry about that, they're all already puffed up.
        
           | highpost wrote:
           | Sun Inc. also said "The network is the computer." To which
           | DEC Inc. replied "The network is the network and the computer
           | is the computer. Sorry for all the confusion."
        
       | Yhippa wrote:
       | StavrosK, you're my hero. Thanks for the delightful write-up.
        
         | StavrosK wrote:
         | You're _my_ hero, Yhippa!
        
       | e12e wrote:
       | Nice write-up. No (ed: full) source code? I was somewhat qurious
       | to see how much of it there ended up being.
       | 
       | In high-school I did the almost opposite of this - I taped down
       | the play button on my hi-fi CD remote, and wired the battery
       | through the switch for the alarm of an old alarm clock (and cut
       | the wires to the actual alarm). Allowed me to wake up to
       | whichever CD was in the player, rather than an alarm.
       | 
       | Most cd players would wake up from power off playing, but mine
       | didn't - so I couldn't just make do with a timer on the mains.
       | Plus, the analog alarm clock was easier to set for a time, than
       | my timer-plug.
        
         | StavrosK wrote:
         | The code is here:
         | 
         | https://gitlab.com/stavros/do-not-be-alarmed
         | 
         | It's just pretty specific to me and I don't know if I committed
         | any keys or anything, so I didn't really publicize it.
         | 
         | It should be perfectly usable, though, you can build it with
         | PlatformIO after specifying a few #defines.
        
           | crazypython wrote:
           | Nice to see it's under AGPLv3. Putting end-user code under
           | AGPLv3 protects the rights of users to run, modify,
           | contribute to, and share the software.
        
             | StavrosK wrote:
             | Yeah, I decided to switch to that from MIT/BSD as I don't
             | like people taking the software and closing it up.
        
           | e12e wrote:
           | Thank you :)
        
       | amelius wrote:
       | An alarm clock without a radio?
        
         | StavrosK wrote:
         | _Then put your little hand in mine_
         | 
         |  _There ain 't no hill or mountain we can't climb_
        
           | mbg721 wrote:
           | It's interesting how that song in particular instantly zones-
           | out the listener. Even though I've heard it hundreds of
           | times, I had to look up the second line to make sure I had
           | the right one.
        
             | benbruscella wrote:
             | That's the song that plays on the alarm clock radio in the
             | movie Groundhog Day.
        
               | selimthegrim wrote:
               | The equivalent song for me personally is "Joy to the
               | World" by Three Dog Night after a traumatic experience on
               | an eighth grade trip
        
               | mbg721 wrote:
               | That is frighteningly easy to picture mentally.
        
               | mbg721 wrote:
               | Exactly, but I had a hard time recognizing Sonny and Cher
               | just from the lyrics.
        
       | war1025 wrote:
       | Not nearly as nifty as this, but it reminded me that in college
       | my alarm clock was cron job on my desktop that would launch a
       | program every day at 8am which beeped the system bell once a
       | second until I leapt out of bed and hit Enter.
       | 
       | Making that sound stop was a great motivator for getting out of
       | bed.
        
         | gus_massa wrote:
         | For a long time I had a similar setup, but I was just playing
         | Thunderstruck by AC/DC. It stars quietly, the volume of the
         | song increase slowly, and you have like a minute to get up and
         | turn it off before they guy start to cry and wake up all your
         | family.
        
       | harkal wrote:
       | Do you keep the screen constantly on (with dimming but still on)?
       | I had the same for a thermostat I made and the pixel burn on
       | those screens are terrible. I would add offsetting to mitigate
       | it. (Periodically render stuff with small random offsets) kudos!
        
         | StavrosK wrote:
         | Yep, I do. I used this kind of screen in another project, but
         | it took years to burn in (and that one was completely static).
         | The screen only costs $3-4 or so, so I can just replace it if
         | it becomes an issue, but you are quite correct that it's going
         | to be a problem.
        
       | shimonabi wrote:
       | It's not that difficult. I made one for myself too with an
       | ESP8266, a RTC clock module, a temperature sensor and a hd44780
       | screen.
       | 
       | It displays the time and date, outside/inside temperature,
       | humidity, barometric pressure.
       | 
       | I have the modules mounted on a breadboard, currently in vertical
       | position with wires hangihg out. :)
        
       | robocat wrote:
       | > One thing I'd like to improve in the future is to add a
       | battery, because right now it's solely USB powered and will
       | obviously die if there's a power outage. Adding a small LiPo
       | battery and a charger circuit will be pretty easy
       | 
       | ?Maybe just use a USB powerbank if you want a quick n dirty
       | solution?
        
         | StavrosK wrote:
         | That works, it'd just be a bit clunky. I already have a board
         | that supports a battery, so I'll probably use that instead.
        
       ___________________________________________________________________
       (page generated 2021-01-26 23:00 UTC)