# \[off topic\] Need advice getting started with D1/ESP/PI type "thing" projects

**URL:** <https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408>\
**Category:** Hardware\
**Created:** [21 March 2020 13:23 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408 "2020-03-21T13:23:13Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [22 March 2020 06:16 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/21 "2020-03-22T06:16:44Z")

</div>

> [@Steve-Mcl](#):
>
> A kinda MQTT doorbell (wifi or BT) preferably battery powered - this will eventually send (via a node-red instance with broker) messages to telegram & output sounds to Smart Speaker

I am using a simple 433Mhz doorbell and a sonoff RF bridge flashed with tasmota, which captures the signal and sends out mqtt, node-red sends both a telegram and homekit notification, works nicely. When searching google, there are even 433Mhz doorbell versions without a battery (kinetic). Time for a replacement 🙂

---

<div class="post-metadata">

**Author:** ![Christian-Me](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/christian-me/32/10774_2.png) [@Christian-Me](https://discourse.nodered.org/u/Christian-Me)\
**Post date:** [22 March 2020 07:37 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/22 "2020-03-22T07:37:26Z")

</div>

A few little things I like to add:

- skip Arduino as an IDE. Start with vscode and install platformIO. You can still use the Arduino framework for ESPs (and many others) and have a powerful ide including in circuit debugging. Even if it looks overwhelming especially for beginners vscode is so helpful. And you have no limits when you are getting a pro.
- a WEMOS d1 mini 4 dupond wires and a bmp280 (or whatever i2c sensor you like) as a shield or a module is enough to get started. In parallel order your stuff from china and wait the 4-8 weeks.
- depending on your C/C++ skills or if you plan to improve them if necessary, skip the firmwares (ESPEasy, Tasmota ....). A Swiss Army knife is handy but preparing a meal with a decent knife is better in the long rund. The hardware thing is normaly not a big deal - all is in the software.
- for MQTT communications take a look into the homie convention. It is so convenient when all your devices talk the same language: homie (not only using the same media: mqtt) I use a very simple library dooing all the heavy liftinf for WiFi/MQTT/OTA so I can concentrate on my code doing useful stuff.

> **[homieiot/homie-esp8266](https://github.com/homieiot/homie-esp8266)**
>
> 💡 ESP8266 framework for Homie, a lightweight MQTT convention for the IoT - homieiot/homie-esp8266

The documentation also give you a kickstart for vscode and platformio too.

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [22 March 2020 08:09 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/23 "2020-03-22T08:09:02Z")

</div>

> [@bakman2](#):
>
> I am using a simple 433Mhz doorbell and a sonoff RF bridge flashed with tasmota, which captures the signal and sends out mqtt,

Now that is interesting & just the kinda thing I'm looking for.

I wonder if there is 433MHz kit for Wemos D1?

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [22 March 2020 08:16 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/24 "2020-03-22T08:16:14Z")

</div>

Hi @Christian-Me, excellent info -

I wasn't aware we could stay in VSCode - I will definitely go this route. I am very comfortable with it (use it on an almost daily basis). Happy days.

As for firmware, if not ESPEasy/Tasmota, what would you recommend?

Re: homie conversation, I can definitely see that being useful and definitely a good call. At work, I try to stick to a conversation loosely based on homie (not always easy/suitable/possible) when MQTTifying PLCs and other hardware.

Cheers.

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [22 March 2020 08:41 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/25 "2020-03-22T08:41:58Z")

</div>

With a wemos that is also possible, but it will make it bigger than you can get a doorbell from a random store and the wemos with transmitter might even become more expensive

---

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [22 March 2020 09:33 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/26 "2020-03-22T09:33:53Z")

</div>

No. Was thinking of the std bell push as transmitter and a Wemos+receiver for sending MQTT.

---

<div class="post-metadata">

**Author:** ![Christian-Me](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/christian-me/32/10774_2.png) [@Christian-Me](https://discourse.nodered.org/u/Christian-Me)\
**Post date:** [22 March 2020 09:46 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/27 "2020-03-22T09:46:22Z")

</div>

I only have experience with ESPEasy, and I contributed the homie plugins (which need an urgent update but I messed up my git repository).  
I love it. And it comes with a nice script engine so you can do low level automation directly on the ESP.  
But it comes with limitations. Especially

- memory ROM: a one fits all system needs a lot. Many of the shelf products only have 1MB of flash. So OTA takes 50% some settings 10% and you quickly ran out of flash and the hole plugin concept is doomed
- memory RAM: taking care of many (even unused) plugins eats your RAM.
- timing: ESP Easy only knows a constant period of reading sensors. I like more the dynamic send value on change.

This all brought me to the conclusion to build my individual purpose firmware with the ESP homie library as a foundation. See my Christmas Tree project I posted here where I had to do some pwm modulation in sync with polarity changes. Firmware (including getting familiar with the library) done in two hours.

> [@Is your Christmas tree to bright? Perhaps this can help](https://discourse.nodered.org/t/is-your-christmas-tree-to-bright-perhaps-this-can-help/19499):
>
> I wish this aw awesome community a "Merry Christmas" and what to thank for all the support, inspiring ideas and this fantastic project. May 2020 be as good (or even better) for all of you, your families and your projects. If you ran into the same problem as I did perhaps this could be a last minute hack - or a good preparation for next year you can do over the holidays.

---

<div class="post-metadata">

**Author:** ![ghayne](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ghayne/32/39_2.png) [@ghayne](https://discourse.nodered.org/u/ghayne)\
**Post date:** [22 March 2020 09:49 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/28 "2020-03-22T09:49:35Z")

</div>

I cannot add anything to the wonderful hardware info but I suggest you look at MicroPython too:

> **[MicroPython - Python for microcontrollers](https://micropython.org/)**
>
> MicroPython is a lean and efficient
> implementation of the Python 3 programming language
> that includes a small subset of the Python standard library and is
> optimised to run on microcontrollers and in constrained environments.

It is much easier to test routines using MicroPython on the device, even have different versions on the board at the same time.

---

<div class="post-metadata">

**Author:** ![Christian-Me](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/christian-me/32/10774_2.png) [@Christian-Me](https://discourse.nodered.org/u/Christian-Me)\
**Post date:** [22 March 2020 09:53 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/29 "2020-03-22T09:53:49Z")

</div>

One quick question: Does it work on 1MB flash devices? Or are all ESP8285 out of the game?

---

<div class="post-metadata">

**Author:** ![ghayne](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ghayne/32/39_2.png) [@ghayne](https://discourse.nodered.org/u/ghayne)\
**Post date:** [22 March 2020 10:09 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/30 "2020-03-22T10:09:08Z")

</div>

I don't think ESP8285's are supported! [MicroPython]

---

<div class="post-metadata">

**Author:** ![hominidae](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hominidae/32/4174_2.png) [@hominidae](https://discourse.nodered.org/u/hominidae)\
**Post date:** [22 March 2020 11:09 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/31 "2020-03-22T11:09:27Z")

</div>

...1MByte or larger should be fine, according to the docs: [https://docs.micropython.org/en/latest/esp8266/tutorial/filesystem.html](https://docs.micropython.org/en/latest/esp8266/tutorial/filesystem.html)

I think, even an ESP-01 with 512MB will work with older versions, should the binary fit into it....  
The standard ESP-01 is the 01S nowadays, which has 1MB...even re-soldering a 4MB flash chip (25ct each) is an option.

---

<div class="post-metadata">

**Author:** ![Christian-Me](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/christian-me/32/10774_2.png) [@Christian-Me](https://discourse.nodered.org/u/Christian-Me)\
**Post date:** [22 March 2020 11:26 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/32 "2020-03-22T11:26:25Z")

</div>

Ii thought so. Putting a high level interpreter language and a complete framework on a micro even on a powerful one like the ESP is a challenge and questionable.  
The genius idea behind the Arduino ecosystem is to bring people into coding in C/C++ without actually telling them, If you say _"oh you have to learn C++ to program an micro controller and to setup you environment you need with 5+ tools you never heard of and have no idea what they are good for."_ many would have step back. Instead they made a ecosystem which does the heavy lifting (build in compiler, upload tools, library manager ...) and after installing one app by clicking on next several times you can start to code and after 4 lines of code you have your led blink. Now you can progress from here ...

---

<div class="post-metadata">

**Author:** ![ghayne](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ghayne/32/39_2.png) [@ghayne](https://discourse.nodered.org/u/ghayne)\
**Post date:** [22 March 2020 11:32 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/33 "2020-03-22T11:32:16Z")

</div>

Oh, just found this on the download page:

"The following are daily builds of the ESP8266 firmware tailored for modules with only 512kbytes of flash. Certain features are disabled to get the firmware down to this size."

---

<div class="post-metadata">

**Author:** ![Christian-Me](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/christian-me/32/10774_2.png) [@Christian-Me](https://discourse.nodered.org/u/Christian-Me)\
**Post date:** [22 March 2020 11:32 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/34 "2020-03-22T11:32:29Z")

</div>

That’s cool and as you upload your code to the FS don’t have to reflash the complete firmware (unless you upgrade) that should work.  
But again as for all other OS (ESPEasy) you have to work with that what the OS provide. There might be a situation where you have an exotic sensor or task where you could do it in C but not with an OS sitting on top of your micro.

---

<div class="post-metadata">

**Author:** ![Christian-Me](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/christian-me/32/10774_2.png) [@Christian-Me](https://discourse.nodered.org/u/Christian-Me)\
**Post date:** [22 March 2020 13:29 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/35 "2020-03-22T13:29:13Z")

</div>

Precisely and who decides what get dropped over board?  
I spend hours (days?) working on precompiler scripts to get ESPEasy to a decent size questioning myself what if I wrote the code from scratch myself.  
These are all thoughts and experience form my side. With the knowledge I have today (and that definitely improved a lot) I would started with my own code in the beginning. Simply as when I started with all that stuff in the 1980th I just wanted a pacman clone on the school Commodore CBM 8032. So I started with basic and switched to some assembler and in the end managed to clone pacman - the most difficult part was getting the information not learning how to code. BTW: 32k Ram 1MHz not 100+KB + up to 16MB flash for your code and 80MHz/160MHz hmmm how we did this? 🤔

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [22 March 2020 13:46 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/36 "2020-03-22T13:46:55Z")

</div>

Ah yes ofcourse - misunderstanding , i have a dvb-t to capture signals as well (in case you have one), in the end a sonoff bridge works great too, also for wall switches, all dirt cheap.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [22 March 2020 16:21 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/37 "2020-03-22T16:21:20Z")

</div>

> [@Steve-Mcl](#):
>
> I wonder if there is 433MHz kit for Wemos D1?

[https://www.startpage.com/do/dsearch?query=esp8266+433mhz+bridge&cat=web&pl=opensearch&language=english](https://www.startpage.com/do/dsearch?query=esp8266+433mhz+bridge&cat=web&pl=opensearch&language=english)

> [@Steve-Mcl](#):
>
> I wasn't aware we could stay in VSCode

Personally, though I do everything else in VScode, I'm just not good enough with C/C++ to use it for Arduino/ESP8266. The Arduino IDE is so simple to use and well integrated, I've never really had the incentive to try to power though the friction of getting started with PlatformIO. The libraries are all integrated as well and they come with lots of useful, integrated examples which makes using them a breeze.

> [@Steve-Mcl](#):
>
> As for firmware, if not ESPEasy/Tasmota, what would you recommend?

Nothing. If you don't want to use one of those, just hand-code, it isn't at all hard.

> [@Steve-Mcl](#):
>
> homie

Yep, good if a little complex.

> [@Christian-Me](#):
>
> I use a very simple library dooing all the heavy liftinf for WiFi/MQTT/OTA

That's cool, certainly going to try that. Looks like I'll be ditching ESPeasy if this library works as advertised. I much prefer rolling my own but the ease of having OTA and easy configuration was getting in the way.

I've also one of my sensor platforms that always plays up with ESPeasy and I've never been able to find out why. So hand-coding should let me do that and maybe get a more stable platform.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [22 March 2020 16:24 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/38 "2020-03-22T16:24:05Z")

</div>

> [@Christian-Me](#):
>
> Simply as when I started with all that stuff in the 1980th I just wanted a pacman clone on the school Commodore CBM 8032. So I started with basic and switched to some assembler and in the end managed to clone pacman - the most difficult part was getting the information not learning how to code

Haha, I took a similar approach to learning to program on the BBC Micro (8-bit 6502 processor based). Quickly learned the BBC Basic and gradually learned assembler which thankfully was particularly easy on the 6502. Even better, BBC basic included a feature that let you integrate assembler right into your BASIC code simply by using an open square bracket notation. Man, that was a great architecture.

---

<div class="post-metadata">

**Author:** ![Christian-Me](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/christian-me/32/10774_2.png) [@Christian-Me](https://discourse.nodered.org/u/Christian-Me)\
**Post date:** [22 March 2020 17:07 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/39 "2020-03-22T17:07:28Z")

</div>

Right and you had control over every single byte, lucky there were not many 🤪  
I actually started with a Z80 single board computer, the raspberry of the time - hdmi=7 segment display / keyboard = hex keypad / sd = cassette recorder. I controlled my “fischertechnik” models with an 2x8bit I/O chip with 4 registers.

That’s why I started again with micro controllers a few years ago after 20 years of being sober.

---

<div class="post-metadata">

**Author:** ![Christian-Me](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/christian-me/32/10774_2.png) [@Christian-Me](https://discourse.nodered.org/u/Christian-Me)\
**Post date:** [22 March 2020 17:21 UTC](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408/40 "2020-03-22T17:21:18Z")

</div>

No! It was awful, there was always some barrier: memory, speed, resolution, colors, i/o, OS, money ....  
Today the only limit is our own imagination and knowledge. Memory, speed, 6k video, gigabit everywhere for pocket money.  
Having all this and being 15 again what great things would I do? The same as my son: I would play video games! 😝  
We had none so we had to code them ourself.

[Previous page](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408.md?page=1)

[Next page](https://discourse.nodered.org/t/off-topic-need-advice-getting-started-with-d1-esp-pi-type-thing-projects/23408.md?page=3)
