Show HN: I made an alarm clock
stavros.io
stavros.io
15 minutes before my phone alarm goes off (not configurable sadly), the whole screen comes on a very dim red, and slowly fades through medium orange to a bright yellow at the time of the alarm.
With the phone laying flat on top of my dresser, this provides a great lighting cue.
What you're describing is a toddler alarm. MAde for children that can't yet tell the time, but you put in the room and they show one color for sleeping and another for awake. Look up "toddler alarm" or "ok-to-wake clock" Here's the first one I found via google (non-affiliate link)
https://www.amazon.com/Hatch-Baby-Night-Light-Machine/dp/B06...
Along the path, we got woken up at 4:46 (there’s a 6!) and once to “Mommy, Mommy, it’s not 6 yet in your room either!” as he excitedly learned that time was the same everywhere.
Kids are exhaustingly awesome!
This reminds me of the following:
Imagine you had some items, and you gave each item a unique name, and then used the unique name you gave to the last item to describe their amount.
That's what numbers are, a commonly agreed upon way to label items so the last label indicates how many you have.
But you wrote "there is literally no other value in time except the fact that it's the same everywhere". This is wrong.
I like the idea though... I think I've got an RGB light strip I pulled out of a pc case (not a fan of rainbow vomit styling...) around here somewhere. I'll put it on my growing pile of projects I should probably do.
Turns out it's not really the color that is the most important factor for wakefulness-shifting, but the amount of light your eyes perceive. Yes, the cells responsible are more sensitive to bluish light, but a ton of not-so-bluish light would keep you awake just the same, and just a little blue light wouldn't be that harmful.
That being said, 'blue for Go' still makes more sense to me instinctively :D
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.
It's @temporal@mastodon.technology.
https://blog.blackswanltd.com/the-edge/sales-email-magic-the...
So this new clock is why you've stopped responding to my messages at all hours of the night? I see how it is...
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.
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.
Making that sound stop was a great motivator for getting out of bed.
The motivator for getting up was as much to stop the mp3 as it was to prevent the rest of my family from killing me. I eventually retired the system, after my half-awake brain developed an acrobatic routine, where in one smooth movement, I would raise, hit the power button on the power amp, and fall back to bed.
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.
Current computers tend to be massive black boxes. I've learned so much about random hardware by reading Linux kernel drivers when the documentation is under NDA.
(For some reason, when I saw the submission title, I immediately guessed it's you, Stavros!)
One question: since your design called for "A screen that wasn’t too bright and wouldn’t disturb sleep", have you considered colors like orange or (I guess old-school) red? They have a benefit of not messing up your night adaptation[0].
The octagonal shape is very clever. On a tangent, this reminds me of a cleverly designed clock my sister bought in IKEA [1] - it's a square device with bunch of functions, which are selected by turning the device to stand on an appropriate side.
--
[0] - https://en.wikipedia.org/wiki/Purkinje_effect#Use_of_red_lig...
[1] - https://www.ikea.com/gb/en/p/klockis-clock-thermometer-alarm...
> On a tangent, this reminds me of a cleverly designed clock my sister bought in IKEA
Oh yeah, I have seen that! It's very interesting indeed, I think it has a mercury switch (not even an accelerometer), but it's been a while since I saw it and I only played with it for a minute.
Supposedly that makes it as good as typical cheap RTC modules.
Or, maybe +-5% is fine with just a few NTP updates now and again.
Edit: Apparently the built-in accuracy is substantially better if you avoid the deep sleep mode.
Thanks for the schematic, that's great to know!
This is one example: https://www.instructables.com/ESP32-Basic-PC-With-VGA-Output...
Bitluni's: https://github.com/bitluni/ESP32Lib
FabGL: https://github.com/fdivitto/fabgl
Feature comparison: https://www.reddit.com/r/esp32/comments/gpezk3/feature_compa...
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!
But this one is.
As a relatively fresh parent, this thread is a mix of humor, hope and sweet, sweet naivete :).
And as they grow older they stop working, though you can always have another kid I guess.
It takes them _months_ to sync from boot unless you are very lucky and the "hardware" is only a few hours out of sync at boot time.
Great write-up! I enjoyed the nihilist humour quite a lot.
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. :)
Inspired by a board I found in a local jun/recycling shop and impulse-bought.
It's been upgraded since then to a "Time From Space!!! Clock" since I got bored of needing to reset it because the Arduino doesn't keep very good time, so I added a spare GPS module from my junk drawer (probably one from an old drone that got upgraded to a GPS with faster than 1Hz updates). It still has breadboard and wires hanging out...
¿Maybe just use a USB powerbank if you want a quick n dirty solution?
I 95% like it, but: the normal clock part I never use, and the WWVB syncing sometimes goes out (happening more after 7 years of use), and it reads a time 1-3 hours wrong.
I LOVE the projector part, it's basically all I use. I've been tempted recently to pull it apart and hook it up to some microcontroller that NTP synced and just ran the projector.
[0]: http://jonls.dk/redshift/
[1]: https://play.google.com/store/apps/details?id=com.urbandroid...
I actually didn't understand this part. Why an octagon? How does it help this?
SUMMARY OF INVENTION
One embodiment of the present invention provides a clock embedded in a regular polygon of order 8. The method includes the steps of: (a) orienting and affixing the clock display with respect to the polygon (b) weighting the polygon such that it can be balanced on any edge (c) rotating the polygon to orient the display at the desired angle; and (d) reading the time on the display.
PRIOR ART
Traditionally, alarm clocks have been embedded in circular enclosures (polygons of order infinity) or rectangular enclosure (polygons of order four). The innovation of clocks embedded in polygons of order 5 and higher (excluding infinity) is new and non obvious.
( and does the usual things like telling me the time, weather report and traffic to work )
I'd suggest checking out the Android app Talalarmo, which gets most things right (no snooze, same time every day). Specifically my fork, which adds press-and-hold-to-dismiss. I can build you an apk if you don't have an Android environment set up https://github.com/smichel17/talalarmo
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!
A lot of problems just go away when you realize you can make custom components for them.
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!
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.
I think the current recommendation is either an Ender 3 (for a budget one) or an Ender 5 Pro (if you can afford something a bit better). I would recommend the 5, it looks much sturdier. You might want to eventually add a BLTouch so it automatically levels, and you definitely definitely want to get the "silent" package (it really is entirely silent), the normal one makes way too much noise.
* 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.
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.
Then I realized I could easily design and print an extension to the hopper to hold more. https://www.thingiverse.com/thing:4733166
If you want to get into 3D printing, it's hard to beat the Creality CR-6 SE at $400. Or if you want to take more of a journey, a Creality Ender 3 Pro at $200, and upgrade the motherboard, extruder, and add a bed leveler. I did the latter, and it is a great little printer. Reminds me of back when I was a teen and doing car modding.
I've been upgrading parts the last few weeks, like adding a BLTouch for bed leveling and proper leadscrews instead of the threaded rods it came with. So far I've spent more time printing parts for the printer than anything else, haha.
Funny you mention the coffee hopper, I tried designing and printing a new wider holder for my Aeropress! It came out a good size and shape but the walls weren't thick enough, and the whole cylinder detached when I tried to take it off the bed. Gotta get back into Blender and make some changes before I reprint it.
It worked great maybe 10 or 15 times, until it violently failed during the press. Let me tell you, that makes an amazing mess! Luckily it was at the breakroom at the office. ;-D
The bltouch upgrade took me something like 30 hours to get the software right (because I had no idea how it looked when it worked, everyone seems to cut that out of their videos). But since then, that has really made printing trouble-free. I have almost no print failures since that.
There ain't no hill or mountain we can't climb
>Not having to wake up to a buzzer is cool, though.
Hilarious!
> To know the time, you must first connect to the internet.
> – Sun Inc.
amazing
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.
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.
I really hope that's what the other posters got, or I'll be embarrassed :P