First of all when starting this endeavor the first question is: Which language to use. 

As Apache MyNewt is written in C, C, C++, Rust or Go would be reasonable choices.

So first, for this project, I'll start summing up the requirements and then add each candidate towards it's pro's and con's.

RequirementCC++RustGoLinks
Size of the binary must be as small as possible(plus)(plus)(plus)(plus)(plus)(plus) (when optimized)(minus) (Code for garbage collector)
Memory usage of the running program must be as small as possible(plus)(plus)(plus)(plus)(plus)(plus) (when optimized)(minus) (Memory for garbage collector)
The running program should be as optimized as possible in order to use less CPU cycles(plus)(plus)(plus)(plus)(plus)(plus)(minus) (CPU time for garbage collector)
We must be able to integrate the application on Apache MyNewt(plus)(plus)(question) (Need C wrappers for this)(question) (Need C wrappers for this)(question) (Probably need C wrappers for this)
As we will be using Thrift for communication with a PLC4X Master, Thrift support is required(minus) C (glib) (seems to require boost and possix, which is not available on MyNewt)(minus) C (glib) (seems to require boost and possix, which is not available on MyNewt)(plus)(plus)(plus)(plus)https://thrift.apache.org/docs/Languages
Build toolCMakeCMakeRust CargoGo (Integrated build tool)
It should be integrable into the Apache PLC4X Build(plus) (Using CMake Maven Plugin)(plus) (Using CMake Maven Plugin)(question) (Seems to require exec-maven-plugin to run command line scripts) (Seems to be Gradle plugins however)(plus) (Using mvn-golang-wrapper Maven Plugin)
IDE Support should help writing code(plus)(plus)(plus)(plus)(plus)(plus)(plus)
Should support Unit-Testing(plus) (Using CMake CTest)(plus) (Using CMake CTest)(plus)(plus) Built into the tool(plus)(plus) Built into the tool

Conclusion:

It seems Rust would be a good candidate, followed by C++ and C. Go I would like to completely keep out of this endeavour.

However I think I'll start implementing the model, parsers and serializers in C as the Java counterparts are structurally very similar and C is: a) Well established b) I know it c) Integration into the build works d) I can use them in any other C-based language (wink) (Also C++, Rust and Golang)

Update: 03.04.2020

I finished setting up a PLC4C module in the normal PLC4X build which uses CMake to build a C11 application as well as tests and run these integrated into the maven phases:

While talking to Julian Feinauer I mentioned my dilemma with Thrift not being a good candidate for the communication to my Embedded client. He suggested gRPC which seems to pretty lightweight and binary with the option to secure communication using TLS and alike. Unfortunately I couldn't find a true C-type implementation. However looking at some gRPC packets in WireShark it seems that it shouldn't be a problem to generate a client using our code-generator. All we need for this is an MSPEC for gRPC. I think this is the most promising path as it doesn't make us depend on another solution which itself might again require third party tools.


Apache MyNewt

Everything in MyNewt is built with the projects own build tool "Newt" this can be built locally.

The mynwet core module is a set of libraries that can be used by applications. So it's not built itself.

Inside the mynewt core libary there are some interesting parts where I had to find out what they mean first:

For this project I will be needing:

Suitable Hardware (Only MyNewt supported devices listed on the website):





MyNewt modulesCPU and memory specs

ConnectorsConnectivityBus TypesI/O

DevicePicturePrice rangeDimensionsTested with MyNewt 1.8.0bspmcuChipCpu SpeedUltra Low Power

crypto

Ram

Flash

SDPowerArduino Uno Style ConnectorsArduino Nano Style ConnectorsAdafruit Feather ConnectorsRaspberry Pi ConnectorsmikroBUS
Connectors
Ethernet 100/10MBitWifi

LoRaWan support

Sigfox support6LoWPAN supportZigBee supportBluetoothBluetooth Low Energy NFCInfraredSPII²CI²SUSBCANUARTDigitalAnalogSensorsDatasheetRemarks




































InputOutputInputOutputMagnetometerAccelerometerBarometerHumidityTemperatureOther

Adafruit nRF52 Feather

25€ - 30€51x23x8mm(question)ada_feather_nrf52

nrf52xxx


64 MHz(tick)(minus)64 KB512 KB(minus)

1,7 - 3,3V

(minus)(minus)(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)(tick)(minus)(minus)(tick)(tick)(minus)(tick)(minus)(minus)1919 (12 PWM)8 (12 bit)(minus)(minus)(minus)(minus)(minus)(minus)
https://learn.adafruit.com/introducing-the-adafruit-nrf52840-featherSeems out of stock at Adafruit

Adafruit Feather STM32F405

22€ - 30€52x23x10mm(question)ada_feather_stm32f405

stm32f4xx

STM32F405 168MHz(minus)(minus)192 KB (128 KB general usage)1 MB (Additional 2 MB SPI Flash)(tick)3,3V (Most pins 5V compliant)(minus)(minus)(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)(tick) 2(tick) (tick)(minus)(tick)14 (general purpose)14 (general purpose)62(minus)(minus)(minus)(minus)(minus)
https://learn.adafruit.com/adafruit-stm32f405-feather-expressSeems out of stock at Adafruit

Apollo 2 Evaluation board

55€???(question)apollo2_evb

nrf52xxx


48 MHz(tick)(minus)256 KB1 MB(minus)1,8 - 3,6V(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)(tick)(minus)(minus)(tick) 6 master / a slave(tick) 6 master / a slave(tick) slave(tick)(minus)(tick) 2(question)(question)(question)15 (14 bit)(minus)(minus)(minus)(minus)(minus)
https://www.ambiqmicro.com/static/mcu/files/Apollo2_MCU_Data_Sheet_rev1p1.pdfPretty difficult to find specs on as well as shops for purchassing

Arduino Primo

40€68x53mm (question)arduino_primo_nrf52

nrf52xxx

STM32F103RBT6

nRF52832 (Arduino)

ESP8266 (Wifi)


(tick)/(minus)(minus)

20 KB

64 KB

8 MB / 12 MB

64 KB

512 KB

4 MB

(minus)3,3V(tick)(minus)(minus)(minus)(minus)(minus)(tick)(minus)(minus)(minus)(minus)(tick)(tick)(tick)(tick)(tick)(tick)(minus)(tick)(minus)(tick)1414 (12 PWM)6(minus)(minus)(minus)(minus)(minus)(minus)
https://store.arduino.cc/arduino-primoSeems to be Retired

B-L072Z-LRWAN1

50€106x65mm (Without Antenna)(tick)b-l072z-lrwan1

stm32l0xx

STM32L072CZ32 MHz (max)(tick)(minus)20KB196KB(minus)

3,3V
5V
7 - 12V

(tick)(minus)(minus)(minus)(minus)(minus)(minus)(tick) sx1276(tick)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 6(tick) 3(tick)(tick)(minus)(tick)161613 (12 bit)2(minus)(minus)(minus)(minus)(minus)

https://www.st.com/en/evaluation-tools/b-l072z-lrwan1.html

https://os.mbed.com/platforms/ST-Discovery-LRWAN1/


B-L475E-IOT01A

50€ - 60€72x41x9mm(tick)b-l475e-iot01a

stm32l4xx

STM32L480 MHz (max)(tick)(minus)128KB1MB(minus)
(tick)(minus)(minus)(minus)(minus)(minus)(tick)(minus)(minus)(minus)(minus)(tick)(tick)(minus)(minus)(tick)(tick)(minus)(tick)

(minus)

(tick)(question)(question)(question)(question)(tick) (3 axis)(tick) (tick) (tick) (tick) 2 Microphones
Time-Of-Flight gesture-detection sensor
https://www.st.com/content/ccc/resource/technical/document/data_brief/group1/ab/8e/cb/09/e6/fc/42/9a/DM00347837/files/DM00347837.pdf/jcr:content/translations/en.DM00347837.pdf

BBC Microbit

15€ - 20€43x52mm(question)bbc_microbit

nrf51xxx

Nordic nRF5182216 MHz(tick)(minus)16 KB256 KB(minus)4,5 - 5,25V(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)(tick)(minus)(minus)(tick)(tick)(minus)(tick)(minus)(tick)11 (general purpose)11 (general purpose)6(minus)(tick) (3 axis)(tick) (minus)(minus)(minus)

https://en.wikipedia.org/wiki/Micro_Bit

https://microbit-micropython.readthedocs.io/en/latest/pin.html


Black VET6 STM32F407VET6 Board

8€ - 14€140x140x20mm(question)black_vet6

stm32f4xx

STM32F407VET6168 MHz(minus)(minus)192 KB512KB(tick)1,8 - 3,6V(minus)(minus)(minus)(minus)(minus)(tick) (with LAN8720 addon borad)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 3(tick) 3(tick) 2(tick)(tick) 2(tick) 4828216 (12 bit)2(minus)(minus)(minus)(minus)(tick) 

https://os.mbed.com/users/hudakz/code/STM32F407VET6_Hello/shortlog/

https://www.st.com/resource/en/datasheet/dm00037051.pdf


Waveshare BLE400 module

20€95x55mm(question)ble400

nrf51xxx

Nordic nRF5182216 MHz(tick)(minus)16 KB256 KB(minus)

1,8 - 3,5V

3,3 - 5V

(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)(tick)(minus)(minus)(tick)(tick)(minus)(tick)(minus)(tick)0000(minus)(minus)(minus)(minus)(minus)
https://www.waveshare.com/wiki/BLE400Seems to need extension boards for connectivity

Bluepill stm32f103c8 board

1€ - 2,5€53x23mm(tick) bluepill

stm32f1xx

STM32F103C8T672 MHz(tick)(minus)20 KB64 KB(minus)3,3 - 5V(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 2(tick) 2(minus)(tick)(tick)(tick)32 (general purpose)32 (general purpose)100(minus)(minus)(minus)(minus)(minus)
https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html
http://stefanfrings.de/stm32/stm32f1.html

Rigado BMD-200 evaluation board

67€60x38mm(question)bmd200

nrf51xxx

Nordic nRF5182216 MHz(tick)(minus)32/16 KB256 KB(minus)1,8 - 3,6V(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 4,1(tick)(minus)(minus)(tick)(tick)(minus)(tick)(minus)(tick)14 (general purpose)

14 (general purpose)

80(minus)(tick) (3 axis)(minus)(minus)(minus)Ambient Light Sensor

https://www.u-blox.com/sites/default/files/BMD-200_DataSheet_%28UBX-19034211%29.pdf


Rigado BMD-300 evaluation board

71€ - 96€82x56mm(question)bmd300eval

nrf52xxx

Nordic nRF5283232 MHz(tick)(tick) (AES)64 KB512 KB(minus)1,8 - 3,6V
5V
(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) (tick)(tick) (NFC-A Tag)(minus)(tick) 3(tick) 2(tick)(tick)(minus)(tick)

32 (general purpose)

32 (general purpose)80(minus)(minus)(minus)(minus)(tick)

https://static6.arrow.com/aropdfconversion/256180123cae20d70285aad4c64045e941233a1a/bmd-300-eval-kit-user-guide.pdf

https://www.u-blox.com/sites/default/files/BMD-300_DataSheet_%28UBX-19033350%29.pdf


Calliope Mini

33€ - 40€ 85x85x13mm(question)calliope_mini

nrf51xxx

Nordic nRF5182216 MHz(tick)(minus)16 KB256 KB(minus)3,3V(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 4,0(tick)(minus)(minus)(tick)(tick)(minus)(tick)(minus)(tick)11 (general purpose)11 (general purpose) ((question) PWM)40(tick) (tick) (minus)(minus)(minus)
  • Microphone
  • Piezo Speaker
  • 5x5 led matrix
https://calliope.cc/media/pages/calliope-mini/technische-daten/933629563-1581514273/2020_tech-sheet.pdf

Creator Ci40

70€100x106mm(question)ci40

danube

cXT200550 MHz(minus)(minus)256 MB512 MB(tick)5V
9V
(minus)(minus)(minus)(tick)(minus)(tick)(tick)(minus)(minus)(tick)(minus)(tick) 4.1(minus)(minus)(minus)(tick)(tick) 2
(tick)
(tick) 232 (general purpose)32 (general purpose) (4 PWM)50(minus)(minus)(minus)(minus)(minus)
  • TPM Chip
  • Audio In/Out
    • Analog 3,5mm
    • Digital S/PDIF 

https://docs.rs-online.com/822b/0900766b815516a4.pdf

https://en.wikipedia.org/wiki/Imagination_Creator

Seems quite oversized for this project

Dialog DA1469x PRO development kit



(tick) dialog_da1469x-dk-pro

da14699









(tick)






























Couldn't find any place to purchase this kit

DWM1001 Development Kit

43€ - 62€62x43mm(question)dwm1001-dev

nrf52xxx

Nordic nRF5283264 MHz(tick)(minus)64 KB512 KB(minus)2,8 - 3,6V
3,6V - 5.5V
(minus)(minus)(minus)Low(tick) (minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) (tick) (minus)(minus)(tick) 2(tick)(minus)(tick)(minus)(tick) 24 (general purpose)24 (general purpose)00(minus)(tick) (minus)(minus)(minus)
https://www.decawave.com/wp-content/uploads/2019/01/DWM1001-DEV_Datasheet-1.2.pdf
https://www.decawave.com/sites/default/files/dwm1001_system_overview.pdf
https://infocenter.nordicsemi.com/pdf/nRF52832_PS_v1.4.pdf

embarc emsk Development Kit

182€
(question)embarc_emsk

snps



(minus)
128 MB2 MB(tick)















(tick)(tick)


(tick)










Seems to be/have an FPGA

Fanstel EV-BT840(E)


56€
(question) (not even listed)fanstel-ev-bt840

nrf52xxx

Nordic nRF52840

64 MHz(tick)(tick) (AES)265 KB1 MB(minus)1,7V - 5,5V(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)(tick) 5.0(tick)(tick) (NFC-A Tag)(minus)(tick) 4(tick) 2(tick)
(minus)(tick) 448 (general purpose) 48 (general purpose) (16 PWM)8 (12 bit)0(minus)(minus)(minus)(minus)(tick)

https://www.fanstel.com/bt840e
https://static1.squarespace.com/static/561459a2e4b0b39f5cefa12e/t/5e0253637645b07c0614ec18/1577210730559/BT840F_datasheets.pdf
https://infocenter.nordicsemi.com/index.jsp?topic=%2Fps_nrf52840%2Fkeyfeatures_html5.html


FRDM-K64F

49€81x53mm(tick)frdm-k64f

MK64F12

MK64FN1M0VLL12120 MHz(tick)(tick)256KB1MB(tick)3,3V
5-9V
(tick)(minus)(minus)(minus)(minus)(tick)(minus)(minus)






(tick)  3 (2)(tick)  3 (2)(tick) (0)(tick) 2(tick)(tick)  6 (5)40 (general purpose)40 (general purpose) (16 PWM)24 (12 bit)24 (12 bit)(tick)(tick)(minus)(minus)(minus)
https://www.nxp.com/design/development-boards/freedom-development-boards/mcu-boards/freedom-development-platform-for-kinetis-k64-k63-and-k24-mcus:FRDM-K64F
https://os.mbed.com/platforms/FRDM-K64F/

HiFive1 board (revB)

70€68x51mm(tick) hifive1

fe310

SiFive E31

320 MHz(minus)(minus)8+16 KB4MB(minus)1,8V
3,3V
7-12V
(minus)(minus)(minus)(minus)(minus)(minus)(tick)(minus)(minus)(minus)(minus)(tick)(minus)(minus)(minus)(tick) 1 (3 CS Pins)(tick)(minus)(tick)(minus)(tick) 21919 (9 PWM)







https://www.sifive.com/boards/hifive1
https://sifive.cdn.prismic.io/sifive%2F3d777659-a0dd-49ed-a011-5bebba17aecf_fe310-g002-ds.pdf


ublox EVK-NINA-B1xx




70€
10€ (chip)

(question)

10x14mm (chip)

(question)nina-b1

nrf52xxx

Nordic nRF5283264 MHz(tick)(minus)64KB512KB(minus)





(minus)(minus)(minus)(minus)(minus)(minus)(tick) 5.0(tick)(minus)(minus)(tick)(tick)(minus)(tick)(minus)(tick)7 (general purpose)7 (general purpose)80(minus)(minus)(minus)(minus)(minus)
https://www.u-blox.com/en/product/evk-nina-b1?lang=de
https://www.u-blox.com/en/product/nina-b1-series-open-cpu
NINA-B111 and B112 are super-mini cpus

Nordic nRF51 DK


33€(question)(tick) nordic_pca10028

nrf51xxx

Nordic nRF5182216 MHz(tick)(tick) (AES)16 KB256 KB(minus)3V (bat.)
5V (usb)
(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)(tick)(minus)(minus)(tick)

(tick)(minus)(tick)31 (general purpose)31 (general purpose)(question) (10 bit)0(minus)(minus)(minus)(minus)(tick)
https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF51-DK
nRF51822https://www.nordicsemi.com/-/media/Software-and-other-downloads/Product-Briefs/nRF51822-product-brief.pdf?la=en&hash=A4B5A9AA6675A58F7B779AF81C860CD69EB867FD

Nordic nRF51 DK (16k)



(question)nordic_pca10028-16k

nrf51xxx

Nordic nRF5182216 MHz(tick)(tick) (AES)16 KB256 KB(minus)3V (bat.)
5V (usb)
(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)(tick)(minus)(minus)(tick)

(tick)(minus)(tick)31 (general purpose)31 (general purpose)(question) (10 bit)0(minus)(minus)(minus)(minus)(tick)
https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF51-DK
nRF51822https://www.nordicsemi.com/-/media/Software-and-other-downloads/Product-Briefs/nRF51822-product-brief.pdf?la=en&hash=A4B5A9AA6675A58F7B779AF81C860CD69EB867FD

Nordic nRF52 DK

42€
(tick) nordic_pca10040

nrf52xxx

Nordic nRF5283264 MHz(tick)(minus)64KB512KB(minus)1,7-3V (bat.)
5V (usb)
(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 5.0(tick)(tick) (NFC-A Tag)(minus)(tick)(tick)(tick) (52832)(tick)(minus)(tick)32 (general purpose)31 (general purpose) ((question) PWM)(question) (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://www.nordicsemi.com/-/media/Software-and-other-downloads/Product-Briefs/nRF52-DK-product-brief.pdf?la=en&hash=01C23BC9A39B642EF150702065B7673E430EBE05
https://www.nordicsemi.com/-/media/Software-and-other-downloads/Product-Briefs/nRF52832-product-brief.pdf?la=en&hash=2F9D995F754BA2F2EA944A2C4351E682AB7CB0B9

Nordic nRF52840 DK

52€
(tick) nordic_pca10056

nrf52xxx

Nordic nRF5284064MHz(tick)(tick) (AES)256KB1MB(minus)1,7-3V (bat.)
5V (usb)
(tick)(minus)(minus)(minus)(minus)




(tick)(tick) 5.0(tick)(tick) (NFC-A Tag)(minus)(tick) 4(tick) 2(tick) (tick) (real USB)(minus)(tick) 248 (general purpose)48 (general purpose)(question) (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://www.nordicsemi.com/Software-and-tools/Development-Kits/nRF52840-DK
https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52840

Nordic Thingy:52

45€60x60mm(question)nordic_pca20020

nrf52xxx

Nordic nRF5283264 MHz(tick)(minus)64KB512KB(minus)Included Li-Po Batery(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 5.0(tick)(tick) (NFC-A Tag)(minus)(tick)(tick)(tick) (52832)(tick)(minus)(tick)32 (general purpose)31 (general purpose) ((question) PWM)(question) (12 bit)0(minus)(tick) (9 axis)(tick) (tick) (tick) 
  • Air Quality/Gas Sensor
  • Color Sensor
  • Speaker
  • Microphone
https://www.nordicsemi.com/Software-and-tools/Prototyping-platforms/Nordic-Thingy-52

Arduino 101




(question)nrf51-arduino_101

nrf51xxx









































Arduino 101 powered by Intel Curie which integrates an nRF51822

Product is retired

RedBearLabs BLE Nano



(question)nrf51-blenano

nrf51xxx

Nordic nRF5182216 MHz(tick)(tick) (AES)16 KB256 KB(minus)1,8-3,3V
5V
(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 4.1(tick)(minus)(minus)(tick)(minus)(minus)(tick) (usb dongle)(minus)(tick)8860





https://os.mbed.com/platforms/RedBearLab-BLE-Nano/Manufacturer website offline and out of stock everywhere

Nucleo F030R8

12-20€83x70mm(tick) nucleo-f030r8

stm32f0xx

STM32F030R8T648 MHz(tick)(minus)8 KB64 KB(minus)2,4-3,6V
5V
(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 2(tick) 2(minus)
(minus)(tick) 655 (general purpose)55 (general purpose) 16 (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://www.st.com/resource/en/data_brief/nucleo-f030r8.pdf 
https://www.st.com/en/evaluation-tools/nucleo-f030r8.html

Nucleo F072RB

16-20€83x70mm(tick) nucleo-f072rb

stm32f0xx

STM32F072RBT648 MHz(tick)(minus)16 KB128 KB(minus)2,4-3,6V
5V
(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 2(tick) 2(minus)
(minus)(tick) 655 (general purpose)55 (general purpose) 16 (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://www.st.com/resource/en/data_brief/nucleo-f030r8.pdf 
https://www.st.com/en/evaluation-tools/nucleo-f030r8.html

Nucleo F103RB

16-20€83x70mm(tick) nucleo-f103rb

stm32f1xx

STM32F103RBT672 MHz(tick)(minus)20 KB128 KB(minus)2,4-3,6V
5V
(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 2(tick) 2(minus)
(minus)(tick) 655 (general purpose)55 (general purpose)16 (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://www.st.com/resource/en/data_brief/nucleo-f030r8.pdf 
https://www.st.com/en/evaluation-tools/nucleo-f030r8.html

Nucleo F303K8

12€50x19mm(tick) nucleo-f303k8

stm32f3xx

STM32F303K8T672 MHz(tick)(minus)16 KB64 KB(minus)2,4-3,6V
5V
(minus)(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) (tick) (tick)(tick)(tick)(tick) 222 (general purpose)22 (general purpose)8 (12 bit)2 (12 bit)(minus)(minus)(minus)(minus)(minus)
https://www.st.com/resource/en/data_brief/nucleo-f303k8.pdf
https://www.st.com/content/ccc/resource/sales_and_marketing/promotional_material/brochure/fa/7d/6f/b6/8e/c5/4e/b1/brstm32f3.pdf/files/brstm32f3.pdf/jcr:content/translations/en.brstm32f3.pdf

Nucleo F303RE

14€83x70mm(question)nucleo-f303re

stm32f3xx

STM32F303RET672 MHz(tick)(minus)80 KB512 KB(minus)

2,4-3,6V
5V
7-12V

(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) (tick) (tick)(tick)(tick)(tick) 255 (general purpose)55 (general purpose)16 (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://www.st.com/resource/en/user_manual/dm00105823-stm32-nucleo64-boards-mb1136-stmicroelectronics.pdf

Nucleo F401RE

14€83x70mm(tick) nucleo-f401re

stm32f4xx

STM32F401RET6U84 MHz(tick)(minus)96 KB512 KB(minus)

2,4-3,6V
5V
7-12V

(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) (tick) (minus)(tick) (tick) (tick) 55 (general purpose)55 (general purpose)16 (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://www.st.com/resource/en/data_brief/nucleo-f401re.pdf
https://www.st.com/resource/en/user_manual/dm00105823-stm32-nucleo64-boards-mb1136-stmicroelectronics.pdf

Nucleo F411RE


19€83x70mm(tick) nucleo-f401re

stm32f4xx

STM32F411RET6U100 MHz(tick)(minus)128 KB512 KB(minus)

2,4-3,6V
5V
7-12V

(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) (tick) (minus)(tick) (tick) (tick) 55 (general purpose)55 (general purpose)16 (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://www.st.com/resource/en/data_brief/nucleo-f411re.pdf
https://www.st.com/content/ccc/resource/sales_and_marketing/promotional_material/flyer/d2/06/5c/20/25/28/42/ff/flstm32nucleo.pdf/files/flstm32nucleo.pdf/jcr:content/translations/en.flstm32nucleo.pdf

Nucleo F413ZH

22€133x70mm(tick) nucleo-f413zh

stm32f4xx

STM32F413ZHT6U100 MHz(tick)(minus)320 KB1,5 MB(minus)

2,4-3,6V
5V
7-12V

(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)  5(tick) 4(tick)  5(tick) (tick) 3(tick)  1073 (general purpose)73 (general purpose)90(minus)(minus)(minus)(minus)(minus)
https://www.st.com/resource/en/data_brief/nucleo-f413zh.pdf
https://www.st.com/content/ccc/resource/sales_and_marketing/promotional_material/flyer/d2/06/5c/20/25/28/42/ff/flstm32nucleo.pdf/files/flstm32nucleo.pdf/jcr:content/translations/en.flstm32nucleo.pdf

Nucleo F439ZI

26€133x70mm(tick)nucleo-f439zi

stm32f4xx

STM32F439ZIT6U180 MHz(minus)(tick) crypto_stm32
(available)
256KB2MB(minus)2,4-3,6V
5V
7-12V
(tick)(minus)(minus)(minus)(minus)(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)  (tick) (tick)  (tick) (tick) (tick) 73 (general purpose)73 (general purpose)90(minus)(minus)(minus)(minus)(minus)

https://www.st.com/resource/en/data_brief/nucleo-f439zi.pdf
https://www.st.com/resource/en/user_manual/dm00244518-stm32-nucleo144-boards-stmicroelectronics.pdf


Nucleo F746ZG

26€133x70mm(question)nucleo-f746zg

stm32f7xx

STM32F746ZGT6U216 MHz(minus)(tick) crypto_stm32 (available)320KB1MB(minus)2,4-3,6V
5V
7-12V
(tick)(minus)(minus)(minus)(minus)(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)  (tick) (tick)  (tick) (tick) (tick) 73 (general purpose)73 (general purpose)90(minus)(minus)(minus)(minus)(minus)

https://www.st.com/content/ccc/resource/sales_and_marketing/promotional_material/flyer/d2/06/5c/20/25/28/42/ff/flstm32nucleo.pdf/files/flstm32nucleo.pdf/jcr:content/translations/en.flstm32nucleo.pdf
https://www.st.com/resource/en/data_brief/nucleo-f746zg.pdf
https://www.st.com/resource/en/user_manual/dm00105928-getting-started-with-stm32-nucleo-board-software-development-tools-stmicroelectronics.pdf


Nucleo F767ZI 

26€133x70mm(tick)nucleo-f767zi

stm32f7xx

STM32F767ZIT6U216 MHz(minus)(minus)512KB2MB(minus)2,4-3,6V
5V
7-12V
(tick)(minus)(minus)(minus)(minus)(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)  (tick) (tick)  (tick) (tick) (tick) 73 (general purpose)73 (general purpose)90(minus)(minus)(minus)(minus)(minus)
https://www.st.com/content/ccc/resource/sales_and_marketing/promotional_material/flyer/d2/06/5c/20/25/28/42/ff/flstm32nucleo.pdf/files/flstm32nucleo.pdf/jcr:content/translations/en.flstm32nucleo.pdf

Nucleo L476RG

16€83x70mm(tick) nucleo-l476rg

stm32l4xx

STM32L476RGT6U

80 MHz(tick)(minus)128 KB1 MB(minus)2,4-3,6V
5V
7-12V
(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) (tick) 

(minus)

(tick) (tick) (tick) 55 (general purpose)55 (general purpose)16 (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://www.st.com/resource/en/data_brief/nucleo-l476rg.pdf
https://www.st.com/resource/en/user_manual/dm00105928-getting-started-with-stm32-nucleo-board-software-development-tools-stmicroelectronics.pdf

Olimex STM32-P103

20€100x90mm(tick)olimex-p103

stm32f1xx

STM32F103RBT672 MHz(minus)(minus)20KB128KB(tick)5V
6V
(minus)(minus)(minus)(minus)(minus)(tick) (with MOD-ENC28J60 UEXT addon board)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)  2(tick)  2(minus)(tick) (tick) (tick)  351 (general purpose)51 (general purpose)2 (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://www.olimex.com/Products/ARM/ST/STM32-P103/
https://www.olimex.com/Products/ARM/ST/STM32-P103/resources/STM32-P103.pdf

Olimex STM32-E407

30€101x86mm(tick)olimex_stm32-e407_devboard

stm32f4xx

STM32F407ZGT6168MHz(minus)(minus)195KB1MB(tick)6-16V(tick) (not soldered)(minus)(minus)(minus)(minus)(tick) (Potentially second Ethernet with MOD-ENC28J60 UEXT addon board)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 3(tick) 3(minus)(tick)(tick) 2(tick) 4114 (general purpose)114 (general purpose)3 (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware
https://www.olimex.com/Products/ARM/ST/STM32-E407/resources/STM32-E407.pdf

Potentially second Ethernet with UEXT

P-NUCLEO-WB55 board

49€70x65mm (board)
50x26mm (dongle)
(tick) p-nucleo-wb55

stm32wbxx

STM32WB64 Mhz (dual core)(tick)(minus)128 KB1 MB(minus)5V(tick) (board)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 5.0(tick)(minus)(minus)(tick)(tick)(minus)(tick)(minus)(tick)9 (general purpose)9 (general purpose)60(minus)(minus)(minus)(minus)(minus)
https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html
https://www.st.com/resource/en/user_manual/dm00517423-bluetooth-low-energy-and-802154-nucleo-pack-based-on-stm32wb-series-microcontrollers-stmicroelectronics.pdf
Bundle of a board and a dongle with the same STM32 chips

Digilent: Wi-FIRE: WiFi Enabled PIC32MZ Microcontroller Board

73€
(question)pic32mz2048_wi-fire

pic32mz2048efg100

PIC32MZ2048EFG100200 MHz(minus)(minus)512 KB2 MB(tick)

4-30V

(minus)(minus)(minus)(minus)(minus)(minus)(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 6(tick) 5(minus)(tick)(minus)(tick) 643 (general purpose)43 (general purpose)12 (10 bit)0(minus)(minus)(minus)(minus)(minus)
https://store.digilentinc.com/wi-fire-wifi-enabled-pic32mz-microcontroller-board/
https://reference.digilentinc.com/reference/microprocessor/wi-fire/reference-manual?_ga=2.247851591.1122965972.1586722353-1761803863.1586360803

Curiosity PIC32MX470 Development Board

25€
(question)

pic32mx470f512h

PIC32MX470512H120 MHz(minus)(minus)128 KB512 KB(minus)5V(minus)(minus)(minus)(minus)(tick) 2(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 2(tick) 2(minus)(minus)(minus)(tick) 20000(minus)(minus)(minus)(minus)(minus)
https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/DM320103#additional-summaryPotentially 2 ethernet clickboards

6LoWPAN Clicker board

31€76x32mm(question)pic32mx470_6lp_clicker

pic32mx470f512h

PIC32MX470F512H120 MHz(minus)(minus)128 KB512 KB(minus)5V(minus)(minus)(minus)(minus)(tick)(minus)(minus)(minus)(minus)(tick)(minus)(minus)(minus)(minus)(minus)(tick) 4(tick) 5(tick) 4(tick)(minus)(tick) 60000(minus)(minus)(minus)(minus)(minus)
https://download.mikroe.com/documents/starter-boards/clicker/6lowpan/6lowpan-clicker-manual-v100.pdf

Pine64 PineTime smartwatch

23€38x40mm(question)pinetime

nrf52xxx

Nordic nRF5283264 MHz(tick)(minus)64 KB512 KB(minus)5V (charging)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 5.0(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)0000(minus)(tick)(minus)(minus)(minus)
  • Heart Rate Sensor
  • Vibrator
https://store.pine64.org/?product=pinetime-dev-kitThis is actually a watch

Espruino puck.js

35€36x36x16mm(question)puckjs

nrf52xxx

Nordic nRF5283264 MHz(tick)(minus)64 KB512 KB(minus)3V (CR2032 batery)(minus)(minus)(minus)(minus)
(minus)(minus)(minus)(minus)(minus)(minus)(tick) (tick)(tick) (NFC-A Tag)(tick)(tick)(tick)(minus)(minus)(minus)(tick)17 (general purpose)17 (general purpose)50(tick)(minus)(minus)(minus)(tick) 
  • Light sensor
https://shop.espruino.com/puckjs
http://www.espruino.com/Puck.js

Red Bear Labs blend2 module




(question)rb-blend2

nrf52xxx









































Retired

Red Bear Labs nano2 module




(question)rb-nano2

nrf52xxx









































Retired

Reel Board

49€
(tick) reel_board

nrf52xxx

Nordic nRF52840

64 MHz(tick)(minus)256 KB1 MB(minus)1,5V (battery)
5V (usb)

(tick) (link board BASE)

(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)(minus)(tick) (tick) (minus)(minus)(tick)(tick)(minus)(tick)(minus)(tick)3 (general purpose)3 (general purpose)00(minus)(tick)(minus)(tick)(tick)
  • On-Board E-Paper Display
  • Light sensor
https://www.phytec.de/produkt/internet-of-things/reelboard/
https://docs.zephyrproject.org/latest/boards/arm/reel_board/doc/index.html

RuuviTag rev B

29€52x52x13mm(tick) ruuvitag_rev_b

nrf52xxx

Nordic nRF5283264 MHz(tick)(minus)64 KB512 KB(minus)3V (battery CR2477)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 5(tick) 4.2 (tick) (NFC-A Tag)(minus)(minus)(minus)(minus)(minus)(minus)(minus)0000(minus)(tick)(tick)(tick)(tick)
https://ruuvi.com/files/ruuvitag-tech-spec-2019-7.pdf

STM32F3 Discovery

(Digital Compass)

14€97x66mm(tick) stm32f3discovery

stm32f3xx

STM32F303VCT675 MHz(minus)(minus)48 kB256 KB(minus)3V 
5V
(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 3(tick)(minus)(tick)(minus)(tick)



(tick)(tick)(minus)(minus)(minus)
  • 8 LEDs like a compass
https://www.st.com/resource/en/data_brief/stm32f3discovery.pdf
https://www.st.com/resource/en/user_manual/dm00063382-discovery-kit-with-stm32f303vc-mcu-stmicroelectronics.pdf

STM32F4 Discovery (Audio)

23-28€97x66mm(tick) stm32f4discovery

stm32f4xx

STM32F407VG168 MHz(minus)(minus)192 KB1 MB(minus)3V 
5V
(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 3(tick) 3(tick) 2(tick)(tick) 2(tick) 254 (general purpose)54 (general purpose)32(minus)(tick)(minus)(minus)(minus)
  • Audio out
  • Microphone
https://www.st.com/resource/en/data_brief/stm32f4discovery.pdf
https://www.st.com/resource/en/user_manual/dm00039084-discovery-kit-with-stm32f407vg-mcu-stmicroelectronics.pdf
https://www.st.com/en/microcontrollers-microprocessors/stm32f407vg.html

STM32F746G Discovery (Audio + Touchscreen)

63-90€97x66mm(question)stm32f7discovery

stm32f7xx

STM32F746NGH6

216 MHz

(minus)(minus)340KB1MB(tick)3V 
5V
(tick)(minus)(minus)(minus)(minus)(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 6(tick) 4(tick) 3(tick) (tick) 2(tick) 4



(minus)(minus)(minus)(minus)(minus)
  • 2 microphones
  • SPDIF input
  • Line in 
  • Speaker out
  • TFT Touchscreen
https://www.st.com/en/evaluation-tools/32f746gdiscovery.html
https://www.st.com/resource/en/data_brief/32f746gdiscovery.pdf
https://www.st.com/resource/en/user_manual/dm00190424-discovery-kit-for-stm32f7-series-with-stm32f746ng-mcu-stmicroelectronics.pdf
With Touchscreen

STM32F411 Discovery
(Audio)

23-28€97x66mm(tick) stm32f4discovery

stm32f4xx

STM32F407VG168 MHz(minus)(minus)192 KB1 MB(minus)3V 
5V
(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 3(tick) 3(tick) 2(tick)(tick) 2(tick) 254 (general purpose)54 (general purpose)32(minus)(tick)(minus)(minus)(minus)
  • Audio out
  • Microphone
https://www.st.com/resource/en/data_brief/stm32f4discovery.pdf
https://www.st.com/resource/en/user_manual/dm00039084-discovery-kit-with-stm32f407vg-mcu-stmicroelectronics.pdf
https://www.st.com/en/microcontrollers-microprocessors/stm32f407vg.html

STM32F429 Discovery
(TFT screen)

34-39€119x66mm(question)stm32f429discovery

stm32f4xx

STM32F429ZIT6180 MHz(minus)(minus)256 KB2 MB(minus)3V 
5V
(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) (tick)(minus)(tick)(minus)(tick)



(minus)(tick)(minus)(minus)(minus)
  • TFT Screen
https://www.st.com/en/evaluation-tools/32f429idiscovery.html#overview
https://www.st.com/resource/en/data_brief/32f429idiscovery.pdf
https://www.st.com/resource/en/user_manual/dm00093903-discovery-kit-with-stm32f429zi-mcu-stmicroelectronics.pdf

STM32L152 Discovery
(LCD)

14€112x56mm(tick) stm32l152discovery

stm32l1xx

STM32L152RBT632 MHz(tick)(minus)16 KB128 KB(minus)3V 
5V
(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 2(tick) 2(minus)(tick) (minus)(tick) 



(minus)(minus)(minus)(minus)(minus)
  • LCD
  • Linear Touch Sensor
https://www.st.com/en/evaluation-tools/32l152cdiscovery.html
https://www.st.com/resource/en/data_brief/32l152cdiscovery.pdf
https://www.st.com/resource/en/user_manual/dm00027954-discovery-kits-with-stm32l152rct6-and-stm32l152rbt6-mcus-stmicroelectronics.pdf

Telenor EE-02

Open-Source Hardwar27x26x5mm(question)telee02

nrf52xxx

Nordic nRF5283264 MHz(tick)(tick) (AES)64 KB512 KB(minus)1,8 - 3,7V(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) (minus)(minus)(minus)(tick)(tick)(tick) (NFC-A Tag)(minus)(tick)(minus)(minus)(minus)(minus)(minus)16 (general purpose)16 (general purpose) (4 PWM)8 (12 bit)0(minus)(minus)(minus)(minus)(minus)
https://docs.exploratory.engineering/ee-02/
https://docs.exploratory.engineering/ee-02/ee02-pinout/
  • No connectors for Development on board
  • Open-Source Hardware

NXP USB KW41Z

55€
(question)usbmkw41z

mkw41z

Kinetis MKW41Z512

48 MHz(tick)(minus)128 KB512 KB(minus)5V(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)(minus)(tick) 4.2(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)0000(minus)(minus)(minus)(minus)(minus)
https://www.nxp.com/webapp/Download?colCode=USBKW41ZUG (Requires Login)
https://www.nxp.com/docs/en/fact-sheet/KNTSKW41Z31Z21ZFS.pdf

VNG VBLUno51

20€
(not sure as the price is in Vietnamese Đồng)

(question)vbluno51

nrf51xxx

Nordic nRF5182216 MHz(tick)(minus)32 KB256 KB(minus)

5V (USB)
3V (batery)
9-12V (Power adapter)

(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick)(tick)(tick) (tick)(minus)(minus)(tick) 1(tick) 2(minus)(tick)(minus)(tick)21 (general purpose)21 (general purpose)6 (10 bit)0(minus)(minus)(minus)(minus)(minus)
https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/boards/arm/nrf51_vbluno51/doc/index.html
https://vngiotlab.github.io/vbluno/

VNG VBLUno52




(question)vbluno52

nrf52xxx

Nordic nRF5283264 MHz(tick)(minus)64 KB512 KB(minus)5V (USB)
3V (batery)
9-12V (Power adapter)
(tick)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(minus)(tick) 5.0(tick) (tick) (NFC-A Tag)(minus)(tick)(tick)(tick)(tick)(minus)(tick)19 (general purpose)19 (general purpose)6 (10 bit)0(minus)(minus)(minus)(minus)(minus)
https://docs.zephyrproject.org/latest/boards/arm/nrf52_vbluno52/doc/index.html
https://docs.platformio.org/en/latest/boards/nordicnrf52/vbluno52.html
  • Couldn't find any picture
  • Couldn't find any place to buy it

Questions:

Ethernet Shields

Generally the most Ethernet Shields use SPI for communication with the backend. So any MyNewt Board capable of SPI (Guess all of them)

NameInterfaceSPI SpeedSPI ModesFull DuplexHalf DuplexTCPUDPNumber of Socket Connections
W5100SPI
0,3(tick)(tick)(tick)(tick)4
W5500SPI
0,3(tick)(tick)(tick)(tick)8
ENC28J60SPI20 MHz0(tick)(tick)(minus)(minus)Just ethernet supporthttp://ww1.microchip.com/downloads/en/DeviceDoc/39662e.pdf

One would think that it's ideal to use a board without any on-board Ethernet (Which would open a lot of possibilities for us) and to just stick 2 shields on top of each other, however this complicates things. SPI requires one dedicated line to each SPI device (Chip-Select). In the Arduino pinout there is only one pre-defined Chip-Select line available. So the usual solution is to use other digital pins as substitute for the chip-select. However this requires the driver to utilize this, but what's probably more difficult, we can't just stack two shields on top of each other as the chip-select pin of the board has to be re-directed to the chip-select pin of the shield. Perhaps it would be an option to cut off the direct pin of the SPI chip-select connector of the second shield and to jumper one of the others to the now unconnected one.

Setups

  1. Two Ethernet Ports (PoE on one port)
  2. One Ethernet Port, One LoRaWan device (Low Power MCU)
  3. One Ethernet Port, One Bluetooth Low Energy device (Low Power MCU)

Two Ethernet Ports

Using the Arduino Nano form factor:

Problems:

Using any development board exposing two separate SPI channels

In the end it's our goal to create a new PCB containing the PoE, Ethernet connectivity as well as the MCU, so it would be best to be able to actively choose the network device type. So perhaps not selecting one with an on-board Ethernet might be the best solution.

To avoid above problems, it might be better to use a development board which exposes more than one SPI port to it's external pins.

Ideally using a W5100 or even better a W5500 chip based solution (This seems to be the most standard solution.

For powering: A PoE Extractor that is connected to the Ethernet connector and the boards power supply

Hardware selection



Regarding communication every option will require one Ethernet Port, however for the second network adapter there is a number of options: Ethernet, WiFi, 6LoWPAN, BlueTooth Low Energy, LoRaWan

All of these communication forms have different use-cases and capabilities:

I see the following usage scenarios:

Regarding the MCUs, I have to admit that I have absolutely no idea how small I can go. So for the shopfloor scenarios I'll probably go for the higher performant STM32F models.
For the other two, I'll try the low energy options.

Memory wise, I'll probably go more for the 512 KB Flash versions of the STM32F models and the 64 MHz 

This results in the following matrix:

NameMCUCommAdditional Comm ChipBoardAdonsRemarks
Cabled ShopfloorSTM32F767ZIT6UEthernetW5500Nucleo F767ZI 
Highest performance MCU, Lots of Memory
Wireless ShopfloorSTM32F411RET6UWiFiW5500, SPWF01SANucleo F411RE

X-NUCLEO-IDW01M1 (WiFi)

Medium sized MCU, medium Memory
Wireless On-SiteNordic nRF52840BlueTooth Low EnergyW5500Nordic nRF52840 DK

Wireless Off-SiteSTM32L072CZLoRaWanW5500B-L072Z-LRWAN1

Order List:

Interesting Links:

Building MyNewt applications in rust: https://medium.com/@ly.lee/hosting-embedded-rust-apps-on-apache-mynewt-with-stm32-blue-pill-c86b119fe5f (Seems to make excessive use of "unsafe" code which sort of eliminates some of the benefits Rust brings us)

Performance comparison between C and Rust: https://kornel.ski/rust-c-speed

MBed TLS: https://tls.mbed.org/tech-updates/releases/mbedtls-2.13.0-2.7.6-and-2.1.15-released (Apache Licensed version available which also seems to use CMake for a build system)

Apache MxNewt SSL/TLS Library (Unfortunately GPLv2 licensed): https://www.wolfssl.com/wolfssl-apache-mynewt-port-2/

Protocol Buffer implementation for native C: https://github.com/nanopb/nanopb

Listing of boards and some details: https://docs.platformio.org/en/latest/boards/

Test results for boards with MyNewt versions1.8.0 Test Results