Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Why I love coding IoT

Why I love coding IoT

Scheduled Pinned Locked Moved The Lounge
hardwareiot
22 Posts 14 Posters 25 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H honey the codewitch

    I always love to solve new problems. Today I realized I could use the hardware DMA capabilities of the I2S hardware on an ESP32 to drive 8 pins of data simultaneously w/ background transfers. The upshot is I can drive an LCD connected via an 8-bit parallel bus - at least in theory - and do DMA transfers with it. But nobody has implemented it yet to drive an LCD display, meaning I get first crack at it. There's an e-paper display that uses it, but it doesn't drive a controller chip - it drives the display panel directly with 14 pins or so, and that's a total one off. It's what gave me the idea though. The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I love it.

    To err is human. Fortune favors the monsters.

    M Offline
    M Offline
    markkuk
    wrote on last edited by
    #5

    honey the codewitch wrote:

    But nobody has implemented it yet to drive an LCD display

    ...other than Espressif, the makers of the ESP32 chip. There's a documented API[^] and a code example[^]. They call the 8-bit parallel bus driven by I2S hardware "i80 interface".

    H 1 Reply Last reply
    0
    • H honey the codewitch

      I always love to solve new problems. Today I realized I could use the hardware DMA capabilities of the I2S hardware on an ESP32 to drive 8 pins of data simultaneously w/ background transfers. The upshot is I can drive an LCD connected via an 8-bit parallel bus - at least in theory - and do DMA transfers with it. But nobody has implemented it yet to drive an LCD display, meaning I get first crack at it. There's an e-paper display that uses it, but it doesn't drive a controller chip - it drives the display panel directly with 14 pins or so, and that's a total one off. It's what gave me the idea though. The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I love it.

      To err is human. Fortune favors the monsters.

      R Offline
      R Offline
      Ron Anders
      wrote on last edited by
      #6

      I can dig it. You won't have many friends, but I can dig it.:thumbsup:

      D 1 Reply Last reply
      0
      • R Ron Anders

        I can dig it. You won't have many friends, but I can dig it.:thumbsup:

        D Offline
        D Offline
        Daniel Pfeffer
        wrote on last edited by
        #7

        Ron Anders wrote:

        You won't have many friends

        Friends are for those who don't have interesting projects in their lives. :)

        Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

        R 1 Reply Last reply
        0
        • H honey the codewitch

          I always love to solve new problems. Today I realized I could use the hardware DMA capabilities of the I2S hardware on an ESP32 to drive 8 pins of data simultaneously w/ background transfers. The upshot is I can drive an LCD connected via an 8-bit parallel bus - at least in theory - and do DMA transfers with it. But nobody has implemented it yet to drive an LCD display, meaning I get first crack at it. There's an e-paper display that uses it, but it doesn't drive a controller chip - it drives the display panel directly with 14 pins or so, and that's a total one off. It's what gave me the idea though. The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I love it.

          To err is human. Fortune favors the monsters.

          D Offline
          D Offline
          Daniel Pfeffer
          wrote on last edited by
          #8

          Nice! I used to love getting the maximum out of CPUs and lesser devices back in the day. For better or worse, my career went in a different direction, and I don't have as much time to play around with hardware as I'd like.

          Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

          1 Reply Last reply
          0
          • H honey the codewitch

            I always love to solve new problems. Today I realized I could use the hardware DMA capabilities of the I2S hardware on an ESP32 to drive 8 pins of data simultaneously w/ background transfers. The upshot is I can drive an LCD connected via an 8-bit parallel bus - at least in theory - and do DMA transfers with it. But nobody has implemented it yet to drive an LCD display, meaning I get first crack at it. There's an e-paper display that uses it, but it doesn't drive a controller chip - it drives the display panel directly with 14 pins or so, and that's a total one off. It's what gave me the idea though. The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I love it.

            To err is human. Fortune favors the monsters.

            M Offline
            M Offline
            Mike Hankey
            wrote on last edited by
            #9

            Congratulations, that should speed up things considerably. It's interesting, all the Embedded code I've looked at very few seem to use DMA.

            The less you need, the more you have. Even a blind squirrel gets a nut...occasionally. JaxCoder.com

            D 1 Reply Last reply
            0
            • D Daniel Pfeffer

              Ron Anders wrote:

              You won't have many friends

              Friends are for those who don't have interesting projects in their lives. :)

              Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

              R Offline
              R Offline
              Ron Anders
              wrote on last edited by
              #10

              Yes indeedy. :-D

              1 Reply Last reply
              0
              • M Mike Hankey

                Congratulations, that should speed up things considerably. It's interesting, all the Embedded code I've looked at very few seem to use DMA.

                The less you need, the more you have. Even a blind squirrel gets a nut...occasionally. JaxCoder.com

                D Offline
                D Offline
                den2k88
                wrote on last edited by
                #11

                In my experience a lot of embedded developers aren't programmers and are quite scared of callbacks, function pointers and everything that is mildly complex to code. I often have to explain basic concepts like pointers and double pointers to coworkers.

                GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++*      Weapons extension: ma- k++ F+2 X

                M 1 Reply Last reply
                0
                • D den2k88

                  In my experience a lot of embedded developers aren't programmers and are quite scared of callbacks, function pointers and everything that is mildly complex to code. I often have to explain basic concepts like pointers and double pointers to coworkers.

                  GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++*      Weapons extension: ma- k++ F+2 X

                  M Offline
                  M Offline
                  Mike Hankey
                  wrote on last edited by
                  #12

                  Yep and it takes effort to learn and apply.

                  The less you need, the more you have. Even a blind squirrel gets a nut...occasionally. JaxCoder.com

                  1 Reply Last reply
                  0
                  • M markkuk

                    honey the codewitch wrote:

                    But nobody has implemented it yet to drive an LCD display

                    ...other than Espressif, the makers of the ESP32 chip. There's a documented API[^] and a code example[^]. They call the 8-bit parallel bus driven by I2S hardware "i80 interface".

                    H Offline
                    H Offline
                    honey the codewitch
                    wrote on last edited by
                    #13

                    Fair enough. I must have missed that project.

                    To err is human. Fortune favors the monsters.

                    1 Reply Last reply
                    0
                    • H honey the codewitch

                      I always love to solve new problems. Today I realized I could use the hardware DMA capabilities of the I2S hardware on an ESP32 to drive 8 pins of data simultaneously w/ background transfers. The upshot is I can drive an LCD connected via an 8-bit parallel bus - at least in theory - and do DMA transfers with it. But nobody has implemented it yet to drive an LCD display, meaning I get first crack at it. There's an e-paper display that uses it, but it doesn't drive a controller chip - it drives the display panel directly with 14 pins or so, and that's a total one off. It's what gave me the idea though. The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I love it.

                      To err is human. Fortune favors the monsters.

                      F Offline
                      F Offline
                      Fever905
                      wrote on last edited by
                      #14

                      honey the codewitch wrote: The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I think it's time to make some new shopping cart software!!

                      1 Reply Last reply
                      0
                      • H honey the codewitch

                        I always love to solve new problems. Today I realized I could use the hardware DMA capabilities of the I2S hardware on an ESP32 to drive 8 pins of data simultaneously w/ background transfers. The upshot is I can drive an LCD connected via an 8-bit parallel bus - at least in theory - and do DMA transfers with it. But nobody has implemented it yet to drive an LCD display, meaning I get first crack at it. There's an e-paper display that uses it, but it doesn't drive a controller chip - it drives the display panel directly with 14 pins or so, and that's a total one off. It's what gave me the idea though. The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I love it.

                        To err is human. Fortune favors the monsters.

                        J Offline
                        J Offline
                        jmaida
                        wrote on last edited by
                        #15

                        You are having fun. I agree with your description of IoT land. I also think security is a big area in IoT land that needs constant attention. AI could be the big player there, as well, both in management and security.

                        1 Reply Last reply
                        0
                        • H honey the codewitch

                          I always love to solve new problems. Today I realized I could use the hardware DMA capabilities of the I2S hardware on an ESP32 to drive 8 pins of data simultaneously w/ background transfers. The upshot is I can drive an LCD connected via an 8-bit parallel bus - at least in theory - and do DMA transfers with it. But nobody has implemented it yet to drive an LCD display, meaning I get first crack at it. There's an e-paper display that uses it, but it doesn't drive a controller chip - it drives the display panel directly with 14 pins or so, and that's a total one off. It's what gave me the idea though. The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I love it.

                          To err is human. Fortune favors the monsters.

                          C Offline
                          C Offline
                          CPallini
                          wrote on last edited by
                          #16

                          Quote:

                          in a larger field where it seems like everything has been done before, and done to death.

                          Do you mean JSON parsing? :-D

                          "In testa che avete, Signor di Ceprano?" -- Rigoletto

                          H 1 Reply Last reply
                          0
                          • H honey the codewitch

                            I always love to solve new problems. Today I realized I could use the hardware DMA capabilities of the I2S hardware on an ESP32 to drive 8 pins of data simultaneously w/ background transfers. The upshot is I can drive an LCD connected via an 8-bit parallel bus - at least in theory - and do DMA transfers with it. But nobody has implemented it yet to drive an LCD display, meaning I get first crack at it. There's an e-paper display that uses it, but it doesn't drive a controller chip - it drives the display panel directly with 14 pins or so, and that's a total one off. It's what gave me the idea though. The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I love it.

                            To err is human. Fortune favors the monsters.

                            C Offline
                            C Offline
                            Cpichols
                            wrote on last edited by
                            #17

                            Did you see the article on the MIT development of paper-thin speakers? Hoodie and hat inserts come to mind - I'm thinking for people with sound sensitivity in particular.

                            H 1 Reply Last reply
                            0
                            • H honey the codewitch

                              I always love to solve new problems. Today I realized I could use the hardware DMA capabilities of the I2S hardware on an ESP32 to drive 8 pins of data simultaneously w/ background transfers. The upshot is I can drive an LCD connected via an 8-bit parallel bus - at least in theory - and do DMA transfers with it. But nobody has implemented it yet to drive an LCD display, meaning I get first crack at it. There's an e-paper display that uses it, but it doesn't drive a controller chip - it drives the display panel directly with 14 pins or so, and that's a total one off. It's what gave me the idea though. The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I love it.

                              To err is human. Fortune favors the monsters.

                              B Offline
                              B Offline
                              Bruce Patin
                              wrote on last edited by
                              #18

                              IBM used to use CRTs to save data. (Even before my IBM time)

                              1 Reply Last reply
                              0
                              • H honey the codewitch

                                I always love to solve new problems. Today I realized I could use the hardware DMA capabilities of the I2S hardware on an ESP32 to drive 8 pins of data simultaneously w/ background transfers. The upshot is I can drive an LCD connected via an 8-bit parallel bus - at least in theory - and do DMA transfers with it. But nobody has implemented it yet to drive an LCD display, meaning I get first crack at it. There's an e-paper display that uses it, but it doesn't drive a controller chip - it drives the display panel directly with 14 pins or so, and that's a total one off. It's what gave me the idea though. The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I love it.

                                To err is human. Fortune favors the monsters.

                                M Offline
                                M Offline
                                Matt McGuire
                                wrote on last edited by
                                #19

                                I really miss working in IOT, I haven't touched any of my home projects in a couple years now, no longer work at somewhere that has a use for IOT. I'm afraid some of my skill set is fading. I work for a medium sized community college building software for them now, pay is good, benefits are excellent, the retirement package is over the top, and the work is absolutely boring. I feel like embedded work is much more interesting: pore over the datasheets, choose the correct chips for the job, master you're C skills, and enjoy the pain of getting an inert object to light up and do something. now with web development :( you spend most of the time looking up what the frameworks do as they change every year, what framework, what platform. you can never master this crap, it changes too quickly.

                                1 Reply Last reply
                                0
                                • C Cpichols

                                  Did you see the article on the MIT development of paper-thin speakers? Hoodie and hat inserts come to mind - I'm thinking for people with sound sensitivity in particular.

                                  H Offline
                                  H Offline
                                  honey the codewitch
                                  wrote on last edited by
                                  #20

                                  That sounds amazing! (forgive the pun *ducks*)

                                  To err is human. Fortune favors the monsters.

                                  1 Reply Last reply
                                  0
                                  • C CPallini

                                    Quote:

                                    in a larger field where it seems like everything has been done before, and done to death.

                                    Do you mean JSON parsing? :-D

                                    "In testa che avete, Signor di Ceprano?" -- Rigoletto

                                    H Offline
                                    H Offline
                                    honey the codewitch
                                    wrote on last edited by
                                    #21

                                    Hahaha. How about JSON parsing on an 8-bit CPU?

                                    To err is human. Fortune favors the monsters.

                                    1 Reply Last reply
                                    0
                                    • H honey the codewitch

                                      I always love to solve new problems. Today I realized I could use the hardware DMA capabilities of the I2S hardware on an ESP32 to drive 8 pins of data simultaneously w/ background transfers. The upshot is I can drive an LCD connected via an 8-bit parallel bus - at least in theory - and do DMA transfers with it. But nobody has implemented it yet to drive an LCD display, meaning I get first crack at it. There's an e-paper display that uses it, but it doesn't drive a controller chip - it drives the display panel directly with 14 pins or so, and that's a total one off. It's what gave me the idea though. The point is, in IoT land there are *new problems* - in a larger field where it seems like everything has been done before, and done to death. I love it.

                                      To err is human. Fortune favors the monsters.

                                      S Offline
                                      S Offline
                                      sasadler
                                      wrote on last edited by
                                      #22

                                      I spent my whole career designing/coding for embedded devices. I just love the low level stuff where I have complete control of the processor and associated hardware. 20+ years in the industrial control field and the remaining time programming TI DSPs. Fun stuff.

                                      1 Reply Last reply
                                      0
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • World
                                      • Users
                                      • Groups