Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "microcontroller programming"
-
Although I love developing I always thought that there was something missing.
I learned Java but didn't really like it. I had spent quite some time with web development and enjoyed it but I felt like developing with JavaScript was too high level and I felt the same for Python.
So I started learning the most awesome programming language: C
I just love that I have so much control over everything and that the language is so compact and gives you just the right amount of tools you need.
I also love physics and electronics a lot and it feels awesome to first build something and then program it.
I am looking forward to design a PCB (printed circuit board) and write code for an AVR microcontroller like the Atmega328 (most arduinos use this one).
Picture of the project I am working on.10 -
On my annoying radar today - devs who learn one language and then *insist* on using it for everything, even when it makes absolutely zero sense.
"Ooh I'd like to do some microcontroller development. But I only know Java. How do you run Java on a microcontroller?"
"...You don't."
"...but I heard a talk where someone did it. Look, there's this microjava page. How do I use it?"
"It's an interesting technical demo, but that's it. Dude, just learn C. It's not hard, Java has C style syntax anyway and this way you can...."
"...but I only want to use modern programming languages. C is irrelevant these days, it's pointless me learning it."
"It's definitely still relevant if you want to program a microcontroller."
"...but I want to do that in Java."
🤦♂️15 -
Last completed (so not something which is still going on) project i have learned a lot was for "digital- and microcontroller technology" classes.
I designed a tower which fits on a pc fan. In this tower there is a tabletennis ball and on top of it is a infrared sensor. With a Potentiometer you can set the height at which the ball shall float.
As microcontroller i took an arduino uno. For visualization i used SerialComInstruments.
Learned lots of microcontroller programming, pid controls and how the fuck a serial port communication really works.3 -
I dislike the damage web development tools have done to my programming habits.
The rapid feedback provided from the development environment (e.g. hot-reloads) encourages me to constantly bang out code with very little consideration for its side-effects.
This tendency has become a handicap when I write instructions for hardware with much less resources, such as a microcontroller.3 -
it was my first job as an embedded engineer i was hired to write firmware for arm microcontroller that has ble radio. But the microcontroller we used didn't have FLASH it had a SRAM and an otp ( one time programmable) memory. In ble you can make a proximity beacon and When a phone passes by this beacon it will get a notification '<device_name> nearby'
. I thought it is funny if i keep device name 'MILF' (original name of device is FLIP ) so when somebody's phone is in proximity it will have a notification 'MILF nearby'. joke didn't work as nobody has their bluetooth switched on by default ,but i forgot to change it before programming otp memory.
i just buried that device and told everyone it is not working properly1 -
I started with C#at the age of 12, it was way too complicated and I learned Lua for Computer craft instead. Next I learned Ruby for RPG Maker and finally Javascript for web Dev stuff.
Now comfortable enought with Javascript but put off by its quirks I learned Java for compiling faulty minecraft mods, but I only fully learned it in school.
At the same time I learned python and quite liked it for scripting, but ultimately it was not a good match for my projects.
Disapointed with Java I returned to C# and liked it quite a lot, but started learning C++. After touching my first Microcontroller I learned C and I've stuck with it as my favorite language.
Along the way I picked up Kotlin, in case I need to do some Java shit. Much better.
But how did I come to an understanding of programming. Well I got better after each time I got a layer deeper until I hit silicon.
I had tinkered with electronics since I was 15 so I just had to study some boolean mathematics in school and some vintage computers architecture and instruction sets and...
Then I finally understood how that shit I wrote in Lua way back when was actually executed by my hardware.
Allways dig deeper and you'll find enlightenment eventually. -
So I'm studying at a university where everyone who studies electronics has to do the same "internship" where we have to program some microcontroller.
For most of us it is the first time programming with pointers and working with the register (C++). But the institute who does this shitty internship manages to FUCK up the class description and even the classes and methods they give you.
In the class description there are methods missing so you have no idea what they want you to do with that method and then they write stuff in the class description that aren't in the class and you don't need. For fucks sake how can you fuck up such a simple task.
And then their shitty template is wrong. If you expect your students to do well please for fucks sake make sure you give your students the correct classes and descriptions. Many students won't fucking know what is wrong because the never programmed in C++. The best part is that they are doing this "internship" for more than 5 years.5 -
Programming Siemens PLCs is the same like using windows. Pretty comfortable - if you are fine with using it like 85% of the users.
Spent 10h today finding a way to realise an interrupt everytime a specific variable is set.. Every damned microcontroller can be used to! - _-
And therefore this typcial windows user question:
Is it not intended by Siemens or am I blind?
I mean i know you can use some prefabricated interrupts.. Like the cyclic interrupt OB.. I can't believe that it's not provided to freely create interrupts?!
Someone with an idea?