Raspberry Pi is a credit card-sized development board that can be used by hackers, hobbyists, artists, and students for a variety of reasons. Although it is one of the most adaptable application boards, it is thought that it can only be utilised for a few common programming objectives, such as IoT or AI. In this article, we will break that concept and demonstrate the system’s versatility as well as how it may improve our lives in the long run. So, let’s get this party started.
This blog is for those who claim that Debian/Raspbian lacks applications. I’ll present 15 extremely important tools/software for electronics engineers, including hardware design, coding software, and other applications. These are all free to use and good alternatives to other paid Windows programmes. Make sure your Raspberry Pi is up to date before installing these. To upgrade your pi, do the commands listed below.
|sudo apt-get updatesudo apt-get upgrade|
1.Visual Studio Code( Code OSS)
The most awaited one. Many people needed this so they finally ported it. It’s a community ported software but its the same and is the best thing to code on. Visual Studio Code is a source code editor developed by Microsoft for Windows, Linux, and macOS. It includes support for debugging, embedded Git control and GitHub, syntax highlighting, intelligent code completion, snippets, and code refactoring. It is highly customizable, allowing users to change the theme, keyboard shortcuts, preferences, and install extensions that add additional functionality. The source code is free and open-source and released under the permissive MIT License. The compiled binaries are freeware and free for private or commercial use.
I would say this is the best raspberry pi app I have ever used.
Use the below code to install:
|wget https://packagecloud.io/headmelted/codebuilds/gpgkey -O – | sudo apt-key add –|
curl -L https://raw.githubusercontent.com/headmelted/codebuilds/master/docs/installers/apt.sh | sudo bash
1.1 Visual studio code
Arduino IDE- The most well-known development board, which is utilised in projects ranging from beginner to advanced. The Arduino can also be programmed via their website, however having an IDE boosts efficiency and features. There is no difference between it and the IDE available on Windows. The Raspberry Pi can simply programme an Arduino.
Arduino is a free and open-source electronics prototyping platform with a variety of hardware and software options. It’s for artists, designers, amateurs, and anyone else who wants to make interactive things or surroundings.
This package will install a Makefile that will allow you to programme the Arduino platform using the CLI.In my opinion, this is the second-best Raspberry Pi software.
Type the command below to install Arduino IDE on your Raspberry Pi.
|sudo apt-get install arduinosudo apt-get install arduino-coresudo apt-get install arduino-mighty-1284psudo apt-get install arduino-mk|
pyOCD is a Python-based Open Source library for programming and debugging ARM Cortex-M microcontrollers using CMSIS-DAP.
Flash new binaries, reset the device, halt, step, resume read/write memory, and set/remove breakpoints are all supported.
|sudo apt-get install python3-pyocd|
Caneda is an open-source Electronic Design Automation (EDA) application with a focus on portability and ease of use. Its purpose is to take care of the entire design process, from schematic capture to simulation to circuit layout and PCB production.
All forms of circuit simulations, such as DC, AC, S-parameter, and harmonic balancing analysis, are supported by the software.
|sudo apt-get install caneda|
The PCB is an X11 window system-based interactive printed circuit board editor. For usage in the board fabrication and assembly process, PCB offers a rats nest feature, design rule validation, and industry-standard RS-274-X (Gerber), NC drill, and centroid data (X-Y data) output. It also has high-end features like an auto-router and a trace optimizer, which can help you save time on designing.
PCB is a highly modular PCB (Printed Circuit Board) layout tool with a large number of plugins for interacting with external design tools and other EDA/CAD products.
- subcircuits, pad stacks
- flexible footprint model; unrestricted pad shapes
- arbitrary copper, silk, paste, and solder mask objects
- sophisticated, flexible layer model
- flexible/universal polygon model
- any object, even polygons, can have a clearance within a polygon
- advanced mil and mm grid, with support for mixed unit design
- strong CLI support
- static footprints and parametric (generated) footprints
- query language for advanced search & select
- layout optimizers such as teardrops and a trace puller
- footprint library from local file systems, HTTP and board files
- netlist management: imported and as-built; back annotation
- design rule checker
|sudo apt-get install pcbsudo apt-get install pcb-commonsudo apt-get install pcb-gtksudo apt-get install pcb-lesstifsudo apt-get install pcb-rnd|
Communicate with the ROM bootloader in Espressif ESP8266 and ESP32 chips to fash firmware files, create firmware images or read OTP ROM or flash memory content such as manufacturer or device IDs.
|sudo apt-get install esptool|
Now comes the top 5 best Raspberry Pi apps. Let’s now see what are the top 5 and why are they in the top 5.
Flashrom is a programme that can be used to identify, read, write, validate, and erase flash chips. It’s most commonly used to flash BIOS/EFI/coreboot/firmware/optionROM images in-system with a supported mainboard, but it can also flash network cards (NICs), SATA controller cards, and other external devices that can programme flash chips.
It works with a variety of DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32/40/48, and BGA chips that use LPC, FWH, parallel flash, or SPI protocols.
For example, the programme can be used to flash BIOS/firmware images, whether proprietary BIOS or coreboot (formerly known as LinuxBIOS) images.
- It can also be used to read the current existing BIOS/firmware from a flash chip.
Generates appropriate simulator commands based on user input.
- Provides a GUI interface for Ng-Spice DC, AC, and Transient analyses and
- Generates appropriate simulator commands based on user input.
- The raw output may be viewed for any processes initiated by gspiceui.
|sudo apt-get install flashrom|
Gspiceui is a graphical user interface for GNU-Cap and Ng-Spice, two freely available electrical circuit engines. The following are some of the current features:
- Import gschem schematic files using gentlist.
- Load and parse circuit description (netlist) files.
- Provides a GUI interface for GNU-Cap OP, DC, AC and Transient analyses and generates appropriate simulator commands based on user input.
- Provides a GUI interface for Ng-Spice DC, AC and Transient analyses and generates appropriate simulator commands based on user input.
Use below command to install it:
|sudo apt-get install gspiceui|
8.2 Gspice UI
NGSpice is a circuit simulator for mixed-level and mixed-signal circuits. Spice3f5, Cider1b1, and Xspice are three open-source software packages on which it is built.
NGSpice is part of gEDA project, a full GPL’d suite of Electronic Design Automation tools.
|sudo apt-get install ngspicesudo apt-get install ngspice-devsudo apt-get install ngspice-doc|
Flashing tool for STMicroelectronics STM32VL and STM32L. The transport layers STLINKv1 and STLINKv2 are supported.
This package contains a GUI tool for stlink.
|sudo apt-get install stlink-guisudo apt-get install stlink-tools|
10.1 stlink GUI
A programming tool needed to replace the firmware on the USBprog hardware. It can get a list of available firmware from the Internet, download one, and upload it to the USBprog adapter automatically.
USBprog is a programming adaptor that is available for free. Using USB, you can quickly install different firmware versions from a “online pool.” The adapter can be used as a USB-to-RS232 converter, a JTAG interface, or a simple I/O interface for programming and debugging AVR and ARM CPUs (5 lines).
|sudo apt-get install usbprogsudo apt-get install usbprog-gui|
To programme AVR chips with object code generated by the ava assembler/linker, gas, or GCC, you’ll need this software. It works with Atmel’s prototype board/programmer (stk500) and a variety of other low-cost parallel port programmers. It can also programme the AT89S51 and AT89S52 microcontrollers from Atmel.
|sudo apt-get install uisp|
To programme AVR chips with object code generated by the ava assembler/linker, gas, or GCC, this software is required. It works with Atmel’s prototype board/programmer (stk500), as well as a variety of other low-cost parallel port programmers. It can also be used to programme the AT89S51 and AT89S52 microcontrollers from Atmel.
You can use the below command to install it manually.
|sudo apt-get install avrdudesudo apt-get install avrdude-doc|
stm32flash is an application note AN3155-compliant flashing programme for STM32 ARM processors using the ST serial bootloader.
- device identification
- write to flash/RAM
- read from flash/RAM
- auto-detect Intel hex or raw binary input format with the option to force binary
- flash from binary file
- save flash to the binary file
- verify and retry up to N times on failed writes
- start execution at the specified address
- software reset the device when finished if -g not specified
- resume already initialized connection (for when reset fails)
- GPIO signaling
- I²C support
To install it, use the below command
|sudo apt-get install stm32flash|
SmartSim is a free and open-source software for designing and simulating digital logic circuits. It enables you to build sophisticated circuits by enabling you to design custom components and use them in other circuits as if they were built-in components. It is pre-installed with the Raspberry Pi software bundle, but you can manually download it if you like.
|sudo apt-get install smartsimsudo apt-get install smartsim|