Questions tagged [code-optimization]

The process of improving the efficiency of a program such that is uses less memory and/or less computational time.

Filter by
Sorted by
Tagged with
1 vote
1 answer
87 views

How to optimize checking for specific string in a UART stream

I want to check for specific string (like "RecordStart") in a UART stream (115 200 baud 8N1) from a camera, to know when it is recording or not/if there is an SD. I am using an ESP32-WROOM-...
AyubowanPro's user avatar
0 votes
2 answers
107 views

best practice for performance: empty loop() when using interrupt?

I'm working on a little midi hardware project and I'm using attachInterrupt() to assign a callback function to an interrupt pin. Nothing gets done in the loop function, so it looks like this: void ...
strudelkopf's user avatar
-1 votes
3 answers
123 views

Is there any way to efficiently code reading of four sensors and sending a serial output once it does detect a reading?

I am actually wondering if there's a way to efficiently do this block of code. There are two things in my specifications and these are: Four IR Sensors that detects blockage. Basically just to ...
fireblazer10's user avatar
4 votes
2 answers
323 views

How to cut down size of imported DigiKeyboard library

I'm working on a project with a Digispark ATTiny85, that performs keystrokes using the DigisparkKeyboard library (https://github.com/digistump/DigisparkArduinoIntegration/tree/master/libraries/...
emma.makes's user avatar
7 votes
4 answers
1k views

Optimizing code for ATtiny10

I'm trying to squeeze code onto an ATtiny10, but I'm just not getting there. I'm using 1060 bytes and only have space for 1024 bytes. The code is simple enough; I need to read a button pin. If high it ...
Earthbound Ruben's user avatar
2 votes
2 answers
1k views

How to swap byte order

Background I'm reading a 24-bit ADC value into a uint32. Using SPI bus, here's the logic: value = SPI.transfer(0); // read first 8 bits (MSB first) value <<= 8; // shift bits ...
hazymat's user avatar
  • 121
-2 votes
1 answer
281 views

How do I create a code that lets me use an array of 10 thermistors on one arduino?

I am new to programming and am trying to create an array of 10 thermistors on one arduino. So far I have found a code for Temperature Sensor Using NTC Thermistor that is only for one thermistor. How ...
Jen's user avatar
  • 1
0 votes
1 answer
899 views

Optimised random alphanumeric string generator

I'm trying to build arduino nonce generator, but the only thing I found is this question on arduino forum but I can't find out how to make it work for me. I checked and Serial.available() is always 0 ...
krystof18's user avatar
  • 315
1 vote
0 answers
62 views

How do I optimize this IRremote code?

I am using a ATTINY85 Digispark board with an IR receiver to light some LEDs in my project. The Digispark has a limitation that does not allow it to use the IRremote.h library. I know that there a ...
user3347814's user avatar
0 votes
1 answer
86 views

Parallel I/O - maybe use Machine code function call

I'm a newbie to arduino but been programming lots. I have a project where I would like to output 4 bits to adjacent pins and read 4 bits from another (4) adjacent pins. (Imagine a matrix keyboard ...
Dave's user avatar
  • 11
1 vote
0 answers
58 views

Can a Windows 10 computer use Arduino IDE 1.8.10 sometimes AND use Arduino IDE 2.0.0 the rest of the time?

Can Windows 10 computer use Arduino IDE 1.8.10 sometimes, AND use Arduino IDE 2.0.0 the rest of the time?
martymarty's user avatar
1 vote
0 answers
738 views

converting int or float into bytes array in arduino

I am trying to send data from one arduino to another over ethernet using udp protocol. In arduino writing data over udp is like this UDP.write(buffer, size); where buffer is an array to send as a ...
eToll Systems's user avatar
1 vote
1 answer
281 views

send and recieve analog data from one arduino to another arduino via web/ethernet

i am able to send audio signal through mic and send it via arduino and receive it on speaker. i need two things 1.) The voice i am hearing on speaker has on speaker has lots of noise with it. i need ...
sanket jain's user avatar
0 votes
1 answer
27 views

Change character sequence

I turn on the transmission of one key that works to open the door, but after a certain time I need to close the door, and for this I need to use the second key. I want to do without additional buttons,...
Антон's user avatar
1 vote
3 answers
2k views

Generate a true analog signal using Arduino

I am looking for a way to create a true analog output with the arduino uno. I am constantly reading an analog input on a0 pin, all i want to do is send the same signal as output. I know arduino ...
eToll Systems's user avatar
1 vote
0 answers
628 views

How to stop my 16*2 lcd blink?

Here I wrote code for my weighting scale measurement. In which I added an on/off switch for my LCD display. But in defined delay time my LCD is a blink and I do not want it. I want my LCD switch on/...
sunfarma hulla's user avatar
2 votes
0 answers
55 views

Am I maximising my A0 readout rate with this peak-detection code?

I have a pulse going into A0 on a Nano, and want to detect the peak voltage. With low-pass filtering to slow down the input pulse I'm still reading marginally too slow. The code overall inhibits a ...
Chris H's user avatar
  • 146
0 votes
1 answer
59 views

How to shorten this code (because my sensor reads slowly)?

I'm making a fare meter for our school project. I have too much lcd.print code. This code is not finished yet. My only concern is how to minimize the usage of lcd.print. I think it's the one that ...
SkilleX's user avatar
  • 11
0 votes
3 answers
81 views

I have made a Nano send 4 pot values to an Uno please help with code

Happy New Year! So I have made a Nano send 4 pot values to an Arduino Uno over serial but I have a problem: I don't know how to separate these values. Here's the code: Master: int Pot = A0; ...
Imanoobdotcom's user avatar
1 vote
2 answers
116 views

Code Optimization: Interrupt when a value reaches 0

I have a working program and I wish to improve its efficiency as much as possible. It will blink slow, then faster and faster until it restarts. It works, but my main concern is, currently, I am ...
B7th's user avatar
  • 167
4 votes
2 answers
2k views

How to move a servo quickly and without delay function

Im trying to move a servo from one place to another while using the typical for loop you find in the servo's library example: int lightON = 180; int lightOFF = 90; for (pos1 = lightOFF; pos1 <= ...
Marcelo_M's user avatar
  • 121
3 votes
2 answers
208 views

How to move a servo with a function

Im currently moving a servo from one side to another by using the typical for loop like this: int lightON = 180; int lightOFF = 90; if (buttonState == HIGH) { digitalWrite(LED, HIGH); for (pos1 =...
Marcelo_M's user avatar
  • 121
-1 votes
1 answer
177 views

Port manipulation

My UNO having some stability issues because of heavy memory use, I'm now optimizing the code now looking to reduce the digital read memory use with the help of port manipulation. I got the code for ...
user2037091's user avatar
4 votes
1 answer
486 views

Does the compiled binary of a sketch include uncalled functions from a library?

I am writing a GUI using a TFT display and the Adafruit GFX library and its default font on Arduino Nano. I want to be memory efficient and I assumed that the 'optimise for size' default setting of ...
WildCat's user avatar
  • 303
1 vote
0 answers
55 views

Automatic water pump Trigger System - I need my code FIXED

int out = LED_BUILTIN; int strt = 3; int stp = 9; void setup() { pinMode(out,OUTPUT); pinMode(strt,INPUT); pinMode(stp,INPUT); } void loop() { while(true) { if(digitalRead(strt) == LOW) ...
Saagar G's user avatar
0 votes
1 answer
56 views

How might I add a delay, close the servo and go to the start again?

#include <Servo.h> Servo myServo; const int piezo = A0; const int button = 2; const int yellow = 3; const int green = 4; const int red = 5; int knockVal; int buttonVal; const ...
Gavin McLeod's user avatar
1 vote
0 answers
1k views

Reduce time between two consecutive SPI transfers on ESP32

I'm trying to drive an external DAC via SPI interface using ESP32 chip. But I cannot achieve the desired speed (>1M transfers/sec, each transfer consists of 16bits). The reason is not the SPI speed ...
Wjx's user avatar
  • 111
0 votes
2 answers
1k views

Is there a variable type of half byte? Is there a workaround?

I have this long array of 64 values going from 0 to 15, values which only cost 8 bits, for a pulse width modulation. So I made a test to see its cost in space, commenting one of the two arrays. const ...
B7th's user avatar
  • 167
7 votes
4 answers
3k views

What are the traditional ways to optimize program memory usage?

While doing big projects using Arduino boards (Uno, Atmega328P MCU). I used to get warnings like this Sketch uses 13764 bytes (44%) of program storage space. Maximum is 30720 bytes. Global variables ...
Mayoogh Girish's user avatar
1 vote
0 answers
42 views

Division with big constant number. Ideas to make it more efficient?

Im reading the voltage applied to my microcontroller using the internal voltage reference. Here the topic is talked, and there are some working examples. Im NOT using this examples, im using my own ...
Martin's user avatar
  • 11
2 votes
1 answer
80 views

Thermocouple and multimeter

I've put together this script that should allow my Arduino Mega to be show thermocouple readings on the serial monitor, whilst also showing readings of voltage and ohms across a given component. I'd ...
Chris's user avatar
  • 51
1 vote
1 answer
344 views

Plant irrigation system

I'm very new to the Arduino game I wanted to make a small auto watering system for my plants. I bought these items 5V 1 CHANNEL RELAY MODULE FOR ARDUINO PIC AVR DSP ARMB 9 VOLT BATTERY SNAP ...
Nizam mulk's user avatar
1 vote
0 answers
101 views

Dragino Lora shield for Arduino sensor use

I am new to arduino and lora technology and i have dragino lorashield for arduino Uno and dragino gateway. I have also MQ-3 gas sensor and I want to detect the alcohol value and to send it to the ...
Svetoslav's user avatar
2 votes
1 answer
131 views

FIXING BUG when Using Wire library to obtain compass heading

I am using the HMC-5983 magnetometer module to obtain the compass heading of a autonomous car I am building using the arduino platform.I'musing the Z axis and X axis to obtain the heading. However ...
AfiJaabb's user avatar
  • 219
-1 votes
2 answers
39 views

multiple invdividual servo controll arduino

I want to declare 11 servo motors in my code. Is there a better way to do that than just declare everyone under each other. The reason is that i have a code that will set the rotation for one at a ...
vegiv's user avatar
  • 1
0 votes
1 answer
80 views

Modular Coding - What types of code portions to convert into library files? Rationale and methods?

I'm working on documentation and combining 2 pieces of code for testing parts of a larger project. I'm supposed to comment and make the code very clear to people who will use it later and make sure ...
ThermoRestart's user avatar
-1 votes
1 answer
97 views

Refactoring bad design?

Could someone help me how to refactor old very complex code ? Original used just setup and everything else was in single ISR. But as it was bigger and bigger, code is quite slow and quite random ...
Jan's user avatar
  • 113
1 vote
1 answer
1k views

Using Serial.write() to send a uint32_t send one byte x4 or send 4 bytes x1

In the IRremote library, IR signals are decoded and held in results.value. My project uses the NEC protocol which is 32 bits, so the IR code will always be 4 bytes. uint32_t dCodedIR; // // code ...
user avatar
-1 votes
1 answer
731 views

Optimizing for speed using const, static, constexpr etc in a function

In an ISR I want to keep things quick. At the same time I want to limit variable scope. Storage space is not a factor. I have this line: const char trigs[] = "aAbBcCdDeEfFgGhHiIjJ"; When this is ...
Jim Mack's user avatar
  • 237
1 vote
0 answers
611 views

Optimizing Teensy 3.6 for data sampling?

So, I have a very basic project where I cycle through 8 IR individual transmitters. After setting the individual transmitter high, I cycle through all 8 IR receivers and print their values, RX_CYCLES ...
dandev's user avatar
  • 53
0 votes
2 answers
264 views

28 BYJ stepper motor runs faster using delay() and little slower using millis(), why?

I'm working to develop a code for the stepper motor to use it in a project. And since using delay() isn't as efficient as millis(). So I first developed the code that use delay with 1ms delay between ...
R1S8K's user avatar
  • 283
1 vote
0 answers
62 views

Combining sketches

I have two codes for my to sensors and they work separately. However, I need to combine them in one program please can you help? The pulse code /* PulseSensor Starter Project and Signal Tester * ...
Mayada Yusuf's user avatar
1 vote
0 answers
399 views

FIltering, FXOS8700, FXAS21002C optimization

I'm working on an inverse pendulum project, and am using an adafruit NXP_FXOS8700_FXAS21002 along with an Arduino due, and an esp8266 (two separate projects, same code however). I'm using a Magdwick ...
DrMrstheMonarch's user avatar
1 vote
3 answers
118 views

Is there a more elegant way to check highest / lowest sample data?

N00b question, Is there a better way for readability / elegance / DRY etc to check various sensor values for high/low record value? This code works, but looks like the long way round. void ...
opt10n's user avatar
  • 11
1 vote
0 answers
311 views

Why does the program size increase so drastically with these switch-cases?

EDIT: The problem is my op-code catch is op >= 0x20 || op <= 0x2F rather than op >= 0x20 && op <= 0x2F and so most of the switch-case was being optimised away! This is a really ...
Patrick's user avatar
  • 111
-1 votes
1 answer
495 views

how to code LED turning signals on smart car [closed]

this question is regarding how to add turn led signals on arduino powered smart car. I have 4 leds to give turn indications on my smart car(line follower, obstacle avoider, Bluetooth mobile controlled ...
NaveenVelusamy's user avatar
2 votes
2 answers
2k views

Best practice to declare a 'static' text and save memory

I'm working on a project where I need to create a JSON to send back state of an object. I created the code to achieve it and all works fine, but I used this to declare the JSON fields: static const ...
Noisemaker's user avatar
0 votes
2 answers
168 views

Merging of two functions

This is my Arduino code that checks the water Level of two different water reservoirs via 2 water Level Sensors A and B: #define Water_Level_A 5; #define Water_Level_B 6; boolean Water_Level_Check_A(...
Peter S's user avatar
  • 125
-1 votes
1 answer
194 views

Need help optimizing snake game code for Arduino Nano

Here's the code: https://pastebin.com/ypWe4NZw This is the output when I compile: Sketch uses 13086 bytes (42%) of program storage space. Maximum is 30720 bytes. Global variables use 1456 bytes (71%...
user6615434's user avatar
2 votes
0 answers
2k views

Sending data from webserver to Arduino

Hello Arduino enthusiasts! I've been working on a keypad lock system for school lately and I need some advice.Basically, my code checks if the entered passcode is the same than a predefined passcode ...
Arxkz's user avatar
  • 23