Qualcomm’s acquisition of Arduino and the company’s new Terms of Service sparks major concerns in the open source community over privacy and terms of service. What will happen to the Arduino open hardware and how does this effect Linux users? We’ll do a dive in today.
Decades ago I spent major time of my life with programming Z80 and 8051. I developed my own “C-like” language based on a macro assembler. And also a multi (4) task base optimized for the 8051 (4 register banks). We (my company) used that for applications in fieldbus areas for decentralized measurement and control systems. Later I spent most time in developing programs for the PC in C++ and C#. There was no need to invest time for the 8051 environment, it was somehow optimized. Sometimes a need for faster calculation and more storage, for which we used an 80C166 with the same (our) macro language. For me, the 80C166 was a “big 8051”.
More than 10 years ago I found a way to other (modern) microcontrollers with Arduino. We needed even more calculation power and looked for 32-bit MCs. I was surprised, how simple it was to program the Arduino boards. And I detected, that the combination of optimizing C/C++ compiler (GCC) and RISC processor made my macro language obsolete. I could no more speed up processes by using assembler.
For me, Arduino alone was all I needed for MC development. But the IDE was a step back. I was used to Eclipse/CDT (and Visual Studio on Windows with C#/WPF) and I badly need the possibility to show cross references and find functions and definitions in a very big list of included headers and libraries. For me Sloeber (Eclipse plugin for Arduino, https://eclipse.baeyens.it/) was the blessing and til now, Arduino and me are best friends
Diving into the open source software (libraries) was learning to program the MC. I started with Arduino DUE and step by step I replaced Arduino libraries by my own software. The first reason was, that I had to switch multiple I/Os synchronously (DigitalWrite cannot) and also some other libraries could not be used from interrupt. But that was no real big load, it was a kind of fun to dive into existing drivers and derive your own optimized drivers.
Thank you for this possibility, Arduino!
I am not a typical Arduino user, because I do not look for applications with a given software/hardware pool. It is another way, I have an application (or a technical requirement) and I look for the MC and its IDE solving the task (best with some reserve).
But I never had a better environment than Arduino when they have my favorite MC on a deliverable board, not to forget compatible boards from Adafruit and Seeed. The toolchain is installed, no extra hardware necessary, just using my favorite IDE (Eclipse). And I can do, what I want, there is no need to use the delivered drivers, I can try to develop better (sometimes only shorter) software. Or I use the given software if it fulfills my needs.
I am free …
Issues came with boards running an RTOS. Now I was no more the master of the MC, other programmers force me to their picture of the better world. So before I decide for a MC (hopefully with Arduino toolchain), I have to test it. I found, that I do not have problems with ESP32 (classical). They found a way to hide the RTOS somehow (may be with the help of the 2 kernels) and I can use my microsecond based routines in loop(). I have also tested MbedOS, which seems to step aside if I do not use some initialization. Only USB serial seems to hack in. So
I am not so free anymore … but free enough to like Arduino.
But if I look to the “new world” of Arduino Uno Q, there is my first question:
Where is my freedom?
Hi there,
Spoken Like a true USER that Helped make arduino IDE great!
What a RUG-PULL.
![]()
I too started back , with the Z80A, B all the Periphery CTC, SIO, PIO…and was into the PAL/GAL chips for GLUE logic, hence the “the22v10” moniker in Youtube videos. Then the 68000/020, with many in between, LOL 6502
was one I remember , fuzz now I feel old ![]()
I interned for a co. “computerm corp” that made a IBM System BUS_&_TAG interfaces with channel attached Z80A & B boards (wire-wrapped) for Banks and SDLC based comms decentralizing the IBM peripherals , terminal servers, Check printers and , 10K LPM printers. Everything was built in " ASSEMBLER " ![]()
Arduino, wasn’t even a twinkle yet…
Moving over to BLACKBOX data communication co. " the catalog co. that is where the code of all kinds was around. Modems, Mux’s, Protocol converters, Communication adapter’s, Line drivers, Buffer-boxes… You name it they built and sold it. Cables, ABC switches and more. They had Several programmers on staff.
Arduino IDE gathered a scattered area together in the beginning.
NOW they sold OUT! IMO.
No way Quack -Comm does right by the user base is my Bet!
GL
PJ ![]()
thanks for the memories…![]()