Monday, October 19, 2020

OpenTX Smart Throttle Cut

 Logical switches: 

L1 AND SFv L2
L2 OR L1 L3
L3 a<x Thr -96

Special Functions:

SF1 !L1 Override CH3 -100 (then tick the "ON" box) 

Mixing for Two-part Landing Gear

Mixers 


CH6    SF Weight(+100%) Delay(u2:d2) Slow(u2:d2)
CH7    L02 Weight(+100%) Delay(u4:d0) Slow(u2:d2)
CH8    MAX Weight(+30%) Switch(SB-) Slow(u4:d4)
    += MAX Weight(+60%) Switch(SB↓) Slow(u5:d5)

Logical Switches

L1    CH6 > 95
L2    SF↑ XOR L04
L3    CH6 < -95
L4    L01 OR !L05
L5    L03 OR !L04

Mixing for Axial Rolls

 Read somewhere:

Finally dialed in some aileron to elevator mix, so that there is some down elevator when ailerons (right or left) are moving.

Your results may vary, after some trial flights I have now some 35% aileron differential, and 25% aileron-elevator mix (positive for right aileron movement, negative for left aileron movement), and the Wingnetic now rolls the way it should.
 

Thursday, September 24, 2020

Drop Ctrl Configuration Notes

Config Instructions:

Software:

Some Notes

Create Config and download Bin

Running the Loader

./mdloader_mac --first --download massdrop_ctrl_config.bin --restart

Massdrop Loader 1.04
Massdrop Loader  Copyright (C) 2018  Massdrop Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY
Scanning for device for 60 seconds
......... ***** PRESS FN-B FOR 1 SECOND AND RELEASE TO REBOOT
Device port: /dev/cu.usbmodem141412201 (SAMD51J18A)
Opening port '/dev/cu.usbmodem141412201'... Success!
Found MCU: SAMD51J18A
Bootloader version: v2.20 Mar 27 2019 10:04:47 [ctrl]
Applet file: applet-flash-samd51j18a.bin
Applet Version: 1
Writing firmware... Complete!
Booting device... Success!
Closing port... Success!

    QMK Quick Notes

    # https://docs.qmk.fm/#/newbs_getting_started
    # github fork qmk_firmware

    brew install qmk/qmk/qmk
    qmk setup marhar/qmk_firmware
    cd $HOME/qmk_firmware
    qmk compile -kb massdrop/ctrl -km default
    qmk config user.keyboard=massdrop/ctrl
    qmk config user.keymap=marhar
    qmk new-keymap
    qmk compile
    qmk compile -kb massdrop/ctrl -km marhar
    vi keyboards/massdrop/ctrl/keymaps/marhar/keymap.c
    vi keyboards/massdrop/ctrl/keymaps/default/keymap.c
    $ ls $HOME/qmk_firmware/*.bin
    massdrop_ctrl_default.bin
    massdrop_ctrl_marhar.bin

    Tuesday, August 18, 2020

    Jumper R8 Notes

    RCGroups thread:

    Midelic Firmware thread:

    STM Flasher and Tutorial

    For STM STM32CubeProg on Mac:
    Double clicking the installed app just bonces the icon in the dock once and then quits . You can get it to run by right clicking on the installed package (STM32CubeProgrammer.app), selecting 'Show package contents' and navigating to Contents/MacOs/bin/STM32CubeProgrammer and right clicking 'open'.

    CPU:
    • STM32 F103C8T6 6Q25E 1193
     LED colors

    • steady green: signal good
    • blinking green: signal bad
    • solid red: signal low
    • blinking green: signal bad
    • solid red: signal lost

    Jumper Manual R8

    Flashing new firmware on Jumper R8 connections.

    • Use STlink V2 programmer.
    • connect STLink device ,press Target/connect.
    • If you receive "Read out protection" enabled warning, go into "Option bytes" and disable it.
    • Press "Erase/Chip" after that press "Program&verify" load the binary file to be flashed.
    a12967115-35-Jumper_R8_1.png (1916×928)a12967117-191-Jumper_R8_2.jpg (3264×2448)



    Monday, August 10, 2020

    Powered Solder Sucker Notes

     Some good tips from the Amazon page.

    • BIT/DESOL3 is the replacement tip. Look at the other answers, they say it has a 2.1mm opening.
    • This isn't made to be used like a pencil like the non-heating ones. The button is near the back! The way you hold it is (to explain in words here) by opening your (right) hand and placing it in your palm with the plunger push-down at the same side of your palm as your thumb. Wrap your hands around it. Your thumb is now right on the release button! Hold it like you are stabbing the pc board. Place perpendicular to the board, wait maybe 3 secs, then use thumb to press the button. No shifting, jerking, momentum issues, etc. Just lightly tinned holes/pads after you are done.
    • For cleaning, Seller is wrong. Very cleanable. Instructions on pkg, but there is even a better way... Look closely at the housing/base where the plunger rod goes into the black end of the yellow tube. You can see the bigger outer housing you hold has a little partition at the top of the suction tube. The yellow tube is cradled in the outer tube. Use a small flat screwdriver and lever it slightly and it pops out - the whole tube. It comes apart for cleaning. An old toothbrush cleans the plunger well. It seems to all gather at the end of the plunger. It has a light coating of grease, probably silicone paste, so if you remove it by washing you may need to re-apply...
    • Properly tin the tip the very first time you heat it up, and treat it like a soldering iron!--ie: keep the tip wet with fresh solder while you work. *Adding* solder to a joint you want to *desolder* is a "secret" well-known by the experts because it keeps the joint fresh and flowing rather than brittle and plasticized so that the solder flows well and the joint is cleaned nicely when you press the vacuum button. Also be sure to hold the iron vertical to get good suction when sucking. And let me repeat: if you say the iron is not hot enough you are WRONG! (in 98% of the cases). What you need to do instead is *add fresh flux-core solder* to the iron tip--get it all up inside the tip even, then place the tip over your through-hole leg to desolder and now the fresh solder will flow the heat right into the joint--press the vacuum sucker button and voila! You've just cleaned that joint perfectly!

    • https://www.youtube.com/watch?v=UdGB7vD8ey0

    Monday, August 3, 2020

    HobbyKing Rarebear 620

    AKA AngleWings RareBear


    Wing Span: 620mm
    Length: 535mm
    Flying weight: 345g
    Prop: 5.5x4.5 (3pc Included)
    Motor: 2825-1950kv Brushless outrunner motor
    ESC: 20A [Upgraded True 4S]
    Servo: 3 x 8gram
    850mAh 3~4S 20C Lipoly Battery





    motor mount parts-2.jpg (1024×519)

    Thursday, July 2, 2020

    Ultrix CG: some random RCG

    As they come a 600 lipo gets the COG just fine, its not that fussy but take the weight off the rear end.. its responsive enough even when nose heavy...

    Do the bind inverted using the polystyrene brace from the box on a level surface

    For flight switch the TX on, then the model.. then place the model down on some flat ground and wait for it to sort itself out..

    Trimming is done in as3x mode, not safe... I adjust the push rod bends to raise both elevons by a tiny amount, I set mine with them raised by the thickness of the wing at the trailing edge..

    With it set like that mine flies fine.. battery just stuffed anywhere in the nose.

    I think its angle at bind affects its level flight so its worth rebinding, inverted, with the rear end raised a touch, so when its the correct way up the nose has effectively been raised and trying again..
    Mine was going down at launch, not flat, this was initially sorted with TX trim.. and later rebinding.

    As you can see from the video it was still going down slightly when the power/throttle was set lower, on the first launch.. but when the power was set higher it remained flat.. this was a nose heavy flight.. note the first launch was downwind, and this also makes a big difference....lol

    ----


    Both mine are balanced 1/16" ahead of those holes and fly perfect upright, inverted and everywhere inbetween, even in howling wind. If it's too nose heavy inverted requires too much down elevator.


    Finger tips are not very accurate on tiny models. I use two short lengths of bamboo skewer that are rounder off and held in a vice.

    I use 500 and 650 batteries with the mounting location marked inside the fuse. The 500 mounted as shown in the instructions and the 650 towards the rear with the use of velcro.

    A few CG silly millimeters make a HUGE difference in this tiny wonder.


    Also, made sure the elevon TE match the wing using the wire pushrod 'U' as the reflex seems to be built into the airfoil.

    ---



    CG check .................. https://www.rcgroups.com/forums/show...&postcount=129

    May not work in safe mode.

    ---

    The real CG test is trying both upright and inverted flight. If correct, the transition from one to the other will be smooth and predictable, both will fly straight and lev
    ----

    I didn't quite know what to think of my Ultrix after the maiden the other day. It was amazingly twitchy, and quite unstable in normal flight but a delight to 3D. I only had the one battery, so couldn't experiment too much. I fully expect to burn through several batteries finding the correct CG and mechanically trimming when setting up a new model.

    I read through most of this thread, but still haven't finished yet, but I see people saying battery position doesn't matter, cg doesn't really matter, some mechanically trim a bit of up elevon and others trim them neutral. In my experience, even at this small scale CG can make a big difference.

    I spent last night messing with my 500 & 600 batteries to get the CG at the recommended location. The 500 was mid way back, and the 600 was fully back against the receiver. I had 3 batteries charged today and thought things would go better since I definitely knew where place the batteries to be close on CG. First two batteries I kept flying and then mechanically trimming, flying and mechanically trimming, repeat. It was still very unstable. Also, at 2/3 throttle in level flight it would dive when going to full throttle. It just acted tail heavy. I had one 600mah nanotech left and decided to just shove it as far forward as it would go and move back as needed. WOW! What a difference! It flew amazingly stable and predictable! I had to mechanically trim about a wing-width of up trim in. And absolutely NO nose over at full throttle!! Now that this thing is dialed in it feels absolutely locked-in! Love this plane! Still 3D's awesome as well! Three flights at a park and one in my backyard already! 

    ---

    A forward location for the battery works best. That has been my experience. The 600mAh helps in this case too versus the stock 500 mAh.










    Wednesday, June 17, 2020

    RC Groups - View Single Post - FRSKY Taranis "How to" Thread


    Capturing a double-pull of a momentary switch


    Thought I'd share this snippet for capturing a double-pull of a momentary switch. Applications include anywhere a 'safe' switch is required, for example for arming a motor or u/c operation.

    Operation:

    Pull SH twice within a 1.5 second window. The second pull is captured as an edge in L3.

    Code

    L1 Edge(L02, [0:instant]) Duration(1.5s)
    L2 ( Edge(SH-down, [0:instant]) )
    L3 L01 AND L02

    How it works
    • Pulling SH generates an edge in L2, which cascades to L1 a clock tick later.
    • Because an edge is true for just a single clock tick, L3 is true only from the second pull. This must be within the time period set in L1.Duration (1.5 secs).

    Simple demo - each double-pull toggles a sticky switch:

    L4 Sticky(L03, L03)

    Tuesday, June 16, 2020

    Sunday, June 14, 2020

    FrSky SxR Gains

    Mike Blandford confirms:
    In auto-level mode, the individual gains set using the script affect the amount of servo movement output to get to level. The channel 9 gain affects the speed of the servo response..

    Tuesday, June 9, 2020

    Viewing Wyze Cam on Computer

    tl;dr: Wyze supports RTSP with a bit of effort.

    Directions and download here:
    https://support.wyzecam.com/hc/en-us/articles/360026245231-Wyze-Cam-RTSP


    • Download the firmware
    • Boot Cam with firmware on SD card.  It will take 3-4 minutes to install.
    • In your phone app, Settings / Advanced Settings / RTSP
    • Turn on RTSP toggle
    • Set name and password, click Generate URL
    • Watch with VLC

    Sunday, June 7, 2020

    Reference: Geekcreit® 375pcs 3MM 5MM LED

    https://www.banggood.com/Geekcreit-375pcs-3MM-5MM-LED-Light-Emitting-Diode-Beads-Resistance-Lights-Kits-Bulb-Lamp-p-1027601.html

    Current : 20mA
    Voltage: 3V
    Color: RED, BLUE, YELLOW, GREEN, WHITE
    Total Quantity: 375pcs
    Packed in a box
                 375pcs Five Colors 3mm,5mm Round Bright Light LED Assortment Kit
    Color
    Size
    Wavelength
           (nm)
    Voltage
        (V)
    Current
        (mA)
    Intensity
      (mcd)
    Lens Color
    Quantity
    Red
    3mm
    620-630
    1.9-2.1
    20
    3000-4000
    red
    50pcs
    Red
    5mm
    620-630
    2.8-3.1
    20
    4000-5000
    red
    25pcs
    Yellow
    3mm
    580-590
    1.9-2.1
    20
    5000-6000
    yellow
    50pcs
    Yellow
    5mm
    580-590
    2.8-3.1
    20
    4000-5000
    yellow
    25pcs
    Green
    3mm
    570-573
    3.2-3.4
    20
    10000-12000
    green
    50pcs
    Green
    5mm
    570-573
    3.0-3.4
    20
    12000-14000
    green
    25pcs
    White
    3mm
    610-620
    1.8-2.2
    20
    3000-4000
    clear
    50pcs
    White
    5mm
    500-620
    3.0-3.2
    20
    12000-14000
    clear
    25pcs
    Blue
    3mm
    460-470
    3.2-3.4
    20
    3000-4000
    blue
    50pcs
    Blue
    5mm
    460-470
    3.0-3.4
    20
    5000-6000
    blue
    25pcs

    Reference: TTGO ESP32 1.14 Inch LCD LILYGO

    On Banggood.
    Demo: https://github.com/Xinyuan-LilyGO/TTGO-T-Display








    Random notes for the BG page:

    IPS ST7789V 1.14 Inch has 135x240 pixel
    Display has 340x240 pixel resolution
    LCD resolution 240x135

    Driver ST7789 (uncomment #define ST7789_DRIVER in User_Setup.h)
    Color order Blue-Green-Red (uncomment #define TFT_RGB_ORDER TFT_BGR in User_Setup.h)
    Device TTGO_T_Display (uncomment #include in User_Setup_Select.h)


    the display seems to require its own graphic library, on github:
    github.com/Xinyuan-LilyGO/TTGO-T-Display
    github.com/Bodmer/TFT_eSPI

    Q:Is the SPI bus accessible for other sensors (other than the display)?
    A :  VSPI default pins are connected to display and are not available on the headers. HSPI by default uses GPIO 12 to 15. Unfortunately GPIO14 (CLK) is apparently also used by the display BL function. So I assume you will need to remap 14 to another pin to get CLK. (I have not tried this).

    Seems to be a difference in this regard between version 1.0 and 1.1. The board I received says V1.1 in silkscreen. According to the pin-out for this version on GitHub GPIO4 (not GPIO14 as indicated above) is used for BL.

    Battery-Molex-Pico-1_25mm

    Use this library for the display: github Bodmer TFT_eSPI
    Look on github for Tetris Clock and "TTGO_example", you will find a library and example I wrote for this board. It has an explanation page that shows how the board looks when running it.

    What pins provide me with access to the serial port? TX / RX?
    A: A "standard" ESP32 has more pins, the default pins are 3 (Rx) and 1 (Tx) for Serial(0), 9 (Rx) and 10 (Tx) for Serial1, and 16 (Rx) and 17 (Tx) for Serial2. As you can see, with the limited number of pins on this TTGO board, none of them are there. But the good news is that the "Serial.begin" function has an option to change the pins! By using "Serial2.begin(9600, SERIAL_8N1, 25, 26);" you have the Serial2 port on pins 25 (Rx) and 26 (Tx). I tested this today, it's working like a charm!. It's NOT working on pins 37 and 38 (and maybe other pins), but it IS working on pins 25, 26, 27 !!!

    This board is an 'ESP32 dev board' and it can be used with the arduino IDE but because it isn't an arduino you'll need to configure the IDE with the new board by adding an 'additional board manager url' to arduino preferences.
    Some details of how to do this are here:  youtube mBaS3YnqDaU

    The board comes loaded with the arduino sketch from here:
    Search github Xinyuan-LilyGO TTGO-T-Display

    There is a good youtube vid explaining it a little here: youtube qj9dN-Ginxc
    The above is a great intro into how to use the 320x240 display and even makes use of the two buttons near the usb port to show voltage and scan for wifi networks.

    https://github.com/Xinyuan-LilyGO/TTGO-T-Display/blob/master/schematic/ESP32-TFT(6-26).pdf


    ----

    Arduino / Preferences  / Board manager url: https://dl.espressif.com/dl/package_esp32_index.json
    Library / Boards / Board manager: esp32
    Tools / Board / TTGO Lora32-OLED V1
    File / Examples / ESP32 / ChipID / ChipID     ESP32 Chip ID = FCB5F9AB6224
    Tools / Manage Libraries... / install tft_eSPI by bodmer
    edit libraries/TFT_eSPI/User_Setup_Select.h
        //#include <User_Setup.h>           // Default setup is root library folder
        #include <User_Setups/Setup25_TTGO_T_Display.h>    // Setup file for ESP32 and TTGO T-Display ST7789V SPI bus TFT
    File / Examples/ TFT_eSPI/examples/Generic/alphaBlend_Test
    (base) ArduinoBase $ mkdir tools
    (base) ArduinoBase $ mv ~/Downloads/ESP32FS tools
    restart Arduino
    Tools / ESP32DataUploader
    Tools / Manage Libraries... / jpegdecoder by bodmer
    File / Examples / JPEG Decoder / Other_Libraries / SPIFFS_Jpeg
    Tools / ESP32DataUploader





    Using the Tiltmeter

    Setup
  • Be sure you have run the self-test to set level and stick travel.
  • Depending on servo installation, pitch may be reversed.  That's indicated in parentheses below.
  • Set gain to maximum, it will make for largest pitch variation.


  • Ailerons
  • Moving stick to left is correction for roll right.  Left aileron moves up.
  • Move stick to left.   Note audio-pitch goes up (or down).
  • Hold plane, twitch right wing down. You should hear audio-pitch up (or down).
  • Twitch left wing down.  You should hear audio-pitch down (or up).

  • Rudder
  • Moving stick to left is correction for yaw right.  Rudder moves left.
  • Move stick to left.   Note audio-pitch goes up (or down).
  • Hold plane, twitch noseto right. You should hear audio-pitch up (or down).
  • Twitch nose to left.  You should hear pitch down (or up).

  • Elevator
  • Moving stick back is correction for pitch up.  Elevator moves down.
  • Move stick down.   Note audio-pitch goes up (or down).
  • Hold plane, twitch nose down. You should hear audio-pitch up (or down).
  • Twitch nose up.  You should hear audio-pitch down (or up).
  • (note) I typed the above because my brain gets confused when I tune planes with servos reversed.  Maybe I should add a reversing button to the tiltmeter so that I can match my brain thinking, which is
  • Pitch up = Left aileron up
  • Pitch up = Elevator up
  • Pitch up = Rudder left
  • Friday, June 5, 2020

    OctoPrint: Turning on an LED during printhead heating

    I do this so I can more easily inspect the printhead for ooze, etc.

    Install OctoPrint plugin "GCODE System Commands"

    Configure Plugin

    OCTO 21 /home/pi/scripts/led-on
    OCTO 22 /home/pi/scripts/led-off

    Use This Code


    $ cd /home/pi/scripts
    $ cat led-on.c
    void main()
    {
      system("echo 23 >/sys/class/gpio/export");
      system("echo out >/sys/class/gpio/gpio23/direction");
      system("echo 1 >/sys/class/gpio/gpio23/value");
    }
    $ cat led-off.c
    void main()
    {
      system("echo 0 >/sys/class/gpio/gpio23/value");
      system("echo 23 >/sys/class/gpio/unexport");
    }

    $ make led-on led-off
    (ignore warnings)

    $ sudo chown pi.gpio led-off led-on
    $ls -l led-on led-off
    -rwxr-xr-x 1 pi gpio 7984 Jun  5 20:33 led-off
    -rwxr-xr-x 1 pi gpio 7984 Jun  5 20:33 led-on

    Add OCTO commands to to your slicer gcode template

    (for Prusa-Slicer, in Printer Settings/Custom Gcode/Start GCode).
    Mine looks like this:

    G28 W ; home all without mesh bed level
    OCTO21 ; turn on external light
    G1 Z30 ; raise printhead for visual inspection
    M109 S[first_layer_temperature] ; wait for extruder temp
    M190 S[first_layer_bed_temperature] ; wait for bed temp
    OCTO22 ; turn off external light


    Thursday, June 4, 2020

    Raspberry Pi Blink in shell



    #!/bin/sh

    # release the pin on exit
    trap 'echo 0 >/sys/class/gpio/gpio23/value;echo 23 >/sys/class/gpio/unexport' 0

    echo 23 >/sys/class/gpio/export
    echo out >/sys/class/gpio/gpio23/direction

    while true; do
      echo 1 >/sys/class/gpio/gpio23/value
      sleep 1
      echo 0 >/sys/class/gpio/gpio23/value
      sleep 1
    done


    # for input:
    #  echo 23 >/sys/class/gpio/export
    #  echo in >/sys/class/gpio/gpio23/direction
    # read value:
    #  cat /sys/class/gpio/gpio23/value
    # release a pin
    #  echo 23 >/sys/class/gpio/unexport