Raspberry Pi 3 Model B ×1
Raspbian
Solder Wire, Lead Free
The project was created by accident at the moment of urgent need for a mobile standalone device for ISP programming and testing a lot of printed circuit boards with controllers and FPGAs. The task was quickly solved on a Raspberry by assembling a small IDC-10 socket adapter with a button and LEDs on a breadboard and installing OpenOCD and xc3sprog packages.
It became a solution, after which any thoughts about buying or upgrading another programmer just disappeared. In fact, if you have been working with programmable devices for a long time, you can surely find a whole museum of such devices for flashing (I have a whole drawer of them on my nightstand) - ByteBlaster, Segger, (maybe even several), ST-Link, etc., but there are many of them! These devices are built for LPT, COM, USB... lots of different ones, but here's the trouble - many are already old, unsupported, and incompatible. We'll have many more other reasons to finally buy a new one already. You know? And instead of all this happiness!
The advent of small and low-cost Linux microcomputers with GPIOs has allowed desktop applications to access external devices without special adapters, dongles, etc., leaving only electrical matching necessary.
Many projects immediately used this opportunity but also immediately raised the problem of unification on the use of GPIO (lack of unification). And this requires a solution.
The first project objective is to create extension boards for Linux microcomputers with GPIO, containing minimal indication and control elements and a small connector for connecting external devices with unified access to them.
- programming, diagnostics (JTAG interface provides access to various pins of the chip, which allows the creation of the necessary test conditions (logic levels on the pins) and reading the states; general tests are also possible),
- electrical training (test (usually cyclic) operation of the device in specified modes. For example, at the initial moment of the device lifetime, detection of hidden defects is most possible (semiconductors, switching, etc.), so "runs" of devices in the correct modes at the factory and workshop are necessary to ensure that consumers receive the best quality devices by filtering out defective devices back at the factory), etc.
In fact, for example, what does the flashing process of a stack of assembled boards consist of? It consists of a sequence of actions: "plugin, start programming, wait, on a pass/fail signal, move to cell number either 1 or number 2, go back to the beginning". Ideal for a button and three LEDs.
The second project objective is to create a thematic repository with software a tool/infrastructure for easy and simple installation and updating of the required application/package.
The third project objective is to create and place in the repository thematic packages designed to facilitate installation and configuration, as well as application packages that solve independent tasks.
Already configured apps/packages, working scripts for apps with already configured pins and adapters for the right adapters.
Now we have a device that, first of all, is very versatile, and secondly, whose total lifetime should be much longer than the devices from our museum. It can be a classical programmer, working by command from a PC; it can be an autonomous device, able to program, test, and reject independently.
At the same time, the project's area of interest has expanded to the whole field of development, manufacturing, and testing of electronic devices - for example, you can install from our repository a package for cutting Dacron stencils with a plotter and use our know-how in working with such stencils. You can make or order a furnace for melting SMD components.
"PiEBridge" is an expansion board for microcomputers similar to the Raspberry Pi (Pi), which is designed to be a helper for the DIY-maker in all his activities - Pi, together with PiEBridge, can perform a variety of functions:
You might say Pi already knows how to do these useful things, so why does it need more extension boards? Here is the answer to that question:
"Naked" Pi is usable in two extreme configurations - either just a box controlled externally via SSH or a desktop computer with a monitor, keyboard, and often even a mouse. In addition to these typical use cases, PiEBridge allows you to use the Pi as a standalone software automaton to perform random repeating tasks with minor interactive operator participation.
PiEBridge is plugged into the Pi expansion connector (compatible with family models with a 40-pin connector) and installed vertically. For this purpose, the Pi case (if available) must have a corresponding cutout on top.
When used as a programmer, PiEBridge can work with most known 6-pin and 10-pin connectors, and GND and Vcc can be randomly connected to their pins to ensure compatibility.
The programmable power supply for external devices is programmable on/off and programmable in the range of 2.5 - 5V with an accuracy of about 2%.
Deb-packages for PiEBridge have been created and compiled into a repository:
The PiEBridge has a built-in programmable power supply for external/target devices. The user can set the voltage of 2.5-5V (accuracy not less than 2%) with a current not more than 300mA by command from SBCs (e.g., Raspberry Pi).
Users can set this programmed voltage or "ground" to any pin of the output connectors using the built-in 3*10 pin matrix and jumpers.
The PiEBridge extension board has built-in 6-pin IDC (2x3 0.1") and 10-pin IDC (2x5 0.1") output connectors.
We recommend using four basic adapters to connect to target systems (e.g., for flashing) via these connectors:
IDC6-IDC6
IDC6-TC2030 (Tag Connect 6 pins)
IDC10-IDC10
IDC10-TC2050 (Tag Connect 10 pins)