Expandable processor

Which processor board is easily expandable? What if you suddenly end up needing more inputs/outputs

I'm afraid that when I create my robot project, I will eventualy end up using all the inputs and outputs and will need to change the processor board.

Initial Board

I find the boards that contain the integrated h-bridge and nice headers for I/O (+V, GND, SIGNAL) from Dagu and DFRobot make excellent first choices. Most beginners start with huge aspirations and end up with 2 motors, a distance sensor, and 10 empty I/O pins. Their cost is very low compared to the time required get started.

I already have some ideas :-

I already have some ideas :

- 2 wheeled robot
- object avoidance 360 degrees (servo on top with an ultrasonic sensor?)
- voice commanded would be graat
- encoders on the wheels for speed controle
- Electronic compass?
- loudspeaker for some kind of feedback

Keep on expanding this Way…

I wouldn’t sweat i/o pins so

I wouldn’t sweat i/o pins so much. You can always multiplex them by adding shift registers, connect a chip which gives you extra gpios or adc through I2C, or even add another board and make it communicate with the first one.

For a bot with a lot of
For a bot with a lot of sensors like I’m working on now I would use a Raspi or an ODroid to run the main algorithms. To do the realtime work for the sensors I would use a small Arduino board like the Nano or even the Adafruit Trinket (though the price of the Nano clones on ebay is so low that I’ve given up on the trinkets. I typically use I2C to communicate between the processors, or even just plain serial.

The main thing I use GPIO pins for in the master is for interrupts so the slave can communicate that it has data or something important. This means I don’t need a lot of GPIO pins in either the master or the slaves. The slaves typically do one job and do it well. For instance it is difficult with a single Arduino to read sonars accurately and do other things at the same time. By splitting up the workload I make my programming much easier.

Now you have a lot of choices. If you want to stick with an Arduino, then the Arduino Mega has a boatload of gpio.

Good luck deciding. :slight_smile:

Nano clones are for about 2$

Nano clones are for about 2$ from Aliexpress. I already ordered 30 of them from 4 different vendors, and i was not disappointed.

For time sensitive tasks on arduino is better to use non blocking functions, as not using delays but millis function.

I’d add to the list of noteworthy processors the LeafLab mini Maple clone, from 4$ from Aliexpress. It is an ARM, has 3 hardware serial, 128kb flash and 40gpio.

There is also the Teensy
There is also the Teensy 3.1. It isn’t cloned, so it’s around $20 for an ARM M4 with numerical processing and a built-in chip to handle quadrature encoders. It’s an Arduino work-alike, but with more speed, flash and RAM.

I have some clone mini-maples and will be trying them out when I get a chance, sometime in the future when I’m free (or at least cheap). Right now the soon-to-be ex-wife has clamped down on all my income, and since she’s the one with the main income I’m mostly stuck.

Interrupts!
I believe that ARMs tend to allow all digital pins to be interrupts. And I think they have more types of interrupts than the Arduino.

Nano clones have 2

Nano clones have 2 interrupts, leaflab maple mini has 16 interrupts

Can the Leaf mini be
Can the Leaf mini be programmed with the Arduino language and IDE, or can I use real C/C++?

It can be programmed
It can be programmed directly in C++/C or Assembly, or you can use their IDE based on old Arduino IDE and an Arduino-like language: http://static.leaflabs.com/pub/leaflabs/maple-docs/latest/ide.html

Blinky lights within 2 hours

Blinky lights within 2 hours of play, following documentation. Also 26 pin are 5v tolerant. If you already know how to use arduino and willing to read all its quirks it’s strictly better than two nanos everytime. Did i mention 12bit analog resolution and 16bit pwm?