Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Eliminate build-dependency on non-free software #69

Closed
spth opened this issue Jun 30, 2019 · 3 comments
Closed

Eliminate build-dependency on non-free software #69

spth opened this issue Jun 30, 2019 · 3 comments

Comments

@spth
Copy link

spth commented Jun 30, 2019

As far as I understand, to use this one, needs firmware that has to be built using a non-free compiler. What would be needed to eliminate this dependency? Support for alternative hardware as in issue #5 ? Anything else? Is there a free alternative for the existing hardware?

Philipp

@davidgiven
Copy link
Owner

There's a very small amount of work in free toolchains for the PSoC5 that I've found --- this one, essentially: https://github.com/kiml/PSOC_compiler But the really hard bit isn't running code, it's compiling the Verilog for the FPGA part. There's no free tooling there at all. But it's the FPGA part which makes this work --- it offloads the entire capture/replay logic from the CPU, allowing it to focus on USB transfer instead.

The alternative would be to source free hardware, but I haven't found anything which meets the power requirements / form factor / cheapness sweet spot that the PSoC does. I did a writeup at the bottom of this about the requirements: http://cowlark.com/fluxengine/doc/technical.html

@spth
Copy link
Author

spth commented Jun 30, 2019

I was looking at this as an alternative to Kryoflux, which requires non-free software. Cheapness is nice, but in the end anything cheaper than Kryoflux still looks okay to me. Which hardware alternatives would fall into that range? AFAIK, the only FPGA with a good free toolchain is the Lattice iCE40 (but I don't know if there are 5V-tolerant parts, or one would need an external level shifter).

@davidgiven
Copy link
Owner

I didn't know there was a free Lattice toolchain --- that's really interesting. The UPDuino 2 is the best I've seen so far but it's only got 16 pins in a row, it's 3.3V, there's no direct USB and there's no processor...

I'm not particularly wedded to an FPGA: it's just that using the PSoC FPGA managed to let me do a lot more with a lot less. The hardware needs the ability to accurately time pulses coming in at 500kHz while also getting 700-800kB/s on a USB connection at the same time. Some of the higher end Arduinos should be capable of doing this (I have an ItsyBitsy M4 for an unrelated project right here) but I haven't found one with the right form factor yet, and they're all 3V parts too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants