Help me pick an arduino compatible MCU


i've gone on several times , can't make decision. hope forum members can me here.
i making design of data logger teaching physics. have prototype in atmega328p-pu , -au need more pins , functions make more useful teachers , students.

here general requirements:
need more io pins 328p-pu, 6-8 more enough
prefer 1 more hardware serial port run dedicate connection bees (zigbee, bt bee, digi xbee wifi ect.). software serial inefficient delays can used sensing inputs.
need minimal modifications arduino ide teachers basic understanding of arduino , programming not intimidated mods

hardware:
  • parallel lcd - 6 pins
  • 3 sets of analog input channels, 2 analog inputs per set (one sensing 1 other pullup resistor easy sensor identification or resistive sensor sensing) - 6 analog channels
  • i2c needs connect rtc , external adc optional high-precision sensing , other i2c sensors.
  • rotary encoder clickable shaft user interaction - 3 pins
  • sd card - 4 pins (spi)
  • serial sketch upload , data link pc - 2 pins
  • serial bt bee or zigbee or xbee wifi etc. - 2 pins
  • maybe 1 buzzer - 1 pin


total pin count 25. current prototype has no separate serial bt bee etc. uses 2 analog pins 1 sense rotary encoder (poor) , battery voltage.
here processors i've considered:
  • atmega32u4. had high hope this. processor "bricks" if don't write program correctly. had re-flash bootloader. heard can around teachers want device teach. plus, need expensive usb vendor id. pass!
  • atmega644. thought one. bit hesitant since modification ide seems extensive 1 work. hope can convince me otherwise. have no macs , expect may teachers have macs. have no idea how make modified install package macs or linux. windows it's unzip , run. can do.
  • what other chips out there have been made compatible arduino need moderate minimal ide mod run?
  • i've thought using i/o expander run lcd. requires either special library or ide mod. either way slow, having share ds1307 on 100khz bus etc. maybe should this. forget speed.
  • i thought using second atmega328p-pu control lcd , rotary encoder need way talk main arduino. read i2c , spi. neither @ async comm uart at. bad.


i think made few wrong assumptions.

the main thing hardware serial port. out common atmega328p.
then have 2 choices: atmega32u4 , atmega2560.

the atmega32u4 solution. has spare hardware serial port (serial1). why brick ? have not heard of before. little harder serial ports , driver on computer , uploading sketch.
you can use bootloader of arduino leonardo or arduino micro. vender id has been solved those.
since use i2c , spi bus, use more devices. or use simple shift-register i/o-expander. common add kind of i/o-expander, it's 1 single chip on board.

there nothing wrong i2c lcd.
they common @ adafruit , ebay. can use adafruit library.
a 16x2 lcd display has 32 characters , think i2c bus slow :smiley-confuse: 
the i2c bus might slow pixel display, not simple 16x2. display slow anyway show change in display.

the atmega2560 has everything, needs chip usb-serial.
have @ this: http://www.crossroadsfencing.com/bobuinorev17/
that gives few ideas how design custom board.

another option design shield , still use arduino board. arduino mega 2560 solves everything, or can use due, or teensy board. can add i/o-expander on shield more pins.


Arduino Forum > Using Arduino > Microcontrollers > Help me pick an arduino compatible MCU


arduino

Comments

Popular posts from this blog

invalid use of void expresion in FlexiTimer2 library

error: a function-definition is not allowed here before '{' token

LED Strip Code