@projectgus I love that the platform is so popular that it has this thriving ecosystem of ways to program and interact with it.

Some more mature, some easier to do rapid prototyping, some more efficient, some more complete than others.

I will keep exploring till I find one that allows rapid prototyping and is not sacrificing too much in terms of low power mode and that I enjoy writing in ๐Ÿ˜ƒ

I have no problem with C it is a roughly 10-30 second roundtrip for a code change.

#esp32 #esp32s3

Have to expand the list based on the replies.
Probably more out there.

5) MicroPython (Python; REPL)
6) PlatformIO (C; VS Code)
7) CircuitPython (Python; REPL; Onboard IDE)

#esp32 #esp32s3

In the couple of days that I played around with the ESP32S3 I discovered 4 ways to program the device.

1) Esspresif-IDE (Manufacturer; C)
2) Arduino (C)
3) nanoFramework (c#)
4) XEdge32 (Lua)

4) Is interesting as it installs a VS Code based Lua IDE directly onto the ESP32-S3 that you can use in the browser by opening the device-ip. Nice!

Got my program working on 1+2.
Was barely able to use 3 - due to tooling on linux.
Got 4 up and running within 30 minutes.

#esp32 #esp32s3

It took my all day to get the nanoframework flashed on the esp32s3 and and to get one of the example projects to run on the device.

The LED is blinking.

Even with the vs code extension for nanoframework the toolchain needs a lot of love when working on linux.

I was hoping to use c# instead of c but at the moment the workflow does not feel good.

It seems that in Visual Studio and on Windows this might be viable. But I am not going back to Windows for that.

#esp32 #esp32s3 #nanoframework

Got the ESP-IDE working and tested raw performance with the iperf example from the ESP32S3 to my Desktop. Got roughly 45Mbit/s in both directions.

Meaning the hardware itself is capable.

Now I will write the ESP-IDF version of my snapshot camera program to see if using their examples changes the HTTP-Post throughput.

I also tested my server implementation. This is definitively not the bottleneck. On my small homelab it has no problem with concurrent 30 files/sec

#esp32 #esp32s3

I have these ESP32S3 boards and use the WifiClient.Write method to send the FrameBuffer of a captured Image to a Server endpoint via HTTP-Post.

Everything works well except the Wifi performance of the ESPs is really really bad.

(I use modified Arduino IDE examples as the base)

Sending 40Kb Jpg takes between 500ms to 15 seconds to send. These are only the timings for sending the FrameBuffer.

Anyone a link/tip to a good working example in preferably Arduino IDE?

#askfedi #esp32s3 #esp32

Woho!

Added a quick reconnect for the wifi. Storing the wifi information like DHCP lease and IP in the RTC memory. Now it takes only 100ms to reconnect the wifi after deepsleep. Before it was 1200ms.

Nice ๐Ÿ˜ƒ

#esp32 #esp32s3

Switched to a dotnet based server implementation as I am more familiar with it.

Also added the SSIM difference detection directly to the file saving part. Now only images get saved that have more than 5% difference to the previous image of that camera.

Installed it on my homelab and squashed some bugs. Works great so far.

Need to let it run for a couple of days to see about stability.

#esp32 #esp32s3

Got a simple snapshot camera working. Takes a picture, connects to wifi and sends it via HTTP-Post to a fastapi based server on my homelab. Goes into deepsleep for 8 seconds ... rinse and repeat.

The esp32 runs stable for the last 6 hours. Server side needs more attention.

Added a script that compares the images and deletes them if they have less than 5% difference.

The images are stores by cam-ip/date/time.jpg with a quick ffmpeg command and I get a mp4 of the day.

Nice ๐Ÿ™‚

#esp32 #esp32s3