Tell us about yourself!
It looks like you can adjust your ppm channel mappings in the ardupilot mission planner:http://ardupilot.org/copter/docs/common-rcmap.htmlYou can also try the receiver sketch of "Long Range WifiPPM/MSP". For details have a look at step 3 of the instructable https://www.instructables.com/id/Long-Range-Wifi-...It works with the MSP Protokoll, so you would not need to adjust any mappings.
Wow, looks interesting. But it would be a big project to implement that. I'm working on some other projects at the moment. Maybe it can be a future project. I'm pretty sure it's possible. Maybe somebody else wants to do the work :)
You must change the calls of draw_stick(...) function, not the definition. For example in line 113 the function call is draw_stick(ctx_stickl,ctx_stickl.canvas.width/2,ctx_stickl.canvas.height,0,1);change it todraw_stick(ctx_stickl,ctx_stickl.canvas.width/2,ctx_stickl.canvas.height,2,3);and the mappings are changed for this function call. Change the mappings at every call of draw_stick(...)There were no changes of the WifiPPM code the last weeks. The change must be at your flight controller. It would be easier to change the mappings in the MultiWii config.h file.
Which flight controller software are you useing? You need to adjust the channel mappings. In Betaflight/Cleanflight they are in the Receiver Tab. The mappings need to be adjusted to RTAE1234. There should be some channel mapping setting in any other flight controller, too. You can also change the channel mappings in the index.html.c. To do this change the last two parameters of "drawstick(...)" function to the desired channels everytime when it's called. The function call of drawstick is: drawstick(context, x, y, ppm0, ppm1); context: the canvas context to which you want to draw x and y: the positions of the stick ppm0 and ppm1: ppm channels.
You can copy the code of index.html.c to some html file localy at your computer, for example "c:\temp\index.html". You also have to hardcode the IP adress. To do this, change the line "var connection = new WebSocket('ws://' + window.location.host + ':81', ['arduino']);" to"var connection = new WebSocket('ws://192.168.4.1:81', ['arduino'])"Connect your computer to the WIFI access point of WifiPPM and open "c:\temp\index.html" file locally.
Long Range Wifi PPM / MSPView Instructable »
That usually happens if you your power source is too small. You need 3,3 Volt with at least 200mA, better more.
The ESP chip runs with 3,3V. So there must be some voltage regulator at the arduino board.Can you try a stable 3,3V power supply directly to the chip? Maybe that's better.Is your 5V power supply strong/stable enough?A capacitor at your power supply could also help.There are many esp8266 forums. And many other people have this problem. Google is your friend :)
That sounds like you did not disconnect the programming pin (GPIO0) from ground before restarting the chip.
You think of using it in Station mode? It will have a different IP address, but it should work. You just need to open its IP address in your browser.
Are you sure the timings are alright. Is the #define CPU_MHZ in your WifiPPM sketch similar to the adjustment of your esp8266 nodemcu? You can set/check the clock speed in "Tools->CPU Frequency" in Arduino IDE.If you have defined only 80MHz in WifiPPM and your controller is running on 160 MHz your signals would have double speed and it would not work. The same the other way around.
It looks like WifiPPM is working. As I mentioned before I don't know about MultiWii, but WifiPPM should work with it without any additional hardware. Can you check the inputs in MultiWii GUI? Did you check the signal if it is connected? For MultiWii setup I suggest to search at MultiWii.com or at some other MultiWii forum.
Hello,can you connect to the Access Point of WIFIPPM? Is the website working? If yes, do you have an oscilloscope? Then you can check the signals at GPIO5. If you don't have an oscilloscope you can measure the frequency on GPIO4 and GPIO5. If the signal is OK, it is some problem of the MultiWii controller or software, but I never used it myself, so I can't help you with that. Which voltage is the Arduino working with? Maybe the 3,3 Volt output level of the ESP is too low for the Arduino.
Hi,of course it is possible. You have to change the website. It is saved in index.html.cThe functions for setting PPM values of the buttons are in line 291 and following. You will also have to change the buttons to more way buttons or to analog adjustment. The buttons are in line 51 and following.After making the changes you can recompile and upload the sketch.
Yes, it is possible. You have to add it in the index.html.c file the same way like for the right stick. Here is a file that should work, but not tested (Fast five minutes change). You can try it. Just replace the index.html.c and recompile. The changes are around line 257. https://drive.google.com/open?id=1v_cz_YqMGTe_0FxM...
Get Set Up
What You'll Need & Learn
Raspberry Pi Class
I added the link to the source code of my self programmed viewer at some other comment before. Here is it again: link. But it is a big mess and just meant as a reference. You could also try MPV for RPI, but it has some disadvantages. The easiest would be to use my app or any other app on a smartphone.
Micro Wifi Controlled 3D Pr...View Instructable »
Ok, I'm not sure if you understand it right. I explain agein: The two cameras get synced by the circuit, that ODD/EVEN lines have the same timing. Then it switches one cams ODD field and the other cams EVEN field to the VTX. Now you have one NTSC/PAL picture with both camera pictures in it. At receiver side the App/Pi takes the picture and puts the ODD field to one side of the screen and the EVEN field on the other side. Because the picture is interlaced there is every second line(1,3,5,7,...) for ODD field(cam1) and the lines between(2,4,6,8,...) for EVEN field(Cam2). With the side by side 3d picture of the app at the screen you have a 3d view with google cardboard. One picture for each eye. In the picture below you can see a raw image before it gets "decoded" by the app/pi. ...
Ok, I'm not sure if you understand it right. I explain agein: The two cameras get synced by the circuit, that ODD/EVEN lines have the same timing. Then it switches one cams ODD field and the other cams EVEN field to the VTX. Now you have one NTSC/PAL picture with both camera pictures in it. At receiver side the App/Pi takes the picture and puts the ODD field to one side of the screen and the EVEN field on the other side. Because the picture is interlaced there is every second line(1,3,5,7,...) for ODD field(cam1) and the lines between(2,4,6,8,...) for EVEN field(Cam2). With the side by side 3d picture of the app at the screen you have a 3d view with google cardboard. One picture for each eye. In the picture below you can see a raw image before it gets "decoded" by the app/pi. You can see there, that left and right camera are line alternating.
Yes, that is how line alternating 3d works. I put one picture on the Odd frame and the other one on the even frame. This picture is sent by the transmitter to the receiver. The android app or the raspberry pi divides the two fields back to left and right picture. One for each eye.
Yes. That is exactly my setup. I made an android app for it. Have a look at the instructable for "Lowcost 3d Fpv Camera for Android": https://www.instructables.com/id/Lowcost-3d-Fpv-Ca...You can use my app with a Easycap UVC007 video grabber and a mobile phone with UVC support. Then you can watch your analog FPV signal in the app. Here is the link to the app: https://play.google.com/store/apps/details?id=com....(Use the lite version for testing. If it's working and you like my work please buy the full version) In the app you can connect to WifiPPM when a joypad is connected and you are logged in into the wifiPPM AccessPoint. Then you can start the video. You can adjust the video input to single camera, 3d SBS or line alternating 3d. The video output can be adjusted to Cardboar...
Yes. That is exactly my setup. I made an android app for it. Have a look at the instructable for "Lowcost 3d Fpv Camera for Android": https://www.instructables.com/id/Lowcost-3d-Fpv-Ca...You can use my app with a Easycap UVC007 video grabber and a mobile phone with UVC support. Then you can watch your analog FPV signal in the app. Here is the link to the app: https://play.google.com/store/apps/details?id=com....(Use the lite version for testing. If it's working and you like my work please buy the full version) In the app you can connect to WifiPPM when a joypad is connected and you are logged in into the wifiPPM AccessPoint. Then you can start the video. You can adjust the video input to single camera, 3d SBS or line alternating 3d. The video output can be adjusted to Cardboard VR mode or fullscreen mode. Have a look at this video:or this video:I use some cheap analog FPV transmitter and receiver, the Easycap UTV007 video grabber for video input into the smartphone, an old Motorola Moto G2 as FPV display, the VR Box as 3d goggles and a PS3 controller as joypad. If you want to use a PS3/PS4 controller you will need an additional app to use it and maybe a rooted smartphone. (I can't find the app anymore in the Playstore). If you have any other Bluetooth controller it should work without rooting or any additional app.In my setup I also have a DIY range extender for WIFIPPM working. I'm still testing it. When it's finished and I find the time I will add an instructable for it, too. Maybe I find the time to make an instructable for the complete quadcopter setup. You can see it in the picture.I'm also working on a new project: A quadcopter with a Raspberry Pi Zero to stream the video of a raspicam directly to the WifiPPM webpage or maybe an app.
I just updated the file in the link at the parts list. Download it again. It should work now.
Hello,your problem is that you don't have the index.html.c file in the folder of your sketch. Copy all the files of the unpacked zip file into your sketch folder. When you reopen the sketch with all the files in the right folder, you should see four files on top in Arduino IDE like in the picture.If this doesn't work you can add additional files to your sketch with the little arrow on the top right. Click on it and choose 'new tab'. Then you have to give it the right name and you can copy the source code from the downloaded files. You can see the file names in the picture.Thank you for the hint with the ESP8266webserver line. I change the uploaded file immediately.
Hello. What do you wanna do? Is it a servo which you want to control with a PWM signal or is it a DC-Motor and you want to control the speed with PWM?In the both cases it would be the best to change the program to PWM output instead of PPM output. I think there are libraries in Arduino IDE to do that. I suggest to google "esp8266 arduino pwm output". If you want to control the speed of a DC Motor with PWM you will need at least a transistor, some resistors and capacitors or some other motor driver. A servo should be controllable with the PWM output signal of the ESP8266.If you are not able to code the PWM output yourself, you could buy a "PPM 2 PWM encoder" or a "PPM motor driver". Just google for it. But this is not a very nice solution.
You gonna try to switch the clock signal? Good idea. Maybe syncing is easier with this approach. I didn't do that, because in the beginning of the project I didn't want to touch the cameras electronics. My circuit is also working if you connect two cams without synced clocks, even if the result is much better if you sync them.
The schematic looks good. It's pretty similar to mine. Just two suggestions: You could use the T0(PA3) and T1(PA4) inputs at the micro controller to trigger the hardware timers for line count (burst signal). I didn't do this in my schematic, too, but maybe it would work better. And I think you will have to connect the RESET pin of the controller. The output signals of the LM1881's look good.Is your plan to make a completely new program with Arduino IDE? It would be easier to change my AVRGCC program to the Atmega328P as target and adjust the pins in the header file or you use the attiny44 like me.I added my schematic as a reference to this comment.
OK. Does your joystick work in linux? You can test it with jstest-gtk.Does your joystick work with this joystick test site: http://html5gamepad.com/Are your joystick mappings alright? You can adjust them with jstest-gtk.Does your browser have permission for the joystick?
Hello. Sorry for the late answer. The "second" picture should appear when the browser detects the joystick. Which version of Firefox are you using? Which operating system do you have? And which joystick are you using? I use Ubuntu Linux with Firefox 61.0.1 and Android with Firefox 61.0.2. Maybe there is a problem with the joystick API. Is your joystick working with other browser games? Is the touch control working when you open the site with a smartphone?
Good luck for your project. looking forward to see results. If you need help you know where to ask.😉
Actually my first approach was with a raspberry pi 3 and mpv for the 3d goggles. But with this you can't set the distortion parameters. So I programmed a viewer myself. But I didn't like the setup with raspberry pi because of all the cables and the extra battery. So I ported my viewer to android. You can get a uvc capable mobile phone like the Motorola Moto G 2 on ebay for about the price of an raspberry pi.The next problem is the 5,8ghz to usb receiver. Some of them seem to deinterlace the video before sending it to the USB Port. But you need an interlaced video for the camera to work because it's line/field alternating 3d. I tried the ROTG01 but it didn't work. The Easycap UTV007 is working perfectly and is also recognized as a webcam in Linux. I use the analog output of the ROTG01 re...
Actually my first approach was with a raspberry pi 3 and mpv for the 3d goggles. But with this you can't set the distortion parameters. So I programmed a viewer myself. But I didn't like the setup with raspberry pi because of all the cables and the extra battery. So I ported my viewer to android. You can get a uvc capable mobile phone like the Motorola Moto G 2 on ebay for about the price of an raspberry pi.The next problem is the 5,8ghz to usb receiver. Some of them seem to deinterlace the video before sending it to the USB Port. But you need an interlaced video for the camera to work because it's line/field alternating 3d. I tried the ROTG01 but it didn't work. The Easycap UTV007 is working perfectly and is also recognized as a webcam in Linux. I use the analog output of the ROTG01 receiver and feed it into the Easycap. It's all powered from the USBOTG port of the mobile.I'm also not sure if the pi zero is strong enough for displaying the video.Here is the link to the source code of my raspberry pi viewer. The code is a mess and I stopped working on it at some point. You should be able to compile it on linux or on Raspberry Pi, but I'm not sure if it's working in this state. But maybe it helps for your project. If you need more help just ask.Anyway I suggest using a smart phone with Easycap UTV007 and an additional analog receiver.
I uploaded a new version of the sketch. A "Connection alive" signal is now implemented to detect a lost connection.
Do you get a wifi connection to the ESP8266? Can you check the output of the ESP8266 at GPIO5 with an oscilloscope? If not, can you messuare a frequency of 25Hz at GPIO4 with a multimeter?How does your wiring look? You have to connec the PPM output(GPIO5) of the ESP8266 to RX2 of your flight controller. Set the UART2 to PPM and the receiver mode to PPM in Betaflight.
Of course you can do that. But then you have a very complicated circuit for almost the same result. You can also use a FPGA without PLL and sync seperators. But my goal was to keep it as simple, small and cheap as possible.Using the reset signal on the camera boards would be possible. But then you have to solder directly at the camera controller chip, which is not easy.CCTV cameras with sync input are not easy to find in this size. But it would have some advantages. If you have a good source, please tell me.
You can use this instuctable to add a FPV receiver to your Easycap UTV007 video grabber:https://www.instructables.com/id/Easycap-With-58Gh...
I don't know. In general it is working on all devices where normal UVC cameras are working. The galaxy j3 supports USB OTG but it looks like it doesn't support UVC cameras. Anyway, for the UTV007 no UVC support is needed. There is a driver for it in the app. But the USB controller must support isochronous transfer. Not all mobile USB controllers do so (LG X Power is not working). I think you should try it. But there is no guarantee that it's working. If it doesn't work you can get an old smartphone with UVC support on ebay for small money.(e.g. Motorola Moto G, Samsung Galaxy S3, ...)
Lowcost 3d Fpv Camera for A...View Instructable »
OK, let's start from the beginning. First check if the program is running correctly. To do this power your ESP8266 board without any connection to the flight controller. Then search with the laptop or smartphone for the WIFI network "WifiPPM" and connect to it. When you are connected open the address 192.168.4.1 in a web browser. If you can open the website the program is working.Next step is to check the signal. If you have a oscilloscope you can measure the ppm signal on GPIO5. If you don't have an oscilloscope you can measure a frequency of about 25 Hz at GPIO4 (Debug Pin).Check these points, then we can go on with finding the problem.
For your flight controller you need an additional 3,3V voltage regulator which can handle at least 200 mA. Better more. Connect the Voltage regulator input to the 5V output of your flight controller. Connect the 3.3V output of the Voltage regulator to the ESP8266 3.3V inputs like in the picture. Ground to ground. PPM to PPM. Be careful about the current draw if you have additional parts at the 5V output of your board. If the current is too high you can damage it.
Yes, I'm working on a cheap stereoscopic camera system which is small enough for a micro indoor quadcopter. Also I don't want to buy expensive goggles. At the moment I have a working prototype with a raspberry pi and a small screen as 3d goggles. I'm working on an android app to use a smartphone with google cardboard as goggles. When the app is working I will post an instructable.I made this project to get rid of the expensive RC transmitter. So in the end I hope to have a complete stereoscopic indoor 3d fpv quadcopter for small money without expensive additional parts.
Printable Prusa I3 Style Mini 3D Printer! by 3Dtje
Wifi PPM (no App Needed)View Instructable »
Ok, here is the link to the code: https://drive.google.com/file/d/0BwQz2ycUnr3IU1UtV...The program is kept very simple. I changed the Sardauscan firmware code to understand just the basic G-Codes. Only turning the table and turning the lasers on and off is implemented (speed adjustment does not work) but it is enough for scanning with Horus.I made a video of a scan:
Thank you for the great work. But I had problems with the calibration and I wanted to use it in Linux. So I decided to make a firmware that understands the G-Codes of Horus 3d Scanning software from BQ (https://github.com/bqlabs/horus). It works just with two lasers, but it has an auto calibration mode. The scan results are really good and the calibration works just fine. And it works in windows or Linux. If you are interested in the changed firmware I can share it.