Posts

Showing posts from 2020

ImmersionRC Ghost protocol inside Betaflight

Image
ImmersionRC recently pushed out the new product known as Ghost. It is based upon LoRaWAN which gave it some nice advantages in comparison to other existing radios. ImmersionRC also created a new lightweight protocol to improve latency and some new features. This post will be more about how it is integrated into Betaflight code.  At the moment of the writing the code is located here: https://github.com/betaflight/betaflight/blob/master/src/main/rx/ghst_protocol.h https://github.com/betaflight/betaflight/blob/master/src/main/rx/ghst.h https://github.com/betaflight/betaflight/blob/master/src/main/rx/ghst.c If you figure out how this protocol works you can use it in your projects. With Ghost radio transmitter and Ghost receivers, you can communicate with any device you want at a distance of around 10 km with very low latency including telemetry data. In the text below I'll describe how Ghost's frames look like. We are looking from the receiver's perspective (Betaflight flight c

Winbond NAND flash W25N01GV - problem while flashing one page multiple times

Image
 I run into a problem while using W25N01GV. Since I couldn't find an answer on the internet I contacted Winbond support. Here is my conversation so maybe it will help you as well.  Question 1  : Hi, I am using W25N01GV on different projects and recently I found a problem while writing multiple data on the same page. With command Load Program Data (02h) I am loading data to Data Buffer and then I store it to flash with Program Execute (10h). Each time I am writing to a different column address on the same page. After around 200 writes on the same page some old data seems to change, even I didn't write anything at their location. Any chances there is a limit to how much time could be one page used before erasing the whole block? or this could be a faulty sample of flash? Best regards, Igor Misic (2020-11-29 19:06:17) Answer 1  : Hi Igor: Thank you for contacting Winbond. About the SPI NAND flash, there are two limitation for page program operation. 1. There are 4 times for doing

AUTOSAR and Time Synchronization over CAN

Image
If you are checking documentation from AUTOSAR about time synchronization over CAN you can get a bit confused by looking at figure 1. Here I’ll try to clear it out with some examples.    Figure 1 - CAN Time Synchronization mechanism

SP Racing H7 Extreme - IMSSBL

Image
 This is a demonstration GUI application and second stage bootloader for SP Racing H7 Extreme board PX4 version.  It is designed as cloner protection for STM32 boars so if you are looking for a solution on how to protect your board you can contact me. For now, this is an application that can help PX4 developers or any other developer using the H7 Extreme board. It works with IMFlasher GUI and console applications. 

Flashing/debugging/running code at external memory in the memory-mapped mode

Image
  STM32 microcontrollers have special capabilities running code directly from external flash. To make it possible STM32 made a special set of instructions called memory-mapped mode where the microcontroller is reading instructions from the external flash. Since to read data from an external flash can take some time there is QSPI protocol witch basically four wires used as SPI MISO (Master Input Slave Output) to make throughput 4x time faster than classical SPI.   Figure 1 - Illustration of STM32H750 connected to W25Q128JV 

Brushless motor kV: 4s vs 6s vs 8s vs 10s battery

Image
This just a simple image with a comparison of different kV(constant velocity) for different numbers of the cells in the battery.  On the left is RPM(Revolutions per minute) on what kV number your motor needs to have to achieve the same RPM number.  It is compared to 4 different batteries. 4s =  4 cells, 6s = 6 cells, 8 =  cells, 10 = 10 cells.  I know how to do this calculation for a long time but I want to have a picture that can be easily accessible over Google image search. This table shows only the RPM comparison. Lower kV motors usually have a stronger moment, because of the lower number of copper wire turns resistance is lower, so current is higher. Check also this video to get experience from first hand: https://www.youtube.com/watch?v=0H2gm6v6dZQ

Upgrade Taranis with RG405

Image
If you are planning to replace the original antenna in Taranis don't use RG178 or RG316. There is a much better solution! The RG405. RG405 is designed to go up to 40 GHz while RG178 and RG316 are labeled up to 3 GHz. With that in mind be sure that RG405 will perform much better at the 2.4 GHz at what Taranis radio operates. If you don't believe check it for your self: https://www.pasternack.com/images/ProductPDF/RG178B-U.pdf https://www.pasternack.com/images/productpdf/rg316-u.pdf https://www.pasternack.com/images/ProductPDF/PE-SR405TN.pdf In this datasheet, there is only 1 GHz test that we can use to compare cables. Here is the table: Name            Max freqency[GHz]          Attenuation at 1 GHz [dB/100m] RG178 3 145.7 RG316 3 124.67 RG405 40 72.18 From the table, you can see how RG405 has much less attenuation at 1 GHz then RG178 and RG316. Less attenuation and Teflon as dielectric material RG405 will keep bent a

Cobra CP-2207 2600kV - rewinding

Image
If you were unlucky as I am, you probably burned out one of the expensive cobra motors that are not in production anymore. Luckily you can fix it as I did. So here it is how. You will need a new enameled copper wire. The original in my motor was 0.3mm but it was really hard for me to wire it on the stator so I selected the first thinner, and that was 0.28 mm. Whit tinner wire you are limiting max amperage of the motor, but with my flight stile, I didn't find it a problem yet. Before you remove all wires there is a good chance you burnt out only one phase, so do a visual inspection to make sure if that is the case (it was for me). The motor has 12 polls. This is how winding for the whole motor is done. Take your time to figure this out. The motor has 3 phases and they are connected in delta connection at the end. First, make sure you get a photo of each poll when you start removing the wire, otherwise, you will forget the way the turns where done.

QUAD SPI Logic Analyzer Saleae Plugin

Image
If you are looking for Plugin to read your QSPI data for Logic. Here it is! You can compile it and use it: https://github.com/Igor-Misic/saleae_qspi It will look like this: If you don't have time to compile it, you can buy a 64bit Linux library. You will just need to place it in the "Analyzers" folder of the Logic program and restart Logic. The price is 4.99 USD. If you will have any problems with purchasing contact me over this blog.