It's a very nice looking drawing but, (sorry) for a circuit of more than a few connections it becomes very difficult for someone not familiar with the thing to decode what they're seeing. This is because with all the components out there, some with tens of pin connections, it's nearly impossible to tell just by looking how something is wired up. Most experienced people are used to looking at schematics where the parts' pins are named & numbered so you can see at a glance what's connected to what. Here's an example from Maxim's site:

This emphasizes the Maxim part but it illustrates the principle. A full schematic would include all connections, with pin names/numbers, for all components. Unfortunately this would also mean expanding signals grouped into a single line for brevity like the digit and segment lines in the drawing.

Even a hand-drawn schematic including the pin names/numbers is better in this case than a pictorial and would, IMHO, get more responses and allow people to see more exactly how you've made all the connections and so give an informed response.

Yes, it's more work but it would be a useful experience. Besides, you'll need a real drawing to work from and to have available for future reference. There are choices of drawing software but I use the free ExpressSCH.

For the second capacitor, i found it there :https://thecustomizewindows.com/2017/11/arduino-max-7219-cng-basic-circuit-led-7-segment-displays/Honestly, i trust more what you say than any website. So if you say only the one for 100 nm is enough, then i'll only install this one :-) I need to order it too :-)

I'll update the Fritzing sketch, but that might take some days. In between, i'll start with the Arduino code, as now i know exactly which components i use, so i have all ly inputs/outputs.

Trust the manufacturer's data sheet; not what random people (including myself) tell you on the Internet.

Just checked the link - and found one major issue in the image where they have the two capacitors, and that's with the physical layout.

The 100nF should be placed physically as close as possible to the pin. That wire is a pretty bad thing here, it adds stray induction which in turn negates a lot of the effect of that cap. The 100 nF should go between the GND bus and the strip the Vcc pin is connected, when placing it on a breadboard (and even closer when you're using a proper PCB - there are chips that have the GND and Vcc power pins next to one another, soldering a 0805 package on top of those two leads is then the ideal placement).

If you order components you may consider adding a pack of 20 x 10 values of electrolytic, and 20 x 30 values of ceramics. Something like that. It's just very convenient to have those values on hand even if you end up not using half of them, they're really cheap so it's not much of a financial investment.

Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.

// ----- Code for Change State for FC-51// this constant won't change:const int PinFC51 = 2; // the pin that the pushbutton is attached toconst int PinButtonPlus1 = 3; // the pin that the pushbutton is attached toconst int PinButtonMinus1 = 4; // the pin that the pushbutton is attached toconst int PinButtonReset = 5; // the pin that the pushbutton is attached toconst int PinLED = 13; // the pin that the LED is attached to

// Variables will change:int buttonStateFC51 = 0; // current state of the FC51int lastButtonStateFC51 = 0; // previous state of the FC51

int buttonStatePlus1 = 0; // current state of the buttonint lastButtonStatePlus1 = 0; // previous state of the button

int buttonStateMinus1 = 0; // current state of the buttonint lastButtonStateMinus1 = 0; // previous state of the button

// compare the buttonState to its previous state if (buttonStateFC51 != lastButtonStateFC51) { // if the state has changed from low to high, increment the counter otherwise don't if (buttonStateFC51 == HIGH) { FC51=1; } // Delay a little bit to avoid bouncing delay(50); } // save the current state as the last state, for next time through the loop lastButtonStateFC51 = buttonStateFC51;

// compare the buttonState to its previous state if (buttonStatePlus1 != lastButtonStatePlus1) { // if the state has changed from low to high, increment the counter otherwise don't if (buttonStatePlus1 == HIGH) { ButtonPlus1=1; } // Delay a little bit to avoid bouncing delay(50); } // save the current state as the last state, for next time through the loop lastButtonStatePlus1 = buttonStatePlus1;

// compare the buttonState to its previous state if (buttonStateMinus1 != lastButtonStateMinus1) { // if the state has changed from low to high, increment the counter otherwise don't if (buttonStateMinus1 == HIGH) { ButtonMinus1=1; } // Delay a little bit to avoid bouncing delay(50); } // save the current state as the last state, for next time through the loop lastButtonStateMinus1 = buttonStateMinus1;

That's about the last I expected to see! Exit status 1 is most commonly an undeclared variable, or closing } missing, something like that. Tbh no idea how to handle this one. Nasty. You just ran into a compiler bug.

Quality of answers is related to the quality of questions. Good questions will get good answers. Useless answers are a sign of a poor question.

I actually found on a forum on arduino a workaround for this bug (which is a compiler bug, you're right. I changed the Arduino AVR Boards from version 1.6.23 to 1.6.21 in the preferences, and the issue doesn't appear anymore. I'll anyway submit the issue via the link as dougp proposed, and continue to write the code. And let's see if the support team will solve the issue, that i can come back to the newer version of the Arduino AVR Board.