I'm looking for a 32 bit "arduino" board for some open projects.
I've built a half a dozen projects using the Pro Mini board, now I am looking for more power and memory.
I've purchased a few Blue Pill boards and started to program one. My first task was controlling an I2C device. As soon as I got into it I find the STM32F core has some I2C issues, one of which is periodically locking up (at least of the I2C portion). This isn't something I want to waste my time with, even thought the capabilities are perfect for me (if it were a solid performer).
So I'm looking for an alternative board.
My search leads me to a NodeMcu even if I don't need the WiFi (I'm assuming I can disable the WiFi) or a DUE, or perhaps a MapleLeaf board (if I can verify the STM32F I2C has been fixed in the version they are using)
Typically I don't need a lot of I/O pins, I definitely need the I2C and a few general I/O pins.
Does anyone have any alternatives I've not mentioned or perhaps some experience with the Blue Pill that suggests I am over reacting?
Teensy 3.5 is an amazing 32-bit "Arduino" MCU. Although it isn't a native Arduino, it works with the Arduino IDE (and standard libraries). I use the T3.5 for nearly all my projects
The DUE I2C peripheral is capable if you program directly its registers AND handle a bus reset to recover from a timeout detected by the application (Unlike AVRs, the microcontroller of the DUE (Sam3x) has no hardware glitch filtering on the I2C bus).
You can find example sketches in the DUE sub forum for the I2C register programming of the 2 bus TWI0 and TWI1 plus a bus reset function, e.g.:
Note that the I2C library provided by arduino for this board (Wire.h) does not prevent bus locking and does not support the use of both TWI0 and TWI1 at the same time.
Atmel TWI compatibility with i2C Standard From Page 708, Sam3x datasheet:
I2C Standard Atmel TWI
Standard Mode Speed (100 KHz) Supported
Fast Mode Speed (400 KHz) Supported
7 or 10 bits Slave Addressing Supported
START BYTE(1) Not Supported
Repeated Start (Sr) Condition Supported
ACK and NACK Management Supported
Slope control and input filtering (Fast mode) Not Supported
Clock stretching Supported
Multi Master Capability Supported
Note: 1. START + b000000001 + Ack + Sr
The DUE I2C peripheral is capable if you program directly its registers AND handle a bus reset to recover from a timeout detected by the application (Unlike AVRs, the microcontroller of the DUE (Sam3x) has no hardware glitch filtering on the I2C bus).
Do you happen to know (or where I might look) if the SAM21D has hardware glitch filtering on the I2C (SERCOM) bus(s). Or if the drivers might handle this?