Improved translations for EN and DE:
Transmitter battery display option for four NiMH cells:
⚠️ Important note: The transmitter is very specific about USB cables. Even if a USB cable works as a data cable for a phone, PC, etc., it may not work with the transmitter. ⚠️
Symptoms include "USB device error" or the device's flash drive not appearing. Try different cables, one by one, until one works.
⚠️ Remove batteries from the transmitter before performing upgrades. ⚠️
If your current firmware version is lower than 1.1.5 (stock or modded), you need to first update to the stock version 1.1.5.
The process depends on your current version. Please refer to the official video and website for detailed instructions:
Official DumboRC site with firmware for DDF-350
Once successfully updated to 1.1.5, return here. You will not need to go through the entire boot update process again.
⚠️ Important note: Always start patching with a clean original 1.1.5 firmware file, DDF.bin
. Do not reuse files altered by previous mod releases. ⚠️
DDF.bin
:
.ips
file:
.ips
file..bin
file, not the .zip
..bin
file in LunarIPS, change the filter to all files / *.*
..bat
file to flash the image:
.bat
file completes, "Safely Eject" the flash drive.I provide no guarantees of safety and am not responsible for any damage.
I test everything on my own transmitter, so I have "skin in the game." However, I cannot predict every situation.
Avoid performing upgrades the day before important events.
With the help of ChatGPT, I developed Python scripts to dump and insert UTF-8 strings. While some strings are too short, unrecognized, or have incorrect offsets, the process is relatively smooth.
I recommend creating or modifying a "translation" file instead of editing raw binaries directly. Tracking changes in raw binaries can quickly become chaotic.
The current EN translation is 98% satisfactory. The DE translation removes scrolling; suggestions are welcome. I presume the CN translation is good. If you'd like to improve FR, create an issue, and we’ll collaborate.
Starting with version 1.1.3, I began publishing my Ghidra projects publicly. These allow you to follow my changes or make your own collaboratively.
It is still not Git-based, since Git replaces common server storage. As such, if you want to do something, let me know in the issues, I will make sure to upload my latest changes and take a break to allow your changes to pass.
You will need Ghidra. I use Ghidra 11.2 Public
You will need to set up ./ghidra_repositories
folder of this repo as ghidra.repositories.dir
in server/server.conf
.
You will need to disable authentication in server/server.conf
.
Find wrapper.app.parameter.1=-a0
, comment the line with #
, change .2
to .1
on next parameter.
For me it now looks like
#wrapper.app.parameter.1=-a0
wrapper.app.parameter.1=${ghidra.repositories.dir}
You can set up user name as user.name
/ VMARGS=-Duser.name=
in support/launch.properties
. Or by default your username is OS user name.
Add your username to ghidra_repositories/users
of this repo, like YourName:*:*
. I will be honored to not be alone there.
I run server in console
mode, since I do not intend to use it as actual network server.
Once server is running, start Ghidra tool itself.
Click "File", "New project", "Shared Project", Server Name "127.0.0.1" (I presume you run server locally in console), "Existing Repository", "ddf-350-113".
Select folder to store files locally.
To start editing, RMB .bin file and do "Check Out".
After you did some changes and want to make a save, do "Check In...".
Once you are done want want to share changes back, do "Undo Checkout". Then close Ghidra, then stop Ghidra server with Ctrl-C
.
After that commit all files in git, push.
To test the changes, export .bin file as "Raw Binary" to translation
folder. If you want translations, use input.bin
, otherwise just use DDF.bin
.
To add translations to input.bin
run import_strings.py
.
Run update.bat
that is just verbose translated official update script. Process is as usual.
If you flashed garbage, just flash working version again.
If you find translation issues or better wording choices, let me know. My primary goal was to eliminate scrolling, which caused me eye fatigue and headaches, and to update outdated terms.
For feedback, create an issue and include a picture and your suggested text.
I am not associated with or endorsed by DUMBORC, RadioLink, or any related companies.
All firmware and hardware are their property. I only distribute my modifications, as permitted under the concept of derivative works.