Arduino Challenge - Alternatives to Micro Pro

Hi. I am having a bit of a challenge that I could use some advice on.

We have a prototype device which has a 5v pro micro at the heart of it. The entire device is powered by a 12v battery pack which powers the arduino (via raw) and the main peripheral (requires 12v) which is activated out of one of the Arduino pins via an FET. There are 5 button inputs, and the outputs are the FET activation (standard Pin high) and a 4 x 14-segment LED display (with backpack).

The choice of the larger & brighter LEDs is because the device may be operated from hip height and the operator needs to see the display easily plus it may be used outdoors (bright sunlight). The LEDs are also relatively inexpensive compared to a panel that would be large enough for our purpose.

The issue is that the unit is fairly feature rich in software and we are essentially out of memory in the pro micro And there is more to add. For example we’d like to add BTE to enable the device to be activated and run from a phone.

We’ve done all the usual things to reduce code/data usage - appropriately sized variables, arrays etc. We’ve even put the literals used to display info on the LEDs into EEPROM. We do use envisage continuing to use the USB port for code upgrades & unit diagnostics.

Is there another micro board we should be considering, preferably 5v compatible? I think 3.3v might be an issue with the LEDs. We’ve got some flexibility on space inside the unit so size may not be an issue so long as it is not too big. Also, the device is not a “wearable” so we are not constrained in that sense.

Thoughts?

I’ve hit that in some of my projects. In one, I split my design into two processors; one that handled the 5V peripherals, and the other that handled the heavy work and, in my case, WiFi, though it could have been bluetooth. You could, for example, use one Pro Micro for display and FET, and another processor for everything else, with a 3.3V/5V serial bus between them.

Assuming you’re limited mostly by the 32k of Flash, because it’s a Pro Micro some of the Flash is taken up by the bootloader and USB support. An Arduino Pro Mini with an FTDI chip attached, i.e. something like an Arduino Uno, may have more of that 32k of Flash available for your application. This may help, without having to change system voltage.

Most of the steps up into other processors drop the system voltage to 3.3V, because the CPUs themselves are designed and implemented with more modern fabrication process points (nanometres). Interfacing then involves a cascade of design changes, as you know. More level converters, perhaps. A FET driver chip perhaps.

Once you commit to 3.3V system voltage, your options are SAMD21, ESP32, Teensy, and a few others.

By the way, a software-serial, I²C, or SPI connection between two microcontrollers can often be made to work across the two system voltages (3.3V/5V) without any complicated level converters; just suitable resistors to ensure a 5V output pin does not overdrive a 3.3V input pin through the internal protective diodes.

Thank you for your help on this - I suspected I was heading in this direction.

I did find this small arduino (Beetle - https://www.littlebird.com.au/products/beetle-ble-the-smallest-arduino-bluetooth-4-0-ble). It happens to be 5V, with BLE. I am thinking of setting this up as an “input client” using I2C, handling 4 of the 5 buttons, plus BLE input. It doesn’t take raw 12V, but I could drop the voltage feed to the beetle or possibly take 5V off the Micro Pro if the Beetle does not consume too much power (a bit risky). Do you see any other issues?

I believe the LED backpack uses I2C, so I assume that I just need to ensure I do not have a conflict on the I2C address.

Looks possible. If there’s one, there may be another. If time is not of the essence, keep looking. List your ideal specifications, and find a product that matches.