kanonka
Member level 1
I need help on a design decision. I even not sure that this is right place for this question, in which case please move it to the appropriate place.
My project is a medical device that needs to be controlled via touch-screen GUI.
Electronic part is controlled via 16 DACs (which are controlled via SPI), and gets data back via 16 ADC (actually, only 2 ADC, but switchable via parallel adressing).
So, I need something that can support SPI, plus 6 GPIO, plus 2 ADC inputs.
Then it all comes into GUI, (where user does changes), and then data should be communicated via network (either ethernet or WIFI) to a central server.
Originally I thought to use BeagleBoard Black, connected to a touch screen LCD. Problem is the cost: $45 for the board + ~$50 for LCD + ~$25 for touch-screen overlay (minimum prices!), plus overall complexity (ever heard about Linux touch-screen interface? Me neigher).
Then I got an idea - why not to use Android tablet? Decent 10" Android can be had for ~$60, then connect it to either Arduino board ($25) via USB, or to some PIC+USB combo (any idea which one?). The only issue here that this board should be fast one (100Mhz or faster would be ideal; 16MHz of Arduino might get ... not enough. In 50us I should set 2 DAC values via SPI, switch 2 ADC via GPIO, read value from each of 2 ADC, send 12 data bytes via USB to Android, and read 4 bytes back).
Benefits - cheaper + much easier to develop (Arduino/PIC program is VERY simple; most complexity sits on Android).
Problems:
1) No ethernet port anymore.
2) integration into my device. All Android tablets come as finished device that I somehow need to attach to the box where I got my PCB etc. End product going to look like pieces glued together instead of nice looking integrated thing. Also, there are extra pieces that I don't need (battery, SIM-card). Yes, I can remove them (doh!), but if they are excluded to beging with, device would be cheaper.
3) All unnecessary functionaly of Android. Ideally, user should be able to see only my program, and nothing else (sort of like POS-devices in stores). No idea, how to achieve that.
Or may be there is another solution that I'm overlooking? - Please advise!
Thank you!
My project is a medical device that needs to be controlled via touch-screen GUI.
Electronic part is controlled via 16 DACs (which are controlled via SPI), and gets data back via 16 ADC (actually, only 2 ADC, but switchable via parallel adressing).
So, I need something that can support SPI, plus 6 GPIO, plus 2 ADC inputs.
Then it all comes into GUI, (where user does changes), and then data should be communicated via network (either ethernet or WIFI) to a central server.
Originally I thought to use BeagleBoard Black, connected to a touch screen LCD. Problem is the cost: $45 for the board + ~$50 for LCD + ~$25 for touch-screen overlay (minimum prices!), plus overall complexity (ever heard about Linux touch-screen interface? Me neigher).
Then I got an idea - why not to use Android tablet? Decent 10" Android can be had for ~$60, then connect it to either Arduino board ($25) via USB, or to some PIC+USB combo (any idea which one?). The only issue here that this board should be fast one (100Mhz or faster would be ideal; 16MHz of Arduino might get ... not enough. In 50us I should set 2 DAC values via SPI, switch 2 ADC via GPIO, read value from each of 2 ADC, send 12 data bytes via USB to Android, and read 4 bytes back).
Benefits - cheaper + much easier to develop (Arduino/PIC program is VERY simple; most complexity sits on Android).
Problems:
1) No ethernet port anymore.
2) integration into my device. All Android tablets come as finished device that I somehow need to attach to the box where I got my PCB etc. End product going to look like pieces glued together instead of nice looking integrated thing. Also, there are extra pieces that I don't need (battery, SIM-card). Yes, I can remove them (doh!), but if they are excluded to beging with, device would be cheaper.
3) All unnecessary functionaly of Android. Ideally, user should be able to see only my program, and nothing else (sort of like POS-devices in stores). No idea, how to achieve that.
Or may be there is another solution that I'm overlooking? - Please advise!
Thank you!