New firmware for the FNIRSI-1013D osciloscope.

Overview

FNIRSI_1013D_Firmware

New firmware for the FNIRSI-1013D osciloscope.

This new firmware is offered without any warrenty and I take no responsibility for any damage.

This repository is a result of the hacking of the original FNIRSI 1013D firmware. To make it easier to just get the new firmware code, this repository is created.

During the hacking and development phase discoveries where made that there are differences between the oscilloscopes in the field. An important one is the different displays that are used. To make it work with these different models a sector on the SD card has been allocated to hold the display configuration. To this moment only one major deviation needed this mod. The more standard types can use the default configuration.

In the "fnirsi_1013d_scope" dist folder there are a configuration files for both the deviated and the standard one. In the "How_to_load_scope.txt" file you can find the instructions for loading these files to the SD card.

There are four folders with source code projects of which a minimum of two are needed to build a binary that can be loaded onto the SD card that is housed in the scope.

For a version with a startup screen that shows PECOs sCOPE three projects are needed:

  1. "fnirsi_1013d_sd_card_bootloader" which loads the startup screen code and executes that
  2. "fnirsi_1013d_startup_screen" which shows the startup screen and loads and executes the actual scope code
  3. "fnirsi_1013d_scope" this is the actual scope code

For a version without the startup screen only two projects are needed:

  1. "fnirsi_1013d_startup_from_sd_card" which starts the FPGA and loads and executes the actual scope code
  2. "fnirsi_1013d_scope" this is the actual scope code

The second option is the fastest since it does not wait to show the startup screen, but this project has not been adapted for the new display configuration setup nor has it been tested with the latest code.

To load the new firmware on the scope one has to make sure the SD card is partioned correctly.

  1. Connect the scope to the computer via USB.
  2. Turn on the scope and start the USB connection via the main menu option.
  3. Wait until the file manager window opens. (Only if auto mount is working properly)
  4. Close the file manager window.
  5. Open a terminal window (ctrl + alt + t) and type the "lsblk" command (!do not use the quotes!) and check which device the scope is on. (~8GB disk)
  6. Copy the files from the card to have a backup on your computer.
  7. Un-mount the partition. ("sudo umount /dev/sdc1" in my case)
  8. Just to be more safe make a backup with dd. ("sudo dd bs=4M if=/dev/sdc of=sd_card_backup.bin" again in my case)
  9. Open gparted and check if the device is properly formated. (Use right mouse and information to see the sector info)
  10. If not delete the partition and make a new one leaving 1M free at the start. Format is fat32.
  11. When the partition remounts after the previous step un-mount it again.
  12. Use dd to place the backup package on the SD card. ("sudo dd if=fnirsi_1013d.bin of=/dev/sdc bs=1024 seek=8")
  13. This will re-mount the partition. Un-mount the partition again. ("sudo umount /dev/sdc1" in my case)
  14. Turn of the scope and turn it back on. This will start the new scope firmware

Removing the new firmware is easy:

  1. Perform the first steps of the install. (1,2,3,4,5,7)
  2. Remove the program with "sudo dd if=/dev/zero of=/dev/sdc bs=1024 seek=8 count=1"

For more information take a look here:

  1. https://www.eevblog.com/forum/testgear/fnirsi-1013d-100mhz-tablet-oscilloscope/msg3807689/#msg3807689
  2. https://www.eevblog.com/forum/testgear/fnirsi-1013d-100mhz-tablet-oscilloscope/msg3809966/#msg3809966
  3. https://www.eevblog.com/forum/testgear/fnirsi-1013d-100mhz-tablet-oscilloscope/msg3908555/#msg3908555

For a view at the history and the flash file packer tool look here: https://github.com/pecostm32/FNIRSI-1013D-Hack

You might also like...
A new Discord client made in C++ and Qt
A new Discord client made in C++ and Qt

Fast-Discord For now it is very basic Origins of this project Coding conventions License Contact This project is really huge and requires a lot of tim

This is new projec based in apps to chat or messages people to people

Stranger This is new projec based in apps to chat or messages people to people Esta aplicacion tendra las siguientes caracteristicas: 1* Es 100% segur

New version of the well known ESP32 Radio. Now optional I2S output!

ESP32Radio-V2 New version of the well known ESP32 Radio. Now optional I2S output! Compile time configuration in config.h. Do not forget to upload the

New linux driver and tools for RME HDSPe sound cards and extension modules

snd-hdspe New linux kernel ALSA driver for RME HDSPe MADI / AES / RayDAT / AIO and AIO Pro sound cards and extension modules. In addition to the funct

Module Stomping, No New Thread, HellsGate syscaller, UUID Shellcode Runner for x64 Windows 10!
Module Stomping, No New Thread, HellsGate syscaller, UUID Shellcode Runner for x64 Windows 10!

Ninja UUID Shellcode Runner Module Stomping, No New Thread, HellsGate syscaller, UUID Shellcode Runner for x64 Windows 10! Now supports running Cobalt

A single-header, new syntax for C & C++

sea A new syntax for C & C++, in one header file sea is a new syntax for C & C++. It can be used by adding the following line of code to a .c, or .cc/

Add a new system call.

Linux kernel ============ There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML an

The ESP-BOX is a new generation AIoT development platform released by Espressif Systems.

中文版本 ESP-BOX AIoT Development Framework Important Note: We recommend updating the ESP32-S3-BOX firmware when you first receive the product to have the

My new zigbee project. Wireless temperature and humidity mini sensor with electronic ink display 2.13 inches, low power consumption, compact size, enclosure with magnets.
My new zigbee project. Wireless temperature and humidity mini sensor with electronic ink display 2.13 inches, low power consumption, compact size, enclosure with magnets.

My new zigbee project. Wireless temperature and humidity mini sensor with electronic ink display 2.13 inches, low power consumption, compact size, enclosure with magnets. The device use SHTC3 sensors, chip CC2530, battery CR2477.

Comments
  • [question] differences with the original?

    [question] differences with the original?

    I'm having a hard time deciding if I should try your firmware, and can't find information on how it compares to the original.

    I'm annoyed at the fact that the trigger and measurements disappear at slow sample rates, and that the time scale can't be changed on a stopped screen.

    Great feat reverse engineering the device, regardless of any changes (or lack thereof) you may have made to it.

    Thanks!

    opened by dbuezas 4
  • Magenta screen on boot

    Magenta screen on boot

    I am 100% sure I've posted this earlier today but it is not here.

    I followed all the steps to use your custom firmware on Daniu ADS1013 version but all I can see on boot is ~200ms of the splash screen and then the entire screen is magenta filled, nothing else.

    Does that mean that the custom firmware is not compatible with the "Daniu" branded scope?

    It comes with a 1GB SD card, so I tried an 8GB one but got the same result, so I guess it is not about the card size.

    opened by sigxcpu76 1
Owner
null
My version of psxfunkin with new changes like new story mode, new options,etc

PSXFunkin Friday Night Funkin' on the PSX LOL Compilation Refer to COMPILE.md here Characters Igor Ver added new characters Like XmasGF,Monster and mu

IgorSou3000 4 Jun 8, 2022
:fish_cake: A new take on polymorphism in C++

DynaMix (Dynamic Mixins) is a new take on polymorphism. It lets the user compose and modify polymorphic objects at run time in C++. The library is a m

Borislav Stanimirov 545 Sep 14, 2022
Servo library with stm developed by the Liek Software Team. We are working on new versions.

Liek-Servo-Library Liek Servo Library is a library that makes it easy for you to drive servo motors with STM32F10x series cards. The library is still

null 14 Jan 13, 2022
PoC: Rebuild A New Path Back to the Heaven's Gate (HITB 2021)

wowGrail Rebuild a new to Abuse the conversion layer embedded in WOW64(Windows 32 on Windows 64), that makes malware able to launch 32-bit NTAPI inter

Sheng-Hao Ma 77 Sep 5, 2022
SMARTmBOT - a new, customizable, scalable, and fully opensource mobile robot platform

The goal of this repository is to introduce a new, customizable, scalable, and fully opensource mobile robot platform, called SMARTmBOT. This repository provides a guide, and all design files and source codes so that you can build your own SMARTmBOT. SMARTmBOT can be useful for studying the basics of robotics, especially mobile robotics. It can also be used to study advanced topics such as swarm robotics.

SMART Lab at Purdue University 35 Sep 17, 2022
Audacity fork without Telemetry and with new features

Audacity fork without Telemetry and with new features

Sartox Free Software 678 Sep 20, 2022
Optimized, fast and unsafe Uniswap sniping bot for buying new listings.

Optimized, fast and unsafe Uniswap sniping bot for buying new listings. Table of content How does it work? Pregeneration Used libraries Project struct

Sebastian Szczepański 152 Sep 11, 2022
New lateral movement technique by abusing Windows Perception Simulation Service to achieve DLL hijacking code execution.

BOF - Lateral movement technique by abusing Windows Perception Simulation Service to achieve DLL hijacking ServiceMove is a POC code for an interestin

Chris Au 184 Sep 22, 2022
A new JS script plugin for flutter

js_script Run JS script. Usage // Create a JS context. JsScript script = JsScript(); // Define a class. var classInfo = ClassInfo<TestClass>( newI

null 5 Mar 8, 2022
A template for creating new MOLA modules

mola-foo Write me! Provided MOLA modules: Foo, type Foo. Build and install Refer to the root MOLA repository. Docs and examples See this package page

The MOLA SLAM framework 7 Oct 23, 2021