When it comes to open source signal analysis software for logic analyzers and many other sensors, Sigrok is pretty much the only game in town. Unfortunately after an issue with the server hosting, the website, wiki, and other documentation is down until a new hosting provider is found and the site migrated. This leaves just the downloads active, as well as the IRC channel (#sigrok) over at Libera.chat.
This is not the first time that the Sigrok site has gone down, but this time it seems that it’s more final. Although it seems a new server will be set up over the coming days, this will do little to assuage those who have been ringing the alarm bells about the Sigrok project. Currently access to documentation is unavailable, except via the WaybackMachine’s archive.
A tragic reality of FOSS projects is that they are not immortal, with them requiring constant time, money and effort to keep servers running and software maintained. This might be a good point for those who have a stake in Sigrok to consider what the project means to them, and what it might mean if it were to shutdown.
I would rather say it seems less final, as they are moving to a more dependable location.
Damn, i do hope they get back up and running.
It’s such a shame, once again, that manufacturers do not support Sigrok instead of doing their own propietary, buggy, fat, left for dead POS tools.
I think it would help projects like Sigrok a lot if they were able to generate a bit of income. Even if it’s just enough to keep the website alive and a few evenings of maintenance every now and then.
Probably some people will donate to Sigrok (Heck, I bought two Kings LA2016 analyzers for use with Sigrok (They work in a recent beta version) and those cost me around EUR 60 each)
The USD 7 Saleaeaea clone from Ali / Ebay is the most common hardware for Sigrok, and I can even buy a “Sparkfun” branded version locally here in the Netherlands. https://www.sparkfun.com/usb-logic-analyzer-24mhz-8-channel.html But I don’t see a reason for paying such a premium if they don’t support the Sigrok / Pulseview project directly.
Another way for Sigrok / Pulseview to generate some income would be to market some “unique” version of hardware. Pulseview works with up to 16 channels on a Cypress CY7C68013A if it sees an PID for a “generic” development board, instead of the Saleaeaea PID. there has been some contest for “absolute minimum PCB size” LA for Sigrok, but a 16 channel version (with input protection) is very low hanging fruit for unique hardware. Having some on board level translation for RS485 or CAN, or a way to set the logic trigger level would be other easy extensions.
Sometimes I wonder what sort of performance you could get out of Sigrok / Pulseview with an Cypress SX3 microcontroller. This goes up to 5Gbps over USB 3.2. Micro-controllers cost around USD 20 (25+) so a product (exclusive housing) for a similar price as the Kingst LA2016 may be doable. I only bought the Kingst LA’s because there simply is no Sigrok / Pulseview branded hardware available.
Another problem is lack of marketing. Most Hackaday readers / hackers will be familiar with Sigrok / Pulseview, but a lot of beginners do not even know what a Logic Analyzer is. I also discovered it quite late in my career, and I found it so useful that I think it should be part of every “arduino” starters kit. The USD 7 LA’s are plenty to start to get to know I2C, SPI, working with 74HC595 shift registers and such. When I’m doing some development (which is not often lately) I tend to make more use of the small and silent LA, then of my Rigol or Siglent scope (I’ve got both, both have a noisy fan, though I already replaced the fan in my old Rigol 1052).
I will profess, its true even though it might sound false. When I was a univ student, I had no idea logic analysers existed so I wrote my own utility for an atmega8a to dump captured data over UART. It even included hardware timer based adjustable filtering for carrier waves (used it mostly for IR remotes)
A logic analyzer can indeed also be used as a quite good software debugging tool. For example, if you have a spare SPI or UART port, then outputting a byte from it just takes one or two opcodes. (load constant, output constant to data register). This way, you can sprinkle such “timestamps” though your software. For example, you can mark where ISR’s start and end, with minimum impact on performance. Or you can just set an I/O bit when the ISR starts, and clear it when the ISR ends. I even went as far as to write a simple C library around it with some macro’s that can enable or disable the debug output.
Contrary to catching UART data with a terminal emulator, with a LA, you can also see the timestamps in relation to other channels. For example, when you use one of the I/O pins to mark all ISR’s, you can trace backwards in the LA trace to see whether some part of your algorithm was interrupted by an ISR.
An LA also makes it trivially simple to do performance timing. Just set an I/O bit, do your algorithm, and clear the I/O bit, and the LA tells you how long it took to do your algorithm.
All these things together makes a quite nice toolkit for debugging firmware. More modern uC’s often have on-board debugging capabilities, but back then those were not really available. And even now, you can simple log the LA trace, and then go looking backwards when you notice something “funny” happening.
This is a bit like changing the border color on the C64 to show where your code is up to within a frame cycle
I don’t know the Sigrok developer’s situation, but if they’re doing it for love of writing a logic analyzer, they probably don’t want to spend their time developing a web application for payment, verifying that someone’s paid, correlating payment with hardware, keeping track of people as they move from account to account…
People could donate directly to the account used to pay colocation fees
“A tragic reality of FOSS projects is that they are not immortal”
A tragic reality of closed-source commercial s/w is it is constantly a P.I.T.A.
Ex: Windows_OS