Welcome and Kick start for Arduino Newbies

Hallo everybody,

I just joined the community and while I am waiting for a few Chinese boards (Nano v3.0, Atmega328p) and a set of tool to be delivered I have thousands of questions.

I know the search function,
However, is also nice to ask questions, get expert advice and start networking.

In sparse order, I am looking for:

  • A nice description of the class hierarchy, e.g. Wire manages I2C bus communication and it inherits form *Stream*. It would be nice to have a panoramic of the full class hierarchy, what is there and what is missing. Just to start developing new libraries compatible with the existing ones.

  • Is there a soft simulator where I can start testing before I start hardwaring

  • Is there anybody interested in hard core algebra on 8bit Arduino cores?

  • Any nice recommendation for a not so young developer (I used to have a nice EPROM-tan at the time), off embedded for almost 2 decades and off C/C++ for at least 10 years?

Thank you in advance
More questions to follow.

Cheers

Normally I'd recommend an Arduino Starter Kit, but if you are already experienced with µC, this may be a too low-level entry. At least it helped me to get familiar with the general coding and debugging model for microcontrollers, after I stopped building my own systems in the 80s.

The Ardunio IDE is nice for total newbies. Users with more background may be more happy with the Atmel Studio or its VS plugin, with more transparent access to all involved source files. I'm using a more convenient source code editor for digging into the libraries, instead of the IDE.

What I'm missing most is the lack of documentation of the resources, used by the various libraries, in detail which timers are used or can be configured for use.

An emulator exists, but it may not be very helpful in hardware and real time development.

What do you mean by "hard core algebra"? The ATmega controllers lack a DIV instruction and FPU, what may be a bottleneck for all kind of sophisticated math.

There are lots more sophisticated emulators but https://circuits.io is a reasonable place to get started while you wait for your kit to arrive.

DrDiettrich:
Normally I'd recommend an Arduino Starter Kit, but if you are already experienced with µC, this may be a too low-level entry. At least it helped me to get familiar with the general coding and debugging model for microcontrollers, after I stopped building my own systems in the 80s.

The Ardunio IDE is nice for total newbies. Users with more background may be more happy with the Atmel Studio or its VS plugin, with more transparent access to all involved source files. I'm using a more convenient source code editor for digging into the libraries, instead of the IDE.

What I'm missing most is the lack of documentation of the resources, used by the various libraries, in detail which timers are used or can be configured for use.

An emulator exists, but it may not be very helpful in hardware and real time development.

What do you mean by "hard core algebra"? The ATmega controllers lack a DIV instruction and FPU, what may be a bottleneck for all kind of sophisticated math.

Thank you very much for the tip.

Today I got the usb cable and I managed to run my first couple of programs (Flashing led with pattern as the standard Blink was already there) on one of the boards.
I am so happy, everything worked like a charm in a few minutes.

Meanwhile I installed codelite, as it has a few more features than the basic Ide and unexpectedly it found the avr compile shipped with arduino, so I might be able to use it to flash the arduino (still have to figure out how). As of now it is very useful to develop soft libraries. Hamming encoding is already there, maybe I'll give a shot at Stream and use it on Manchester protocol for communication.

As soon as the emotion of hardwaring will fade, probably soon as I am not even able to solder the connectors, I'll take a look at the Amtel studio. It sounds promising, pity it installs only on windows.

With hardcore algebra I meant matrix algebra, basically all tensor computations required for automation and control. The main iterest at the moment is a flight controller. I checked the documentation and really really division is algorithmic and it appears to be much much slower. I'll give it a try anyway and see whow far I'll get. worst case I'll need to change core e.g. stm32 is an interesting option.