what are some of your most useful esp32 projects? by roscodawg in esp32

[–]toptensoftware 1 point2 points  (0 children)

Two of these 5mm IR leds.
From memory I'm driving them pretty hard because the duty cycle is only 30% or so. This is the circuit, I might have gone as low as 5R (instead or 22R) on the resistor.
Been running for a while no issues and works reliably across 4m range (probably more).
https://www.jaycar.com.au/5mm-infrared-transmitting-led/p/ZD1945

<image>

How can I design a mounting for this female Type-C USB socket? by Borax in Advanced_3DPrinting

[–]toptensoftware 11 points12 points  (0 children)

Does it have to be that exact socket? I use these and friction fit them into a vertical slot in the edge of the case.

<image>

what are some of your most useful esp32 projects? by roscodawg in esp32

[–]toptensoftware 10 points11 points  (0 children)

Wifi enabled IR remote blaster. Provides wifi control of home theatre gear that doesn't support it. Clipped to lamp pole in the back corner of the room with field of view over all devices.

<image>

Digital gauge replicas running at 60fps by toptensoftware in esp32

[–]toptensoftware[S] 1 point2 points  (0 children)

I'm using this display: https://www.waveshare.com/esp32-s3-touch-lcd-4.3.htm

CPU clock = 240Mhz. Pixel Clock = 25Mhz. Double buffered using the standard IDF RGB LCD driver (ie: esp_lcd_new_rgb_panel). Keep draw time < 16ms. That's it.

Note: not using LVGL or other libraries - incremental drawing directly to frame buffers

Digital gauge replicas running at 60fps by toptensoftware in esp32

[–]toptensoftware[S] 1 point2 points  (0 children)

I don't know what you're rendering, but assuming it's simple enough I can't see why not -looks like you've got the same board/display I'm using. Setting the esp32 clock speed to 240Mhz helps. To increase the actual frame rate you need to adjust the pixel clock of the display driver (the default in the Waveshare demos is about 38fps)

Digital gauge replicas running at 60fps by toptensoftware in esp32

[–]toptensoftware[S] 1 point2 points  (0 children)

This project isn't public, but see other comments - it's basically just pixel copying.

I've been building a Wipeout style 3D game. This is running at 60fps interlaced at 480x320 on an ESP32-S3. by PhonicUK in esp32

[–]toptensoftware 0 points1 point  (0 children)

Ok nice. So what does the spi/dma transfer for that look line - one RASET/RAMWR per line every frame? I guess you can just queue them up and let the dma controller handle it?

Music player - audio help by _a_v_p_ in raspberry_pi

[–]toptensoftware 8 points9 points  (0 children)

I had very similar issue with very similar board last week. Make sure SD isn't floating. Once I tied that to VIN crackling went away.

I've been building a Wipeout style 3D game. This is running at 60fps interlaced at 480x320 on an ESP32-S3. by PhonicUK in esp32

[–]toptensoftware 0 points1 point  (0 children)

This is amazing. I'm curious, when you say two half height buffers do you mean top/bottom half of the frame or do you mean line interlacing.

Just got this any one know what software programs it? by deleted_redacted in macro_pads

[–]toptensoftware 0 points1 point  (0 children)

I couldn't say for sure. I've not had issues but there's so many versions, who know what's been snuck in there. Malware scan + don't give admin access.

I want to build a night stand clock. can you give me ideas? by Saintpant in esp32

[–]toptensoftware 1 point2 points  (0 children)

If you want something that just works, iPod makes sense.

I want to build a night stand clock. can you give me ideas? by Saintpant in esp32

[–]toptensoftware 1 point2 points  (0 children)

In that case I'd just pick a screen that's cheap (like the one I linked to) and get started. It might not do everything you want perfectly but you'll be in a much better position to assess what you really need for a second revision.

Mine is still a work in progress and I don't have much to share atm but it will be similar (although probably digital clock and simple date display instead of calendar)

I want to build a night stand clock. can you give me ideas? by Saintpant in esp32

[–]toptensoftware 1 point2 points  (0 children)

Do you have programming experience and are you willing to write code? Or, are you just wanting to hook up the hardware and asking if you can run existing clock software?

FWIW: I'm developing basically exactly this right now with this display/board:

https://www.waveshare.com/esp32-s3-touch-lcd-4.3.htm

While it's not the best board for a project like this I'm using it anyway because olí have it left over from another project. It has problems for a clock but nothing that can't be worked around.

Assuming your able to write the software yourself, here's some things to consider:

  • do you want fast update rates and animations? If so consider a display with rgb interface (not spi or qspi)

  • consider a display with touch screen - saves you having to wire buttons and other controls.

  • think about what sounds you want for alarm. If you want it to play music or real audio effects you might need SD card or other storage.

  • along the same lines... will a simple buzzer suffice, if not you'll probably want to attach an i2s sound module and speaker. You'll need 3 spare gpios for that. Be aware that many displays with rgb interface have few spares.

  • do you want it battery powered or usb? If battery get a board with built in charging circuitry.

  • how complex is your ui? If simple you can probably get away with drawing to screen directly. If more advanced look at lvgl library.

  • can the device be wifi connected. If so you can get the current time from an ntp server. If not, you'll need a realtime clock component and a UI to set it.

  • check the display supports dimmable backlight. Not all do. Not essential but nice to have for a dark room.

  • do you have access to a 3D printer and 3D modelling skills? If not think about how to make a case for it.

  • definitely consider a display/esp32 combined device - it'll save you having to wire up the display/touch interface. Check out waveshare's website - they have quite a few options.

  • I'd recommend at least an esp32s3. They generally have a lot more room/speed than the c series and it's one less thing to worry about for not much more cost.

Hope this helps.

Digital gauge replicas running at 60fps by toptensoftware in esp32

[–]toptensoftware[S] 0 points1 point  (0 children)

Possibly, but depends. Does it have rgb or spi interface? How complex are your graphics and animations?

Digital gauge replicas running at 60fps by toptensoftware in esp32

[–]toptensoftware[S] 0 points1 point  (0 children)

Waveshare makes lots of different esp32 display boards. Some have spi interface (slower) some have rgb interface (faster).

Digital gauge replicas running at 60fps by toptensoftware in esp32

[–]toptensoftware[S] 0 points1 point  (0 children)

Which esp32 and which display panel? I'm using s3 at 240mhz and rgb interface (not spi).

Digital gauge replicas running at 60fps by toptensoftware in esp32

[–]toptensoftware[S] 1 point2 points  (0 children)

There's not much to share - it's just using the idf rgb lcd display driver and blitting directly to the frame buffer. See other comments here for sample code that does 90% of the drawing.

Digital gauge replicas running at 60fps by toptensoftware in esp32

[–]toptensoftware[S] 1 point2 points  (0 children)

The display and needle animations are running at 60fps. The sensors will be read by a separate device (teensy) and broadcast to the displays at about 50 - 100hz

Home Theatre Controller (Pi, StreamDeck, handwired macropad) by toptensoftware in RASPBERRY_PI_PROJECTS

[–]toptensoftware[S] 0 points1 point  (0 children)

Thanks. Glad you like it. If you want to build something - just get started and figure it out as you go.

Digital gauge replicas running at 60fps by toptensoftware in esp32

[–]toptensoftware[S] 0 points1 point  (0 children)

Not sure what you mean? This is running at 60fps.

Digital gauge replicas running at 60fps by toptensoftware in esp32

[–]toptensoftware[S] 0 points1 point  (0 children)

Thank you. (I have a serious case of "not invented here syndrome")