DIY IoT E-PAPER Message Board

Поделиться
HTML-код
  • Опубликовано: 20 сен 2020
  • Get your first 10 PCBs for free at www.pcbway.com/
    This is a project I've been wanting to build for some time - it's a message board for your home or business which can be updated from anywhere! The Message Board uses E-Paper which is very low power and only uses power when it updates. Combining this with the Google Docs API and Google Developer Console, using a Raspberry Pi, it's possible to make a message board that polls a Google Sheet and updates when there's new data.
    Links from this video:
    www.waveshare....)
    developers.goo...
    www.analyticsv...
    CAD and code: github.com/XRo...
    You can support me on Patreon or buy my Merchandise:
    ***************************
    Patreon: / xrobots
    Merchandise: teespring.com/...
    ***************************
    Affiliate links - I will get some money of you use them to sign up or buy something:
    ***************************
    Matterhackers 3D printing supplies: www.matterhacke...?aff=7500
    Music for your RUclips videos: share.epidemics...
    ***************************
    Other socials:
    ***************************
    Instagram: / xrobotsuk
    Facebook: / xrobotsuk
    Twitter: / xrobotsuk
    ***************************
    CAD and Code for my projects: github.com/XRo...
    Huge thanks to my Patrons, without whom my standard of living would drastically decline. Like, inside out-Farm Foods bag decline. Plus a very special shoutout to Lulzbot, Inc who keep me in LulzBot 3D printers and support me via Patreon.
    HARDWARE/SOFTWARE
    Below you can also find a lot of the typical tools, equipment and supplies used in my projects:
    Lulzbot 3D Printers: bit.ly/2Sj6nil
    Lincoln Electric Welder: bit.ly/2Rqhqos
    CNC Router: bit.ly/2QdsNjt
    Ryobi Tools: bit.ly/2RhArcD
    Axminster Micro Lathe: bit.ly/2Sj6eeN
    3D Printer Filament: bit.ly/2PdcdUu
    Soldering Iron: bit.ly/2DrNWDR
    Vectric CNC Software: bit.ly/2zxpZqv
    Why not join my community, who are mostly made up of actual geniuses. There’s a Facebook group and everything: / 287089964833488
    XROBOTS
    Former toy designer, current RUclips maker and general robotics, electrical and mechanical engineer, I’m a fan of doing it yourself and innovation by trial and error. My channel is where I share some of my useful and not-so-useful inventions, designs and maker advice. Iron Man is my go-to cosplay, and 3D printing can solve most issues - broken bolts, missing parts, world hunger, you name it.
    XRobots is the community around my content where you can get in touch, share tips and advice, and more build FAQs, schematics and designs are also available.
  • НаукаНаука

Комментарии • 281

  • @mctoel2630
    @mctoel2630 3 года назад +96

    Hey James, there is a type in python called list. You don't have to write out A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, ... you can just iterate over the list (for line in A:)

    • @fusseldieb
      @fusseldieb 3 года назад +21

      Yep, was also kinda annoyed by this hahaha

    • @MrLoggfreak
      @MrLoggfreak 3 года назад +13

      Same here, was pretty annoyed reading that code :D

    • @maskedredstonerproz
      @maskedredstonerproz 3 года назад +7

      also you can write a function that iterates over the list , and call it in multiple locations , instead of rewriting the iteration code

    • @nofate0007
      @nofate0007 2 года назад +2

      Same

    • @cyrilh750
      @cyrilh750 2 года назад +2

      @@fusseldieb I'm pretty sure you should be able to use a formula to generate a Hash code of a range of cells, all this could be done on the sheet then you would just need to compare the value

  • @MarkEichin
    @MarkEichin 3 года назад +100

    E-ink screens really don't fade. Ever. My Kindle DX hasn't had power in years, and is still displaying the "please charge me" screen, I've also got more recent screens that have been in my parts bin for the last year and haven't changed from the demo text that they shipped with.
    Nice trick with the google sheet, it seems at first like overkill but it really does have a lot of nice properties once you get through the authentication mechanism.

    • @kbhasi
      @kbhasi 3 года назад

      It probably depends on the conditions it's stored in, one of which seems to be if it's not used for a long time in a humid climate.

    • @JanTuts
      @JanTuts 3 года назад +12

      I read that _"please charge me"_ like that one Portal 2 turret saying _"I'm different..."_ and it broke my heart.
      PLEASE charge your Kindle :'(

    • @KuraIthys
      @KuraIthys 3 года назад

      My Kobo e-reader is still perfectly displaying it's image (it's set to display the cover of what I was last reading, along with a message saying it's powered off or on standby as the case may be)
      It's certainly not years, but it has been a few weeks.
      It's probably going on a decade old at this point, so the screen is quite old as well.
      Yeah. While I don't doubt that there are environmental conditions that could degrade the image, for the most part, e-ink displays seem to be persistent indefinitely.

    • @cramitdfrog69
      @cramitdfrog69 3 года назад +2

      Better yet since he's using a google sheet; he could make a google form for super easy editing on the go. Just have one field with the content output the results to the sheet.

  • @syber-space
    @syber-space 3 года назад +5

    I believe the flashing is part of the clear routine that makes sure all the areas of the display reset properly. The movement of particles in the screen is physical so updating the same area with the same color too many times in a row could potentially bake in the state and make it difficult to change in future. It's also recommended you have a full screen refresh every few days or so to prevent ghosts of previous displays from remaining permanently. I haven't had the issue on mine yet but I believe that is the reasoning.

  • @DaHaiZhu
    @DaHaiZhu 3 года назад +63

    A Raspberry Pi Zero WH would be perfect for this.

    • @Scorpion008
      @Scorpion008 3 года назад +6

      Was more thinking about a ESP8266

    • @fusseldieb
      @fusseldieb 3 года назад

      @@Scorpion008 Yep, RPis are wayyyyy to overkill for this. Not even near perfect.

  • @roysigurdkarlsbakk3842
    @roysigurdkarlsbakk3842 3 года назад +35

    Thanks :)
    It'd be nice to see this run off an esp32, though - with periodic deep sleep, even a small battery should suffice for quite some time :)

    • @MrBobWareham
      @MrBobWareham Месяц назад

      That sounds better, I don't think I would want an RP to run 24-7 just to update some text on a screen, but I also would not pay £50 for a screen.

  • @user-vn7ce5ig1z
    @user-vn7ce5ig1z 3 года назад +5

    4:10 - It won't fade. E-paper is essentially non-volatile storage, like hard-drives or flash-memory. The molecules have been oriented/aligned in a way that causes them to create black or white (or color) patterns, and they'll stay that way until they are re-adjusted. That's why it has to do the flashing thing to reset the display, it's readjusting all of the molecules together since it can't know which ones are in which orientation at the start.

    • @LostieTrekieTechie
      @LostieTrekieTechie Год назад +2

      I have noticed that with a three-color waveshare e-ink display that I have that if I do not run the display for *several years*, the image does very slightly fade, particularly around the edges.

  • @reddcube
    @reddcube 3 года назад +8

    That is the funniest IF statement I have seen. You know python can directly compare lists, right?

  • @HermanKruisman
    @HermanKruisman 3 года назад +82

    This screams ESP32 and batteries :) Should last quite a while of you only update it during the day.

  • @TheAstronomyDude
    @TheAstronomyDude 3 года назад +2

    It never fades. I have a 2.7 inch waveshare display and the same image has been on it for around 18 months. They work great with ESP32s. And they have partial refresh. But don't do more than 10 partials before a full refresh or you'll get a permanent yellowish burn-in.

  • @smashino
    @smashino 3 года назад +2

    It's really nice to see you build something that even I could tinker with. Usually I watch because it's awesome stuff you're building, but now I also watched thinking I could make that. I'd love to see more of these sort of projects. Great video! Thanks

  • @NoorquackerInd
    @NoorquackerInd 3 года назад +41

    "So I used a Raspberry Pi..."
    _Me, who replaces every RPi project with ESP32s:_
    *I have been summoned*

    • @NanobyteOnline
      @NanobyteOnline 3 года назад +3

      Next step, partial e-paper update only for changed lines

    • @fusseldieb
      @fusseldieb 3 года назад +4

      An ESP8266 might even do it
      Extremely low power consumption. You can make it deep-sleep and disable wifi until the next update, so you only use a few uA!!!

    • @UrbanInsight
      @UrbanInsight 3 года назад

      Make sure you post a Vid!

    • @trandi8
      @trandi8 3 года назад +1

      @@UrbanInsight ruclips.net/video/xnUqWcdtqyU/видео.html

    • @UrbanInsight
      @UrbanInsight 3 года назад

      @@trandi8 Sweet! Excellent Job! Youve gained a sub!

  • @CodeMaker4
    @CodeMaker4 3 года назад +20

    7:12 I think you forgot to black out your security key

    • @fusseldieb
      @fusseldieb 3 года назад +2

      Ahahaha! True, let's see what people will write him :D

    • @robottwrecks5236
      @robottwrecks5236 3 года назад

      I was just looking at that

  • @t0m3tj3
    @t0m3tj3 3 года назад +3

    Instead of polling the REST API every 5 minutes to see if there have been any changes, you can also attach an app script to your google sheet. You can setup this script to call a little rest API on your raspberry pi each time someone updates a field. This way the screen is updated instantly when you add something and you don't need to check every 5 minutes.

    • @testman9541
      @testman9541 Год назад

      Trigger is definitivelly the way to go. Use a change trigger to generate a raster for the dimension of the screen and store this in the drive in a dedicated folder. When waking up the device will look for date/time of creation of the file, and if it is still the same get back to sleep. If this is a different date/time get the file and update the screen with it. As a result, replace the raspberry with any cheap MCU wifi enabled and run this on battery for months....

  • @Daniil-B
    @Daniil-B 3 года назад +23

    Hmm 15 variables, 15 lines of similar output code ....that is ugly. And I would honestly use hashlib ...to save hash, instead of prev values you need to compare with, but I guess whatever works.

    • @deslomeslager
      @deslomeslager 3 года назад +3

      Why bother saving the file every 5 minutes? Put it inside the if statement which checks for differences. So many details if we go for coding perfection.

    • @RickMeasham
      @RickMeasham 3 года назад +4

      deslomeslager I suspect the intention was deep sleep. Use an ESP 32, store the hash in the NV RAM then each wake you get the content, hash it, compare the saved hash and potentially redraw before going back into deep sleep for 5 minutes.

  • @thesfreader3068
    @thesfreader3068 3 года назад +5

    For what it's worth, it won't fade away. I've got an old e-reader, stuck on a page for a few years...

    • @Azzameen99AZ
      @Azzameen99AZ 3 года назад +1

      Couple of months ago, I re-arranged some furniture and found an e-reader I thought lost in 2011. No longer displayed an actual page, but it still had the "low battery" warning perfectly readable.

  • @mystamo
    @mystamo 3 года назад

    Ha James .. What a change of pace. I've played a lot with E-ink papers. Finally these things are affordable. I paid nearly $300 for my 6" a few years back. The price was mostly into converting the ereader screen to a serial input. Cool stuff.

  • @MrMegaPussyPlayer
    @MrMegaPussyPlayer 3 года назад

    Oh a few things I got after reading the documentary (a few month back).
    1. You can bypass the waveshare API and update text directly. However you risk damaging the display. Because ... (see point 2)
    2. Refreshes are used for maintaining the display.
    3. You want to refresh the display every so often anyway, due to display might get damaged if not refreshed of long periods. Manual said at least once a month. (I think) But because even refreshing does not use much power* I would refresh it once a day or at least once a week even if nothing changes.
    4. You can backlight it, because the display is rather transparent (and lets a good amount light through). I plan to put a bunch of WS2812B behind I can turn on and off and change color to highlight and indicate things. It drives up power consumption, but not but that much. And you could make some items on the list e.g. flashing red, or so.
    *= (negatable compared to a Pi 4, still little compared to a Pi 0W, maybe when run on an arduino and put that into sleep mode when not updating it might be add up to something in comparison )

  • @CaseyBorders
    @CaseyBorders 3 года назад +5

    You missed blacking out a few of the addresses and api keys when you're showing the Google Doc API setup.

  • @liamburgess3385
    @liamburgess3385 3 года назад +3

    I've thought about doing exactly this, except I was going to use it to display my calendar.
    That way it doesn't waste paper every year.
    It could also have buttons to allow the user to zoom in on today

    • @ciecelyu613
      @ciecelyu613 3 года назад +1

      I would highly recommend this website to you china-epaper.com, DKE is an E-PAPER professional manufacture, price here is much cheaper than Wave Share the one this RUclipsr found, for instance, 7.5" he used is $53.99, DKE only sale for $39.

    • @DanRTS
      @DanRTS 3 года назад

      This. Me and my wife have had this idea for years but never done anything about it. It just needs to be able to display output and move left and right through the months. Data entry could be via Google calendar on smartphones. Digital calendars are great until the screen turns off and it's no longer glanceable!

  • @mystamo
    @mystamo 3 года назад

    Also, bad a the way it goes off a google doc and any invitees can make changes to the text. Really great way to make a public message board. Now, to interface more than one of them together and have the text seamlessly span across the borderless display. Maybe 4 of them as a start in 4 quadrants.

  • @JLTSoft
    @JLTSoft 3 года назад

    Every 10 minutes checking for an update is old school. There probably is a way to use a notification that will call your webhook whenever there is a change to the document. Then you can write the change more real time and use no bandwidth when nothing is happening. I would implement it in such a way that notification causes a refresh of the data elements and set a changed flag. On another thread, check every few seconds if change flag is true. If it is, check to make sure time since last screen update > threshold (say 15 seconds), and if it is update the e-paper and set changed to false and go back to sleep. That way your e-paper will update in seconds when the Google doc changes, but also won't update too frequently if there are constant updates. You will save on bandwidth and have a far more responsive display.

  • @whatthefunction9140
    @whatthefunction9140 3 года назад

    My brother is addicted to pcb's. Not even once kids. Not even once

  • @alessandrochecchinato2982
    @alessandrochecchinato2982 Год назад

    Thank you, I’m about to make the same project as a gift, I’ll adapt your code to display an image from gdrive instead of the document you showed. You made my life a thousand times simpler. Thank you for your dedication 😁

  • @oliverpolden
    @oliverpolden Год назад

    A couple of years old now, a few people rightly saying use an ESP32. I've done something similar with the InkyFrame 5.7 from Pimoroni which uses a Pico W and real time clock so the Pico can go to sleep and not draw any power until it's woken by the RTC.

  • @BlacksmithGen
    @BlacksmithGen 3 года назад +17

    I wonder if someone could just hack an old Kindle to this purpose? They can be picked for very cheaply, and already have everything you need built in.

    • @kbhasi
      @kbhasi 3 года назад +1

      That could be done, but I've seen that Waveshare does also offer real e-reader displays (albeit without the additional stuff like touch, pen, and/or lighting) too.

    • @BlacksmithGen
      @BlacksmithGen 3 года назад +1

      Oh I'll check that out. I've seen 4th gen kindles on eBay for around £5 shipped so I might just pick one up to have a go at

    • @nagualdesign
      @nagualdesign 3 года назад +5

      You definitely could. The main difference is down to hobbyists versus hackers. A hobbyist can buy the kit, as James has done, have access to all the resources and community help, and learn as they go. A hacker must already understand the underlying principles, and has no access to resources since they don't exist. It's basically either end (or two points) of a learning curve.
      _[Edit]_ Actually there may be _some_ online resources written by fellow hackers, since they have their own communities. If you're not sure how to proceed it's probably worth googling to see how much help is available before buying a second-hand Kindle.

    • @BlacksmithGen
      @BlacksmithGen 3 года назад +2

      @@nagualdesign I've found a few articles covering similar projects on hackaday so I think it's achievable

  • @NicksStuff
    @NicksStuff 3 года назад

    What's great is that you can actually take it with you when you go to the shops: no power needed

  • @jensgreifenhagen
    @jensgreifenhagen 3 года назад

    Cool idea. A quick look into the API docs I found a potential way to skip writing to the sdcard and really only update on either reboot or changes:
    1. startup of the script
    2. Get ntp time on you RPi
    3. get the "modifiedDate" field for the file and its contents
    4. Display it and save the value of modifiedDate in a variable
    5. Every X minutes only get the modifiedDate property and compare it to its last value.
    6. Fetch file and update display if the value of modifiedDate changed.
    That way you could run all of it without writing if you like. Just make sure you catch exceptions e.g. if you internet connection is lost...

  • @qwertyboguss
    @qwertyboguss 3 года назад +1

    Just don't put any commas in your notes or it will break the read of the csv. The csv lib also supports writing so consider using that instead of manually adding commas. If you do, at least escape your text by putting it in double quotes: ".

  • @Fifury161
    @Fifury161 3 года назад +2

    Yes, great idea, great concept & execution, however I could power a standard 21" screen for a few years for the same cost as this e-paper screen (21" monitor @ 20W, powered on 24 hours/day 365 days a year @ 16p/kWh = under £30 a year! You could dim the display or turn it off during sleeping hours, so you could potentially half the running costs). You would still need the Pi to create an image anyway! Personally I'd rather build it into a mirror frame, plenty of projects & ideas for that. I'd make one if the display was bigger & cheaper as the cost savings for this use case over traditional LCD displays just aren't there!

  • @madst7521
    @madst7521 3 года назад +5

    Cool idea. For the sake of the SD card lifetime, it would probably be better to just read the csv and compare in memory and only writing a new one to SD when there is an update.

    • @maskedredstonerproz
      @maskedredstonerproz 3 года назад

      I'm pretty sure it doesn't actually change the sd card as he said , it just changes the on board memory , because if it did, you would be able to access it via plugging the sd into a PC , trust me , I've tried it , only thing we have access to is the system files of the pi

    • @laurinneff4304
      @laurinneff4304 3 года назад

      @@maskedredstonerproz the reason why you can't access the files on a pc is because windows doesn't support the file system the pi uses by default (ext4)

    • @madst7521
      @madst7521 3 года назад

      @@maskedredstonerproz It does. A quick look at the code - github.com/XRobots/IoT-Message-Board/blob/master/Code/v1/sheet02.txt - shows data getting written every single time the program is run.

    • @maskedredstonerproz
      @maskedredstonerproz 3 года назад

      @@laurinneff4304 so is there a PC OS that does actually support that , I want to know because I'd really like to access said files from a PC , imagine the things I could do , I'd have to do waaay less reflashes

    • @laurinneff4304
      @laurinneff4304 3 года назад

      @@maskedredstonerproz Linux supports it (usually ext4 is used on those), and other Unixes probably support it too (so all the BSDs, and maybe even macOS). You might also be able to find a windows driver online

  • @maximilian19931
    @maximilian19931 3 года назад +3

    Gdocs uses a version control system and you can be notified if someone changes the doc and run you code to update the display

    • @okkam7078
      @okkam7078 3 года назад

      You can, but then you have to always be listening for that notification, rather than only waking up every so often (every five minutes, hour, day, etc). That’s a great solution if your project is time-sensitive, like a to-do list that you want to update live, but isn’t as great for something that only needs to update once a day, like a weather forecast. If you only need to wake up the raspberry pi once a day, you can use a lot less power than keeping it on all the time; perfect for battery powered projects.

  • @Thuliolima2008
    @Thuliolima2008 3 года назад

    I accept any of these robots of yours as a gift, since here I cannot afford one.

  • @taba1950
    @taba1950 3 года назад

    Making the content scroll like terminal will also be cool

    • @taba1950
      @taba1950 3 года назад

      Sorry I meant airport terminal

  • @jasonmcburney2370
    @jasonmcburney2370 3 года назад

    I seem to enjoy all of your videos, the new IoT stuff is kind of nice. However I'm really here for the robotics! But then again having IOT robots doing cool stuff when sensors are triggered inside of a room, might be fun too.

  • @nathansavage8692
    @nathansavage8692 3 года назад

    Hey James, theres a cool service called python anywhere which allows you to run you python code in the cloud for free. A idea I had when watching this is that you could have a web server running remotely with all your reminders on it, this would allow you to have the everything working without the requirement of everyone needing a Google account to add reminders

  • @limpfishyes
    @limpfishyes 3 года назад +3

    I'm looking to use a regular monitor and one of those cheap microwave radar motion detectors to power up the screen only if someone is in the room

  • @KX36
    @KX36 3 года назад +16

    i hope you buy a puppy and race in a speedboat before you pay your telephone bill.

  • @patjackmanesq
    @patjackmanesq 3 года назад

    Oh, that is a lovely wee project. Nice one, James...

  • @Sharklops
    @Sharklops 3 года назад +2

    Wow I figured you already were familiar with Python. It's so great for bodging things together it seems like it would be perfect for a lot of the cool things you do. Interested to see if you end up using it a lot going forward

  • @WistrelChianti
    @WistrelChianti 3 года назад

    Would be interested to see a future video on making PCB's and sending them to PCBway as I'm still in stripboard land myself so that would be cool.

  • @vincentkhougaz8714
    @vincentkhougaz8714 3 года назад +2

    Good idea using e-ink for a message board!
    The waveshare link is broken, missing a )

  • @calool
    @calool 3 года назад

    You could possibly send a message over MQTT, with the device listening for messages on a private channel and updating the screen only if a message arrives, may make it a little more efficient and would allow for you to set it to idle then wake up only when a message arrives

  • @TenTries
    @TenTries 3 года назад

    Very cool, I love how simple you make this seem!

  • @saveplanet3977
    @saveplanet3977 3 года назад

    Thankyou for sharing this knowledge, quite useful for small and medium businesses

  • @userou-ig1ze
    @userou-ig1ze 3 года назад +1

    doesn't really make sense to me to use such a low power device with something power hungry like a raspberry pi. You should really do it with an esp32 and deep sleep! Otherwise, awesome job, thanks for the video

  • @MrBobWareham
    @MrBobWareham Месяц назад

    I want to make an E-Reader with a 6" screen, could this be adapted with an RP Pico W? As I don't want Amazon spying on me and what I am reading. Thanks, Bob in the UK

  • @cosmicrdt
    @cosmicrdt 3 года назад

    My original kindle left in the cupboard kept its picture for years without fading.
    Great project but it's way too small and the fact you can't use a pen like a whiteboard isn't nearly as useful.
    Could you put multiple screens in series?

  • @erwinruff01
    @erwinruff01 3 года назад

    isn't it possible that the rasberryPi only checks the date for the last change of the document? I think that would be easier than checking the text.

  • @jamesgarlick4573
    @jamesgarlick4573 3 года назад

    The blinking is used to reduce "burn-in" on the screen

  • @pownaz3119
    @pownaz3119 3 года назад

    You could have used a hash of the contents of the document to compare if it has changed, would save some memory when the file gets bigger. Nice video!

  • @fryreartechnology7611
    @fryreartechnology7611 3 года назад +1

    Think this could be made using batteries so it can hang on a refrigerator like a post-it would? Not sure how long some 18650 cells or AA might last in it but I can see that on mine if that was possible.

  • @TheThompsonBlend
    @TheThompsonBlend 3 года назад

    Love the idea, but you should move your code to write to the CSV file into the IF block and only write if a value has been changed. Not sure if the library you are using is optimized for not writing a file that hasn't changed. This will prevent unnecessary writes to the SD Card.

  • @TemporalRecall
    @TemporalRecall 3 года назад

    It appears that the waveshare link is slightly malformed, as the closing parenthesis isn't part of the link.

  • @anystrap404
    @anystrap404 3 года назад

    Great project James, this is SUPER useful! It makes me want to invest in some larger e-paper displays. =]

  • @shenlong3879
    @shenlong3879 3 года назад +3

    Nowadays I'm expecting a MQTT interface whenever I read IoT.

  • @imbw267
    @imbw267 3 года назад +1

    It's OK to use a for loop in your python code.

  • @skellious
    @skellious 3 года назад

    Did you not use for loops for any paticular reason? would have vastly shortened your code, made it easier to modify and reduced the chance of errors.

  • @anullhandle
    @anullhandle 3 года назад

    Probably worth having a look at applied science video. Ben's hack does 3hz update rate and doesn't need to refresh or blank the whole screen.

  • @WistrelChianti
    @WistrelChianti 3 года назад

    Interesting demo and a nice little change from robots (cause why not? =D). Weird how they have to flash on and off so much to update. I've seen kindles and they seem to only need to do it once.

  • @JediHagrid
    @JediHagrid 3 года назад

    I wonder if you could build a cover for it that you could draw on? Set it up like a tablet with a docking station. Create a list of tasks or items to buy. Send it to the display. Undock the display and take it with you. As you complete a task, check it off the list. When all tasks are complete wipe off all the checkmarks and put the display back in the dock to update.

  • @Some_Beach
    @Some_Beach 3 года назад +2

    for loop?

  • @Luba_z_mesta
    @Luba_z_mesta 7 месяцев назад

    Have you heard about habitica? I'd love the E-ink to use its open API to display your daily taskas.

  • @debdude123
    @debdude123 3 года назад

    Love your work, inspires me to be a more crafty Engineer

  • @Evan-ow8hg
    @Evan-ow8hg 3 года назад

    You can simplify getting the column values and writing them to just
    wks = gc.open('worksheet name').get_worksheet(0) #0 is the index of the sheets in the worksheet
    csv = open(filename, 'w')
    for task in wks.col_values(1)[1:]: #i skip the first line of the column bc i use it as a title
    csv.write(task)
    csv.write(",")
    csv.close()

  • @Koushakur
    @Koushakur 3 года назад +4

    1:09 Invented in the 70s is "recent"??? Use in e-readers ain't recent either, it's been used for over 15 years for that.

  • @scenepool
    @scenepool 3 года назад

    LoRa would work wonders here for low power updates.

  • @Build_the_Future
    @Build_the_Future 3 года назад +2

    I'm working on a project for my business that uses the Google sheets API. It's going to be helpful to take a look at your code and see what I can learn.

    • @jamesbruton
      @jamesbruton  3 года назад +2

      Glad it's useful - it makes a pretty ok platform for any IoT device since Google docs is so accessible

    • @Festivejelly
      @Festivejelly 3 года назад

      His code is not a good place to start. There are some pretty bad habbits in there. Id suggest taking a look at the google api docs.

    • @TheRainHarvester
      @TheRainHarvester 3 года назад

      I got esp working without 3rd party to WRITE data. But no reads yet. Sheets can also email you based on triggers (if checks of your sheets' data).

  • @andymuzzo8568
    @andymuzzo8568 Год назад

    Loved this video 2 years ago. Is there a way to do this with a ESP 32?

  • @zuryan
    @zuryan 3 года назад

    I heard somewhere that the display need to (or rather should) be updated entirely every time you change the contents or otherwise the magnetic ink will lose/change? it's polarity. this is pretty much a "burn in" protection

  • @mikedrop4421
    @mikedrop4421 3 года назад +1

    You're saying it wrong. It's PCBWaaaaaaaaaaay.

    • @markifi
      @markifi 3 года назад

      PCBWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay

  • @barrettdent405
    @barrettdent405 3 года назад

    Always wanted to see a larger epaper screen. What about stacking several?

  • @MarineMan215
    @MarineMan215 3 года назад

    You could tile 4 of those 7.5 inch screens to make a bigger screen than the 10 inch one for much cheaper

  • @Oskar42
    @Oskar42 3 года назад +3

    Key at 7:15 is not blurred/censored...

    • @jamesbruton
      @jamesbruton  3 года назад +3

      I'm pretty sure it doesn't matter since the account only has read-only access to the file. Not sure if that's enough info to access it either.

    • @Oskar42
      @Oskar42 3 года назад

      @@jamesbruton It may be, not sure. Even then someone could burn through your access quotas

  • @HansMilling
    @HansMilling 3 года назад

    Wa hey don’t you use arrays, instead of 15 individual variables?

  • @benntrowbridge
    @benntrowbridge 3 года назад

    I had an idea/question that might work for a power supply and came back to your video to leave a comment just in case. You had mentioned in the introduction that a common place to leave notes like this is the refrigerator door with magnets. Could a Peltier module connected to the radiator on the back of the fridge generate enough power to update the display?

  • @MrMegaPussyPlayer
    @MrMegaPussyPlayer 3 года назад

    12:45 Actually I wanted to do a similar project* it even works on a Raspberry Zero (W), and while I am not experienced to do it, there is a way to get it run on a Arduino which would use even less power.
    *=have basically the same display, but I think I got the 10'' version. Anyway developing did not go well for me since the Pi I used was too slow for that so I put it on hold till I had my hand on a Pi 4 for development. But in meanwhile forgot about it and got other projects in front of it

  • @atharvbhalerao3062
    @atharvbhalerao3062 3 года назад +1

    Any chance we can do this using the e ink display we get with psoc 6 ?

  • @willhaney96
    @willhaney96 Год назад

    Why not just hash the data from the sheet and save the hash can compare to the new hash?

  • @billytalentrocks345
    @billytalentrocks345 3 года назад

    A1 to A15 would be a nice case to use an array and then loop over it for your rendering. Avoids some copy paste

  • @alecpeterson8844
    @alecpeterson8844 3 года назад

    How did you get into this kind of thing? I really want to get into robotics myself but don’t know where to start.

  • @siwiskate
    @siwiskate 3 года назад

    You should use nested for loops to avoid the A0..A14 massacre

  • @LucasHartmann
    @LucasHartmann 3 года назад +1

    Can't you get a whole Kindle for $55? Jailbreaking it would give you all the access and hardware you need.

  • @KentRoads
    @KentRoads 3 года назад

    Did you blank out the web address and display the security key?

  • @TacoMaster3211
    @TacoMaster3211 3 года назад

    What happens if the note is too long to display in one line of text?

  • @sethrd999
    @sethrd999 3 года назад

    A nice idea but I would look to not use a cloud effort, serious privacy issue for me. This would be better to implement around short mqtt messages.

  • @joe-uq7qi
    @joe-uq7qi 3 года назад

    Very good idea

  • @matthewbrauer5977
    @matthewbrauer5977 3 года назад

    Nice project. To check for updates, rather than comparing row by row why not just look for a change in md5 hashes between old and new csv files?

  • @roostertechchan
    @roostertechchan 3 года назад

    You could use python's and script's absolute paths in crontab and avoid the bash script.

  • @erikchumbley3014
    @erikchumbley3014 3 года назад

    Cool project! I think I might try my hand at it too. Personally, to update the contents, I would've pulled a temporary csv. Then I would compare the file hashes of the two files and if the temporary file hash was different, it would overwrite the permanent csv before discarding the temporary one... but, it's just another way of skinning a cat.

  • @kumaran627
    @kumaran627 3 года назад

    Not gonna lie , he almost had me pressing the invest button the first 30 seconds

  • @minhajsixbyte
    @minhajsixbyte 3 года назад

    Me gonna buy a lot of e paper display if it gets affordable eventually

  • @bakonuroff4448
    @bakonuroff4448 3 года назад

    helli James! hello from Qazaqstan!

  • @LuxFerre4242
    @LuxFerre4242 3 года назад

    Instead of storing the old values, wouldn't it be better to make a hash and use that for comparison?

  • @TheNadOby
    @TheNadOby 3 года назад

    Struggling not to count how many "Google doc" are here.
    Anyways very nice project.
    Instead of using bash script use "cron" or alternatives.
    Or make it run in a background like normal "daemon" with some watchdog service to monitor it.
    Its is fairly easy and more robust.

  • @ishanstechtips1164
    @ishanstechtips1164 3 года назад +1

    How do kindles have such big screens for there prices?

    • @SpencerPaire
      @SpencerPaire 3 года назад

      Mass production. I imagine that outside of mass applications where a client is buying hundreds of thousands from a manufacturer, these are a rather niche product, so they're very expensive in small quantities. Also, they're a rather new technology, so they haven't hit the commodity prices we're used to with other components.

  • @kossmonaut
    @kossmonaut 3 года назад

    i wonder how large a solar panel would need to be to maintain this

  • @KJ7JHN
    @KJ7JHN Год назад

    This runs on arduino but the arduino hasnt enough program space for images. An esp32 would be perfect or a raspberry pi zero without a gui.

  • @EngineeringSpareTime
    @EngineeringSpareTime 3 года назад +3

    Why are you not using a pi zero for this? Would make it look way sleeker :)

    • @nagualdesign
      @nagualdesign 3 года назад +1

      If it was flat, battery powered and attached to the fridge by magnets it would be very nice indeed.

    • @EngineeringSpareTime
      @EngineeringSpareTime 3 года назад +1

      nagualdesign Yes, this is what I had in mind as well! To be fair: the full size pi is a better prototyping platform and he could swap it out with something smaller later

    • @nagualdesign
      @nagualdesign 3 года назад +1

      @@EngineeringSpareTime He also has the option to cannibalize it for other projects, but it would be nice to keep all his old stuff in working condition (assuming he has room) as a sort of museum.

    • @EngineeringSpareTime
      @EngineeringSpareTime 3 года назад +1

      nagualdesign This would be nice. Talking from experience: It ends up with a lot of stuff in a small space and its all „dead“ money :) With the amount of stuff he is building, it would be enough to have a room full with the working/ finished prototypes

    • @nagualdesign
      @nagualdesign 3 года назад +1

      @@EngineeringSpareTime There may also be legal restrictions to prevent people from assembling a sizable robot army. 😉

  • @RainOrigami
    @RainOrigami Год назад

    weird censoring... all values are eventually completely visible. why even bother censoring them sometimes, but not other times? also the censor bars fade separately and half way through the fade are transparent enough to see the text they're supposed to hide.

  • @Jonathan-vx7xi
    @Jonathan-vx7xi 3 года назад

    what a great idea...would love to see a version that works with a stylus pen