Why I love coding IoT
-
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.
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
-
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.
Yes indeedy. :-D
-
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
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
-
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
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
-
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".
Fair enough. I must have missed that project.
To err is human. Fortune favors the monsters.
-
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.
-
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.
-
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.
-
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.
-
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.
IBM used to use CRTs to save data. (Even before my IBM time)
-
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.
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.
-
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.
That sounds amazing! (forgive the pun *ducks*)
To err is human. Fortune favors the monsters.
-
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
Hahaha. How about JSON parsing on an 8-bit CPU?
To err is human. Fortune favors the monsters.
-
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.
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.