Testing Arduino code efficiency

Ya’akov

Joined Jan 27, 2019
9,164
Yeah if I did lots of other programming types having a single IDE might well be worth the learning curve. But I do Arduino compatible MCUs exclusively. I bought one by accident (Particle Core, formerly Spark Core) that isn't Arduino compatible (it was only $2 or $3 thankfully) and I'm probably just never going to end up using it. I do like how all the libraries are added to a project though so it's completely self-contained in VS, that makes stuff much more portable. But again, that mainly only matters for distribution or other professional scenarios. I use one computer for everything, so I don't need that sort of portability.
Partifcle's ecosystem is fantastic. Though you have to use their online IDE, it's really pretty good. There infrastructure and current pricing model are great. You get a console to manage all deployed devices and do OtA updates, and now if you buy one of the GSM devices a reasonably large amount of bandwidth for a few of them is free. If you haven't looked into the details, you should. For some projects it's really great stuff.

I have a few of them, both WIFi and GSM connected. I will be doing some mobile sensor stuff with them soon. I did a bunch of testing and I am very pleased.
 

Thread Starter

LikeTheSandwich

Joined Feb 22, 2021
164
Partifcle's ecosystem is fantastic. Though you have to use their online IDE, it's really pretty good. There infrastructure and current pricing model are great. You get a console to manage all deployed devices and do OtA updates, and now if you buy one of the GSM devices a reasonably large amount of bandwidth for a few of them is free. If you haven't looked into the details, you should. For some projects it's really great stuff.

I have a few of them, both WIFi and GSM connected. I will be doing some mobile sensor stuff with them soon. I did a bunch of testing and I am very pleased.
They don't officially support the Core anymore, just getting it up and running felt like a miracle. They've removed virtually all necessary documentation to run it from their website, it took me days to find the articles I needed to get it going. But the online IDE is exactly why I may not ever use it, I really have no IOT projects of any kind...or at least I didn't...ooohhh now I have an idea actually and the Core may just work fantastically for it!
 

Ya’akov

Joined Jan 27, 2019
9,164
They don't officially support the Core anymore, just getting it up and running felt like a miracle. They've removed virtually all necessary documentation to run it from their website, it took me days to find the articles I needed to get it going. But the online IDE is exactly why I may not ever use it, I really have no IOT projects of any kind...or at least I didn't...ooohhh now I have an idea actually and the Core may just work fantastically for it!
Yes, I am using the Electron and the Photon. The Core was very early. I am not too fond of the idea of an online IDE but it’s really not bad at all.

IoT will come after you, you don’t have to want it, it’s like a pursuer.
 

MrSalts

Joined Apr 2, 2020
2,767
All of those tricks are things you do when you need heavy math on math light hardware. If you need math use something (hardware math processing on 16 or 32-bit controllers) that handles full IEEE floats faster that a 8-bit controller can bit-shift so you can write structured math code instead of 1990's style bit tricks. It's 2022 guys.
True but many noobs (and even experienced people who should know better) think their little Arduino can do log-functions, square roots and division just as fast as addition and subtraction since there is no warning label on the Arduino IDE. Some use the "int" for a variable just because they need a number and don't understand the impact of doing that on an 8-bit processor or the possible tricks to get most everything they want with 8-bit variables.
 

nsaspook

Joined Aug 27, 2009
13,273
True but many noobs (and even experienced people who should know better) think their little Arduino can do log-functions, square roots and division just as fast as addition and subtraction since there is no warning label on the Arduino IDE. Some use the "int" for a variable just because they need a number and don't understand the impact of doing that on an 8-bit processor or the possible tricks to get most everything they want with 8-bit variables.
Even the 8-bit world has moved on. You can't get hard math but you can get decent DMA, vectored interrupts, 8*8 hardware multiply, computational 12-bit ADC and a host of hardware modules that blast through some of the 8-bit software tricks on the latest 8-bit hardware.

processor coremark
PIC18F97J60 1.28
PIC24FJ64GA004 24
PIC32MX360F512L 73
PIC24HJ128GP202 74
dspic33FJ256GP710A 75
PIC32MX795F512L 112
PIC32MZ 700
Arm Cortex-M7 1500

The problem is, lot's of library code is written for the lowest common denominator on hardware old enough to vote so the new hardware sits idle.

You can do RSA or SSL on a 8-bit controller using multi-precision integer arithmetic but one with a cryptographic coprocessor is so much better.
 
Last edited:
Top