RomanLut / hx-esp32-cam-fpv

esp32 cam digital low latency fpv
MIT License
64 stars 10 forks source link

share binary for esp32sense #1

Closed RomanLut closed 3 months ago

RomanLut commented 6 months ago

@RomanLut I have been checking out your esp32 fpc cam project, can you share a binary for the esp32s3sense?

Well, I can build you binary for s3sense, but you also have to build ground station on Raspberry Pi 2W / 4. Have you managed to do it? Currently I am not ready to release neither "hx_esp_now screenshots over telemetry" nor esp32cam-fpv project because I did not finished my experiments yet.

Attached are binaries compiled from current master. [outdated]

I am able to get 25-30FPS 800x600 up to 500m. But: 1) both camera and lens have bad quality 2) if many packets are dropped, then the whole frame is dropped which does not look nice. Considering that one can build FulldHD system based on OpenIPC project for $40 per air unit, I am still not sure if messing with esp32 worth it.

https://github.com/RomanLut/esp32-cam-fpv/assets/11955117/48d03190-2c19-42f7-a19b-ce8216d1fb17

geofrancis commented 6 months ago

That looks amazing! its a £12 module, thats the same price as the cheapest analogue 25mw aio fpv camera, so when you compare it to that the picture is great. it's also the lightest digital fpv system you can get bar none and you can build a ground station for less than £30, there is nothing else out there even close to this.

It being on 2.4 would have been more of an issue a few years ago but there are plenty of cheap light 900mhz rc receivers now that can be used alongside it . a lot of the picture quality issues look like its the lens rather than the camera. I have a large selection of esp32 OV2640 cameras with various lenses I can test with.

geofrancis commented 6 months ago

This is what I currently see with my analogue setup, the esp already looks much better than my analogue camera and it costs less, in your video you can see individual trees from a distance, with analogue its just a green blur.

I was thinking about a ground station, can we use one of the esp32 chips that have native usb as a receiver that then transfer the data to a phone app like your telemetry viewer over USB. that would get rid of the need for the pi, drastically simplifying everything. From what I can find, the s3 can do about 8mbit over USB.

it looks like just changing the lens would be an improvement. https://www.youtube.com/watch?v=Q5lDk8780js

geofrancis commented 6 months ago

i have the camera flashed, I will work on the groundstation. I weighed the esp32, its only 4.7g with the antenna and camera! Screenshot 2024-03-27 141638

geofrancis commented 6 months ago

434675444_7899431503434823_576129768592372279_n

this will be the first HD 1 hour 250g quad once the groundstation is working.

RomanLut commented 6 months ago

ESP32 will probably be jamming GPS. You probably have to separate them as far as possible.

geofrancis commented 6 months ago

ESP32 will probably be jamming GPS. You probably have to separate them as far as possible.

I can move the esp32 to the bottom plate under the ESC with the GPS on a mast if that becomes an issue.

geofrancis commented 6 months ago

The new lens arrived, the FOV is much better. 20240405_051254

geofrancis commented 6 months ago

Some experimenting has shown that the ESP will not transmit if the antenna connected to it is very poor, what antenna did you use to make your video?

RomanLut commented 6 months ago

image

https://www.aliexpress.com/item/1005003522086976.html on airplane

https://www.aliexpress.com/item/4000280437562.html image

on gs

geofrancis commented 6 months ago

what do you think about attaching one of these? https://vi.aliexpress.com/item/1005006061732703.html

RomanLut commented 6 months ago

500mw real output power, should increase range if installed on plane, never tested it.

geofrancis commented 6 months ago

I took the camera outside for some testing and it looks great in the daylight.

08481c27eb44688665a03dc7506010032d40dc9b

geofrancis commented 6 months ago

What is the state of the telemetry link on this, can it send serial data?

RomanLut commented 6 months ago

Tested one time with bidirectional mavlink on esp32cam, not tested on esp32sense, should work. Uplink telemetry may influence video transmission, so I use separate RC recevier for now.

geofrancis commented 6 months ago

I have just done a test flight indoors, with the 160 degree lens I was easily able to fly my quadcopter around the room and at those speeds i couldn't tell the difference in latency to analogue. I'm going to order another one for range testing with my plane.

I seen the disabled option for DVR, can this record to the sd card on the aircraft?

I went out for a test flight but it didnt go so well, I was getting really poor range, I discovered that i have damaged the UFL connector so I have ordered another 2 boards and il get another test flight this week.

geofrancis commented 6 months ago

https://youtu.be/UE7nGN3aSVI https://youtu.be/lh8CYKR0TSs

got a test flight with the damaged the UFL connector. https://youtu.be/gbLYHXvKx9U

I ordered one of the XQ-02A 2.4G boosters to test on the plane

geofrancis commented 5 months ago

I jammed some plastic between the camera boards to put pressure on the ufl connector and it was much more stable.

https://youtu.be/frmN8STN7rQ?si=Y0cSM0Cm-8NE9DUS

geofrancis commented 5 months ago

could you make another binary for a regular esp32-cam? the s3 sense boards are good for the micro quads but they run really hot.

RomanLut commented 5 months ago

could you make another binary for a regular esp32-cam? the s3 sense boards are good for the micro quads but they run really hot.

(Update: firmware binaries are outdated)

geofrancis commented 5 months ago

I got another test flight, the UFL connector is still damaged but its a vast improvement. I need to get a IR filtered camera for it as i cant see anything in the sun

https://youtu.be/VuI-L8AVYuA?si=jixWgQXdbBrnGHDK

geofrancis commented 5 months ago

got a test flight with a badly tuned plane in stabilise, I used the wrong antenna, the thin wire just folded in the wind so i have a pcb 2.4 antenna to try next time that will hold its shape.

I need a better way of recording it, the hdmi capture im using makes it look like minecraft. can the air module record?

video quality is very good when its not dropping frames. https://www.youtube.com/watch?v=sBfFTAfozEE

geofrancis commented 5 months ago

what esp32 did you use to make your flight video? im struggling to get range out of the esp32 sense.

RomanLut commented 5 months ago

what esp32 did you use to make your flight video? im struggling to get range out of the esp32 sense.

I used esp32s3sense with dipole antena mounted vertically like this:

image

and rtl8812au with two 5dbi dipoles on ground: https://github.com/RomanLut/esp32-cam-fpv/issues/1#issuecomment-2040397955

I also tested with ar9721. It has worse reception. And it has very very bad reception on channel 11, which is selected by default. Did not tested range, but seems to be 200m-300m. With rt8812au - 500+m.

RomanLut commented 5 months ago

FYI I implementeed Displayport OSD (master branch). Avatar, 115200. Pinout is here: https://github.com/RomanLut/esp32-cam-fpv/blob/master/doc/esp32s3sense_pinout.png
(ignore mavlink uart for now, not implemented) Next week I will be adding documentation.

image image

geofrancis commented 5 months ago

Are there many other routers around where you are testing? im starting to think its possibly all of the wifi signals near me are causing some issues. im going to go somewhere more remote to test again.

can the esp32 operate on channel 13?

RomanLut commented 5 months ago

I am testing on the field away from living area. For wifi, signal strength should be stronger by 7db above noise floor. On the field with noise floor -92db, there is reception up to -85db. A lot of interference in the city can probably lower the range by factor of two.

I guess esp can work on channel 13, but I would suggest using channels 3 or 7 because antenas are better tuned for theese channels. I switched to channel 7 in recent commits.

geofrancis commented 5 months ago

il look into my ground station setup, its possible i just have everything positioned badly.

geofrancis commented 4 months ago

can you add some updated binaries and the STL files for your camera and receiver?

a prebuilt pi image would simplify things a lot.

RomanLut commented 4 months ago

Here you are:

(Update: firmware binaries are outdated)

I am waiting for ov5640 with proper lenses. After testing it I will release RPI image and firmware. Probably in two weeks,

RomanLut commented 4 months ago

STL files:

https://www.thingiverse.com/thing:6624580 https://www.thingiverse.com/thing:6624598

geofrancis commented 4 months ago

Got it up and running with the MSP OSD canvas mode on ardupilot it almost all works apart from some font issues, when i set it to use betaflight fonts the numbers all work but the symbols are all wrong, native is all wrong. Screenshot 2024-05-17 022621

OSD_TYPE = 5 SERIALn_PROTOCOL = 42 MSP_OPTIONS = 4 (use Betaflight fonts) SERIALn_BAUD = 115

RomanLut commented 4 months ago

Included font is for Inav. For ardupilot please replace png in esp32-cam-fpv\gs\assets:

INAV_default_24.zip

I will implement multiple font selection later.

geofrancis commented 4 months ago

is it worth getting ov5640 cameras?

RomanLut commented 4 months ago

is it worth getting ov5640 cameras?

My expectations on 1280x720 30FPS mode were not met. This mode requires too high bandwidth.

So, if you are using it with 7" screen - there will be little benefit. Just slightly beter colors, performance against the sun, and light sensitivity at evening.

For FPV glasses it must have IMHO. I was wondering why everything looks so bad in glasses until I enabled 640x360 50 FPS.

I am also thinking about rebuilding my GS to use dual rtl8812 cards - there is much less frame droping with two cards.

geofrancis commented 4 months ago

cool, I will order some to try.

I have modified your GS print a little, I changed the mount so its compatible with a gopro clamp and added some strips of plastic to the inside of the case so the 2 halves can be screwed together using the pi screws. esp32fpvgoprorxmount.zip

I have wrapped my wifi card with aluminium tape, it seems to have resulted in far fewer dropped frames so i suspect the pi is probably making some interference.

I was thinking, won't the bluetooth be causing problems on the pi? its also 2.4, it might be worth trying with it totally disabled.

RomanLut commented 3 months ago

Binaries released, closing.

geofrancis commented 3 months ago

Thank you!

geofrancis commented 1 month ago

do you have a discord server for your projects? it would make support easier.

RomanLut commented 1 month ago

do you have a discord server for your projects? it would make support easier.

No, I don't have a Discord server and I don't use Discord. For a Discord or Telegram group to be effective, there needs to be a large, active community willing to help answer questions. Unfortunately, such a community doesn't currently exist for this project. If you're interested in volunteering to manage a Discord channel, I'd be happy to add a link on the main page, but I likely won't be available to answer questions. My focus is on resolving issues and writing clear documentation, as I manage multiple projects and can't commit to ongoing support in a chat format.