HP5370 Processor Replacement Project

Important note about the software distribution:

It was discovered several days ago that the 5370 image file for the Beagle is instead an old KiwiSDR image. The image file and download script has been fixed. So if you have had problems please try downloading and re-flashing again. The new sha256 checksum for the correct image file is:


Please see the project documentation on github.

Also, we have discovered that the software does not work with the Seeed BeagleBone Green as we had thought. Please only use an original BeagleBone Black with the board.



Thanks everyone, but we are now sold out of boards. There will not be another production run as we hardly have enough time for our current KiwiSDR project.


The Debian 8 Linux distributions shipped with newer Beagles is incompatible with the 5370 software. The project documentation has been updated with a procedure for re-flashing the Beagle with a distribution including working 5370 software.


Boards are available again for shipping. We have about 20 in stock. Cost is USD $55 for the board only. I'm no longer able to offer a bundle with the BeagleBone included. But a BeagleBone Black or Green can be purchased from many sources (either will work with the board).

Shipping from New Zealand to most locations is:


Just a quick update. We still have plenty of boards in stock.

Around October or so Beagles started appearing in continuous stock at the larger US distributors (Mouser, DigiKey) in sharp contrast to the supply shortages prior. And they continued to be in stock for many months until just now in February. I wonder how much of this was due to the production ramp-up of the Element 14 version? The CircuitCo board shipments seem to have been relatively constant.


Version 3.4 of the software is now available.

When using the "halt" command from the front-panel menu, "halting..." will show on the instrument display. When Linux has completely halted the display will then be blanked. At that point it is safe to power off the instrument. This new behavior applies to both the Angstrom and Debian versions of the software.

Please refer to the Quick Start guide on GitHub, or in the tar distribution file, for software upgrade instructions. Links to these are in the next entry below.


Boards from the second build are ready to be shipped. Please place your order here: www.jks.com/php/order.html

If you order the configuration that includes a BeagleBone Black you will receive the latest "rev C" Beagle with 4 GB of eMMC flash memory and running the Debian Linux distribution. The quick-start guide and software release is here: github.com/jks-prv/5370_proc and also www.jks.com/5370/5370.tgz


There have been enough requests now to warrant a second board build. If you have not yet indicated your interest please do so by using the "order" link below (which is currently setup to take interest information, not actual orders).

The prices are slightly higher for a couple of reasons: The build quantity will be less and the fixed costs have to be amortized over a smaller number of units. The Beagle has had a US$10 price increase in an attempt to attract more manufacturing capacity. But along with this the on-board flash was increased from 2 to 4 GB and Debian Linux was substituted for Angstrom.

Delivery should be near the end of October. I have to port the software to Debian and of course there are always issues with any sort of contract manufacturing.


Sold Out!
Last Fall I took a poll at the time-nuts mailing list to gauge interest in the project. I received responses requesting about 25 boards so I doubled that and had 50 made. Always a tricky proposition to balance capital outlay versus demand forecast.

The order page is now setup to collect demand information for a future board build. So if you're interesting in purchasing in the future please use the order page to let me know. I should be able to get boards built and delivered pretty quickly now that the supplier is already setup. www.jks.com/php/order.html


Thanks to everyone who has ordered. Out of the original build of 50 boards I'm now down to less than 10. The exact numbers remaining are on the order page. I might actually break even on this project, lol.

Version 3.1 of the software is out on Github and as a tarball:
Besides the new menu mode interface and saving of last instrument setup as described below this version handles powering the instrument on/off while the BBB continues to run if powered continuously over the USB-mini connection.

There is ongoing discussion about using battery & supercap solutions to provide hold-up power for an orderly BBB shutdown. Also the concept of running Linux from a primary read-only filesystem and disposable ramdisk or similar.


I am now accepting general orders for the 5370 board here: www.jks.com/php/order.html For an introduction read the Quick Start guide here: github.com/jks-prv/5370_proc

I've shipped 16 boards so far and everything looks pretty good. Thanks to Chuck Harris for suggesting a way to halt the Beagle/Linux from the 5370 front panel and helping me debug it. You can now set the Ethernet IP address via the front panel. Also the last instrument settings are restored on the next startup (thanks to John Miles for the suggestion).

The only caveat is that the BeagleBone Black continues to be in short supply. But with enough patience you can find them.


Orders are now shipping on a small scale to those who expressed an early interest in the project. It has become somewhat easier to obtain a BBB but the larger distributors still show no stock as they (presumably) fill backorders.

Many thanks to fellow time-nut and beta tester Orin Eman for patiently working with me to fix a few bugs. I now know how to use the Programmable Realtime Unit [PRU] co-processor of the BBB if you happen to need advice on that particular kettle of fish. The project files on github show how to bundle PRU code with an app together with the PRU tools (assembler, loader) all glued together with a Makefile into a self-contained distribution.


An updated README.txt file is now on GitHub github.com/jks-prv/5370_proc that has complete instructions for installing the 5370 software on the BBB should that be necessary (e.g. you attached your own BBB to the board). Also more complete information about connecting to the BBB with a login session over the network and performing development on the code.


I have received the 50 assembled boards and they work fine. Build quality is excellent.

The problem now is that the BeagleBone Black is very difficult, if not impossible, to find in stock. CircuitCo shipped 4,400 since January 1 and yet the distributors still show no stock. They're probably filling backorders. More than 100K have been sold to-date. The current guess is that BBB is being used inside other products without proper demand forecasting getting back to CircuitCo. Small-volume purchases by the community are getting locked out as a result. Of course I'm contributing to this problem to a small degree. This situation will eventually get sorted because people purchasing for products can't afford to have unpredictable delivery. The Raspberry Pi probably went through the same thing.

Meanwhile, I'm fine tuning the software distribution and writing documentation.
Click images for larger.



An order for 50 assembled boards has been placed with UPP Technology International Co., Ltd. after a recommendation by fellow Time-Nuts member Didier Juges. I am working on building a test fixture for their post-assembly testing. Estimated delivery is four to five weeks.


Source code, documentation, Gerbers & drill files, BOM, KiCAD schematic and PCB layout are now on Github: github.com/jks-prv/5370_proc
I decided to pull the USB isolation stuff off the board since it's pricey and uncertain when it might be working with the BBB. It can be part of a separate back-panel connector board in the future. You can still use USB with the BBB, you just won't have galvanic isolation. You could also run USB-WiFi off of a USB cable dangling out the back of the instrument I suppose. So for now the best way is to use a wired Ethernet connection.


Okay, working. Except for the isolated USB because the BBB host USB port seems to refuse to auto-negotiate down to the 12 Mbit/s USB 1.x speed. It looks like it's always running at the 480 Mbit/s USB 2.0 speed (the Analog Devices isolation chip I use can only handle USB 1.x speeds). But Ethernet works fine as expected.
Click images for larger.



Alright, enough excuses. I sent this board to OSH Park this morning:
Click image for larger.



So this project is on hold for a couple of reasons.

The newly available BeagleBone Black single-board computer at USD$45 is cheaper than the parts cost of the microcontroller and associated components I was using. And you end up with a 1 GHz processor instead of 55 MHz, 2GB/512MB of Flash/RAM instead of 512K/128K and it runs Linux instead of a pile of standalone system code (okay, some people would say that's a step backwards).

The obvious redesign now is a much simpler 5370 board that a BBB can just plug into. Such a board would need some 5370 backplane bus 3.3 - 5V level shifter/drivers, the USB isolator circuit and the breakaway PCB section containing the USB and Ethernet connectors for the 5370 back panel.


First PCB build. Top connectors left to right: serial, JTAG, 10/100 Ethernet, USB 2.0
Click image for larger.


New processor card installed. Note absence of old ROM and HPIB cards. The rectangular section of the PCB holding the Ethernet and USB connectors is designed to be detached and installed at the rear panel cutout of the 5370 where the original HPIB connector is located (using appropriate extension wiring)
Click image for larger.


Front panel displaying firmware version number on power-up/reset.
Click image for larger.


This is what you get when connecting to the 5370 from a web browser.
Click image for larger.


ref: www.mail-archive.com/time-nuts@febo.com/msg39720.html

Setup using a modern microcontroller (32-bit ARM @ 48MHz) to drive the 5370's device bus. The original 5370 CPU card uses an 8-bit Motorola m6800 running @ 1.5MHz. Atmel AT91SAM7X micro evaluation-kit board on left drives the bus via ribbon cable. Cables on left edge of board connect to host development computer. Bottom right ribbon carries HPIB card signals back to logic analyzer.
Click image for larger.


SAM7X evaluation-kit board. Top connectors: JTAG, USB, 10/100 Ethernet, serial x 2. Two 31-bit GPIO ports appear on header pins at left (connected here to ribbon). SAM7X is the 100-pin TQFP, 48-pin Ethernet PHY above. A replacement board for the 5370 would have fewer components than this board.
Click image for larger.


Front panel measurement function timings, original instrument versus emulated firmware.



Logic analyzer trace of binary TI data transfer to host via Ethernet connection. The green cursors measure the time to send one packet containing 512 measurements. So 512 * 164Hz = 84K meas/sec. The waveforms on the left where the 5370 device bus LA01/RW lines are madly flapping is where the count chain regs are read. The quiet portion in the center-right is the network stack running (entirely on the micro, so no 5370 bus cycles involved). "Run" is the software-controlled signal triggered on.


Screen shot of host computer. The left window is the serial debug output from the emulator & micro. The middle is the fast C code loop that reads the count chain regs (4 writes, 6 reads) and performs the conversion from 5 to 2-bytes. On the right are the reconstructed TI values on the host (from the 10 MHz internal reference looped back to the Start input, so 100 ns +/-). Click image for larger.


ref: www.mail-archive.com/time-nuts@febo.com/msg36195.html

5370A running from remote firmware. This is -not- a photoshop.


Processor board with m6800 CPU removed and parallel I/O cable attached.


USB-to-parallel adapter at lower left. USB instrument-to-computer signal/power isolator mid left.