I'm looking for opinions on a user-interface + controller solution for various lab-instrument ideas I have.
- touch-screen 4" or larger for user input and display
- open-source toolchain (compilers, programmers, etc). programming/debugging over USB or some other common standard.
- existing real-time OS + graphics/touch-screen library
- application programming in C or similar high-level language
- SPI bus for communicating with one or more DAC/ADC chips (I'd want probably up to 5, maybe 8 SPI-chips connected for some projects)
- enough processing power to run PID-loops, digital filters, and datalogging on 24-bit or more (32-bit) numbers at 1 Hz to 1+kHz loop frequency. integer math is probably enough (i.e. floating-point not a strict requirement)
- datalogging onto e.g. SD-card
- possible ethernet connectivity for publishing data, pushing it to a database-server, or remote operation/monitoring of device
- possible battery/LiPo operation (charger circuit would be nice also)
- small, affordable
I've been looking at a standard PC (ITX-motherboard) + FPGA-card based solution, but this is overkill in terms of size and performance for e.g. simple temperature-controllers or data-logger applications.
Then there is e.g. Olinuxinohttps://www.olimex.com/Products/OLinuXino/
but again a whole linux-distribution, a possible xenomai real-time kernel, etc. seems a bit overkill.
I'm not sure how easy/hard it is to do SPI on the olinuxino.
Or indeed the quite similar BeagleBoard and its derivatives.
So any opinions on a microcontroller-based approach? Any suitable dev-kits out there?
Any opinions on how to choose between PIC / AVR / ARM / other?
I'm more constrained by time than money, I need something that "just works", preferably open-source, easy to program, where I can develop the analog IO cards myself and just plug them via SPI into the UI/controller board - at least that's my plan now...
thanks for your input,