I'm designing a Inertial Motion Capture System, and all I need to do is figure out what microcontroller I should use. I don't want to use any of the stock Arduino boards. I want to design/build my own small board that is much faster than any of the stock boards, but I still would like to use the Arduino Environment.
I want to design/build my own small board that is much faster than any of the stock boards
If you are truly capable of doing that then you would not have to ask this question.
If you are truly capable of doing that then you would not have to ask this question.
I am a software guy, not a hardware guy. I am accustomed to just using the stock boards and building a circuit on a breadboard to go along with it, and not building my own. So stop being presumptuous, and please answer my serious question.
JBatista:
I'm designing a Inertial Motion Capture System, and all I need to do is figure out what microcontroller I should use.
How many inputs are needed and how/where are you recording the results.
I want to design/build my own small board that is much faster than any of the stock boards, but I still would like to use the Arduino Environment.
When you say 'much faster' what speeds are you talking about? The tiny/mega ARV's can handle up to 20MHz (without over clocking) but I think the IDE can only cope with 8/16MHz so some stuff like serial & delay will not work as expected. For speed and compact size that is Arduino IDE compatible I would look at a Teensy3.1. It's not a 'roll your own' device but is so teensy it will fit in the middle of a custom board without problem.
The base 1.0.x IDE assumes you have a 16 MHz 8-bit processor. Maybe you have bumped one to 20 MHz.
Unless you go to one of the faster boards with the high speed fine pitch SMD processors that IDE 1.5.x supports, how would you get a much faster system? I don't even mess with those processors because the packages are too hard to deal with on a hobby basis.
Well the basic data acquisition questions that must be answered before selecting the hardware are at least:
How fast is the data stream you wish to capture?
How much data must you be able to store.
How are you planning to store the data, transferred to a PC in real time or standalone storage?
How is the thing to be powered? If battery powered how much time duration must you need?
CrossRoads:
The base 1.0.x IDE assumes you have a 16 MHz 8-bit processor. Maybe you have bumped one to 20 MHz.
Unless you go to one of the faster boards with the high speed fine pitch SMD processors that IDE 1.5.x supports, how would you get a much faster system? I don't even mess with those processors because the packages are too hard to deal with on a hobby basis.
I was thinking more of a ARM chip made by Atmel.
retrolefty:
Well the basic data acquisition questions that must be answered before selecting the hardware are at least:How fast is the data stream you wish to capture?
How much data must you be able to store.
How are you planning to store the data, transferred to a PC in real time or standalone storage?
How is the thing to be powered? If battery powered how much time duration must you need?
- About 50 Hz.
2/3. I don't plan on saving the data on the devices, all of the data will be streamed via Bluetooth to an RPi, or a computer. - All of devices will be battery powered.
Sounds like even any 328P based module could handle that?
JBatista:
I am a software guy, not a hardware guy. I am accustomed to just using the stock boards and building a circuit on a breadboard to go along with it, and not building my own.
Why start now? Just get a Pro Mini, they cost under $3 and are perfectly capable of doing what you want.
(OK, you need an FTDI programmer to upload code to them, add $7 for one of those...)
retrolefty:
Sounds like even any 328P based module could handle that?
I've seen projects similar to mine using the Uno, and all of the examples demonstrated the device with slow movements, and the system still had some stutter. I don't know if it was due to the sample rate or the transfer rate of the device, but I was not satisfied with the results. The "teeny" looks like a possible device for prototyping. I also found an ARM chip based on the Cortex-M0 called the " LSM6DB0", but I don't know if the Arduino firmware is compatible with the chip.. If so, it could cut the size of the product in more than half.
JBatista:
I've seen projects similar to mine using the Uno, and all of the examples demonstrated the device with slow movements, and the system still had some stutter.
I'm guessing that's due to bad programming.
A 16MHz Mega328 (Arduino Uno, Pro Mini) is perfectly capable of reading a device 50 times per second and sending it via. Bluetooth.
Then again, we don't know what an "Inertial Motion Capture System" is so we're only guessing....
fungus:
JBatista:
I've seen projects similar to mine using the Uno, and all of the examples demonstrated the device with slow movements, and the system still had some stutter.I'm guessing that's due to bad programming.
A 16MHz Mega328 (Arduino Uno, Pro Mini) is perfectly capable of reading a device 50 times per second and sending it via. Bluetooth.
Then again, we don't know what an "Inertial Motion Capture System" is so we're only guessing....
I want to design/build my own small board that is much faster than any of the stock boards, but I still would like to use the Arduino Environment.
I think that gives you a choice of ARM (Due, Teensy3, Tiva, Zero) or PIC32 (ChipKit) processors. For compatibility, you'd only get to choose exactly the CPU used in one of those devices (unless you want to hack the core libraries, compiler, and so on.)
Are you reading analog sensors via the onboard a2d converter, or interfacing to I2C or SPI sensor chips?
PIC32 is the only thing that comes in a self-assembly-friendly DIP package. For everything else you'd be looking at a fine pitch SMT part. (although, a Teensy comes on a dip-sized PCB, so you could plunk that down as a module.)
(I guess there is also The Gallileo x86 board. But that will strain your "battery operated" requirement.)
westfw:
I want to design/build my own small board that is much faster than any of the stock boards, but I still would like to use the Arduino Environment.
I think that gives you a choice of ARM (Due, Teensy3, Tiva, Zero) or PIC32 (ChipKit) processors. For compatibility, you'd only get to choose exactly the CPU used in one of those devices (unless you want to hack the core libraries, compiler, and so on.)
Are you reading analog sensors via the onboard a2d converter, or interfacing to I2C or SPI sensor chips?PIC32 is the only thing that comes in a self-assembly-friendly DIP package. For everything else you'd be looking at a fine pitch SMT part. (although, a Teensy comes on a dip-sized PCB, so you could plunk that down as a module.)
(I guess there is also The Gallileo x86 board. But that will strain your "battery operated" requirement.)
I think i'm sadly going to have to abandon Arduino for this project and go with the iNemo-M1. It has almost everything I need in the module already, and cuts the estimated size (using the smallest ARM Arduino module) in more than half.
http://www.st.com/web/en/catalog/sense_power/FM89/SC1448/PF253162
Sounds neat.
I'm extremely disturbed that I can't find an ST document that says how MUCH flash or RAM is in that chip. Are you sure that there is enough for more than very basic data transmission? It looks like it's designed as a slightly intelligent peripheral for smart phones, not a stand-alone device. Let us know if you port the arduino environment to the chip!
Good luck with that 0.4mm leadless package
westfw:
Sounds neat.
I'm extremely disturbed that I can't find an ST document that says how MUCH flash or RAM is in that chip. Are you sure that there is enough for more than very basic data transmission? It looks like it's designed as a slightly intelligent peripheral for smart phones, not a stand-alone device. Let us know if you port the arduino environment to the chip!Good luck with that 0.4mm leadless package
I actually meant to put the iNemo-M1, I fixed my mistake. The other device I mention by mistake was the sensor I was considering to pair with the arduinos. The M1 has a Cortex-M3.
http://www.st.com/web/en/catalog/sense_power/FM89/SC1448/PF253162
PS. I have a reflow oven at my disposal.
iNemo-M1
Better. Sticker shock! (I guess it's not bad for what's included, but still...)
westfw:
iNemo-M1
Better. Sticker shock! (I guess it's not bad for what's included, but still...)
OMG... So, in all seriousness, was this a real request for help thread or an advertisement?
Ray
I especially liked the part where he is going to use that 'chip' and put it on his board. after all, he has access to a re-flow oven.