You might be knowing about the raspberry pi as you’re here or you might be having one. Well, its a really awesome device, I personally use a 3B+ and it can do pretty much everything. Linux kernel is comparatively better to Windows kernel. (change my mind). In this blog, I will be showing some best Raspberry Pi apps.
This blog is for people who say Debian/Raspbian doesn’t have many applications. I will be listing 15 very useful tools/software for electronics engineers, be it hardware design, coding software or other tools. These all are free to use and are good alternatives to other paid ones available on Windows.
Before installing these, please make sure to upgrade your pi. Use the below commands to upgrade your pi.
sudo apt-get update sudo apt-get upgrade
The SmartSim is a free and open-source digital logic circuit design and simulation package. It lets you create complex circuits by allowing you to create your own custom components and including them in other circuits as if they were any other built-in components. It comes prebuilt with raspberry pi recommended software bundle, but in case you wanna download it manually
sudo apt-get install smartsim
stm32flash is a flashing program for the STM32 ARM processors using the ST serial bootloader compliant with application note AN3155.
- 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
AVRDUDE is an open-source utility to download/upload/manipulate the ROM and EEPROM contents of AVR microcontrollers using the in-system programming technique (ISP). It comes prebuilt with the recommended software bundle.
You can use the below command to install it manually.
sudo apt-get install avrdude sudo apt-get install avrdude-doc
This utility is required to program AVR chips with object code created by the ava assembler/linker, gas, or GCC. It supports in-system programming, Atmel’s prototype board/programmer (stk500), and many other extremely low-cost parallel port programmers. It can also be used to program Atmel’s AT89S51 and AT89S52.
sudo apt-get install uisp
A programming tool needed to replace the firmware on the USBprog hardware. It can automatically retrieve a list of available firmware from the Internet, download one of them and upload it to the USBprog adapter.
USBprog is a free programming adapter. You can easily install different firmware versions from an “online pool” over USB. The adapter can be used for programming and debugging AVR and ARM processors, as a USB-to-RS232 converter, as a JTAG interface or as a simple I/O interface (5 lines).
sudo apt-get install usbprog sudo apt-get install usbprog-gui
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-gui sudo apt-get install stlink-tools
NGSpice is a mixed-level/mixed-signal circuit simulator. Its code is based on three open-source software packages: Spice3f5, Cider1b1, and Xspice.
NGSpice is part of gEDA project, a full GPL’d suite of Electronic Design Automation tools.
sudo apt-get install ngspice sudo apt-get install ngspice-dev sudo apt-get install ngspice-doc
Gspiceui is a graphical user interface for the two freely available electronic circuit engines: GNU-Cap and Ng-Spice. Current features are:
- 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
flashrom is a tool for identifying, reading, writing, verifying and erasing flash chips. It’s often used to flash BIOS/EFI/coreboot/firmware/optionROM images in-system using a supported mainboard, but it also supports flashing of network cards (NICs), SATA controller cards, and other external devices which can program flash chips.
It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32/40/48, and BGA chips, which use various protocols such as LPC, FWH, parallel flash, or SPI.
The tool can be used to flash BIOS/firmware images for example — be it proprietary BIOS images or coreboot (previously 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
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.
The PCB is an interactive printed circuit board editor for the X11 window system. PCB includes a rats nest feature, design rule checking, and can provide industry-standard RS-274-X (Gerber), NC drill, and centroid data (X-Y data) output for use in the board fabrication and assembly process. It also offers high-end features such as an auto-router and trace optimizer which can tremendously reduce layout time.
PCB is a highly modular PCB (Printed Circuit Board) layout tool with a rich set of plugins for communicating with various external design tools and other EDA/CAD packages.
- – 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 pcb sudo apt-get install pcb-common sudo apt-get install pcb-gtk sudo apt-get install pcb-lesstif sudo apt-get install pcb-rnd
Caneda is an open-source Electronic Design Automation (EDA) application focused on easy of use and portability. Its goal is to handle the complete design process from schematic capture, through simulation and into circuit layout and PCB.
The software aims to support all kinds of circuit simulation types, e.g. DC, AC, S-parameter, and harmonic balance analysis.
sudo apt-get install caneda
pyOCD is an Open Source Python-based library for programming and debugging ARM Cortex-M microcontrollers using CMSIS-DAP.
Includes support for flashing new binaries, resetting the device, halt, step, resume read/write memory and set/remove breakpoints.
sudo apt-get install python3-pyocd
Arduino IDE– The most famous development board, used in beginners to advanced level projects. The Arduino is programmable online through their website as well, but having an IDE increases productivity and its features. It is the same as the IDE available on Windows, there is no difference. You can easily program an Arduino through Raspberry Pi.
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.
This package will install a Makefile to allow for the CLI programming of the Arduino platform.
This is the second-best raspberry pi app in my terms.
To install Arduino IDE on your Raspberry Pi, Type the below command.
sudo apt-get install arduino sudo apt-get install arduino-core sudo apt-get install arduino-mighty-1284p sudo apt-get install arduino-mk
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
So what are your thoughts on the above applications/software, if you think any other app should be included in the list, please let me know in the comments. Did you find the blog useful? Thank you for reading, see you until next time.