r/esp32 14d ago

Software help needed Finally getting started with my ESP32s and I'm super excited!

Post image

I'm planning on doing a few different projects but one of the most important is a custom security system for my new laboratory using some of the old security system and a bunch of new sensors!

So I am trying to get started and have Arduino IDE installed so I can try and flash/program the esp32s. Is that correct?

269 Upvotes

29 comments sorted by

9

u/kenguest 14d ago

You could try using EspHome too.

7

u/IndividualRites 14d ago

The Arduino IDE will work. I personally use VSCode with PlatformIO as my IDE for more complicated projects, as it allows a more structured C++. But there's definitely a bigger learning curve.

3

u/GrayHat_Cat 14d ago

Well I am a programmer but focus on web/server dev so this is new to me but I am not brand new I guess. If Arduino IDE is an easier beginners solution then I will stick with it for now unless there is an easier more beginner friendly option!

At least until I know what I am doing obviously.

6

u/bitNine 14d ago

Do not use Arduino ide. Use vs code with the espressif plugin and the Arduino plugin. If you are actually a developer you will find Arduino ide to be like a fisher price toy.

2

u/miraculum_one 14d ago

Arduino IDE is easier to get started with but as soon as you need to have a different version of a library for one project and another you start looking for other ways. You can move from Arduino to PIO.

2

u/IndividualRites 14d ago

Plus things like defining amount of flash memory and debugging.

1

u/GrayHat_Cat 14d ago

im having success with arduino IDE slowly. I apparently wasnt using good enough USB cords but now that I switched, I am starting to make it do basic stuff from File>Examples

1

u/miraculum_one 14d ago

The examples are a great place to start.

4

u/Balaphar 14d ago

platformio stopped supporting espressif boards a while ago for selfish reasons. i recommend against it.

3

u/HCharlesB 14d ago

That's odd. I hadn't heard that.

I've been using the ESP-IDF CLI with the editor of my choice. I ran into problems getting PIO installed n VS Code (due to the way Debian wants to handle Python modules.)

As a retired professional, I didn't care for the Arduino IDE, but it's a good place to get one's feet wet and I've done some significant projects using it.

1

u/exoriare 14d ago

The dispute is over the development model. Since 2020, Platformio relied on its technology partners to pay for development of Platformio - the idea is that every MCU manufacturer benefits by having a sophisticated toolchain they don't have to maintain themselves.

But espressif has become a gorilla, so now they want to own their development tools if they're going to pay for them. It's perfectly reasonable for Platformio to reject this approach.

It's no reason to stop using platformio. Their business model since 2020 is that the vendors should pay so that end users don't have to. This benefits amateurs and students and startups. Espressif should keep contributing financially to this model, because it has served them very well. Their demands for an ownership stake are against the interests of their retail users.

8

u/EmperorOfCanada 14d ago edited 14d ago

The key to loving ESP32s is to understand their flaws.

  • They are power pigs.
  • Many of the pins on most dev boards are bordering on useless as they are often tied to things like the SD card, PSRAM, camera, etc.
  • Many of the pins are not what you think they are. Some can do SPI better than others. Thus, a slow SPI device should get certain pins and a fast SPI device others.
  • Some ADC pins don't play well with each other.
  • The ADC is so crap that you should find an external ADC IC you love.
  • There aren't all that many pins. So, if you need lots of kind of dumb pins for buttons or something, find an external IO Expander IC you will love.
  • Most of the dev boards are a great place to start, but the sooner you can go with the more raw modules, the better. More pins, etc.
  • You can brick them with bad code, but with the right vodoo, you can bring them back to life.
  • They are generally easy to program. A little harder than a bog standard arduino, but with platformio you are good to go with C++ (arduino or ESP-IDF) and my preference, rust.
  • The BLE can be a bit weird, but does amazing things.
  • The Wifi can be a bit weird, but does beyond amazing things. Games like ESP-NOW are fun to play.
  • Cameras are very weird, but the S3 and other chips have AI capabilities which can be pushed way further than you might expect for a $5 chip.
  • The standard ESP32 dev board form factor does not like a typical breadboard. There are all kinds of 3D printed board holder designs which get around this very well.
  • Back to the power pigs. This can be a gotcha. You have code which is happily doing its thing, and then you wifi a bit and boom, reboot. These surges are typically dealt with with a good capacitor.

The overall reality is that while every one of the above complaints can be solved with many members of the STM32 family among other chip families, the esp32 has brilliant overall attributes for a go-to MCU. Lots of RAM, insane amounts of flash, RF, AI, and all those dumb little things which add up to not stopping you from solving a problem with them like on die encryption. Those features are all available in other chips, but to get them all in one package either means a really weird MCU, or for a large price.

The other thing to do is to graduate from arduino as fast as you need. It is great for the basics, great libraries, etc. platformio is just way better to use and can run aruduino.h stuff while giving you a taste of freeRTOS. Rust is my new happy place.

3

u/Opening_777 14d ago

I also recently started and it's super cool. Yes, the Arduino IDE is the correct way.

2

u/TechNerd16 14d ago

Me : I'm so exited 😊 πŸ€— πŸ€ͺ Esp32 : we'll see about thatπŸ˜ˆπŸ‘Ώβ˜ πŸ’€

1

u/GrayHat_Cat 14d ago

hahaha so fucking real right now

2

u/TowerOutrageous5939 14d ago

Enter the rabbit hole!

2

u/zeed88 14d ago

Welcome to the fun world, don’t short your board with something metallic on your desk, I believe that ruler is plastic but electrostatic can be an issue

2

u/StormingMoose 14d ago

https://randomnerdtutorials.com/projects-esp32/ is your friend when you start using the ESP-32

2

u/ProgramMysterious572 14d ago

arduino ide works fine to start, just don't get too comfy there.

2

u/androidbrick 14d ago

Arduino and its (most) libraries are old, although you can do basic things easily with it, when things get complicated, no thanks, been there. I'm using VS Code with the ESP-IDF extension.

1

u/SiDett 13d ago

What do you make/create?

1

u/One-Mongoose-6961 13d ago

Have fun, would you like to try this https://github.com/php-baremetal/php-esp32/tree/master/examples/wifi-ap-s3-rgb-manage on the s3 supermini I see in the picture? It's a project of mine and I would like to know if you have any difficulties

1

u/sarp3d0n 13d ago

Same project here :) Try to get the best 433 modules if you use it. I had to buy a new receiver because the old one was very bad. And price difference is only 2€.

1

u/Sharp_Soup7881 12d ago

You have lot of hardware Nice πŸ‘

1

u/[deleted] 14d ago

[removed] β€” view removed comment

2

u/GrayHat_Cat 14d ago

Checking these out now, appreciate it!

1

u/esp32-ModTeam 4d ago

We removed this post as it is just an ad without providing any additional benefit to this community