Remix.run Logo
JKCalhoun 6 hours ago

Yeah, never understood why I would want an entire OS running just to blink an LED. I was going to make a pro-Arduino comment but I guess my LED example warrants little more than an R/C circuit and a transistor, ha ha.

(Anyway, I still remember the thrill of writing assembly for a 68HC11 and getting a pair of hobby servos to respond.)

saidinesh5 3 hours ago | parent | next [-]

Mostly for the network stack. Economics, also, sometimes.

These days, with ESP32, Pi Pico W etc... things have changed a lot.

But before they got popular, Why deal with MCU + wiring some weird peripheral for wifi / ethernet when you get a Pi Zero W / Clone with built in wifi for the same price?

bombcar 5 hours ago | parent | prev | next [-]

Familiarity - it’s easy for us Linux dweebs to build a pi that can flip an LED, but programming an arduino is an entire new area.

jfim 4 hours ago | parent | next [-]

It's pretty trivial to do so on Arduino though.

  void setup() {
    pinMode(LED_BUILTIN, OUTPUT);
  }
  
  void loop() {
    digitalWrite(LED_BUILTIN, HIGH);  
    delay(1000);                     
    digitalWrite(LED_BUILTIN, LOW);   
    delay(1000);                      
  }
KPGv2 4 hours ago | parent [-]

Well first you have to learn the Arduino programming language. And the stdlib.

numpad0 37 minutes ago | parent | next [-]

They don't call it C++ because that sounds too difficult. But it's literally, not like a simplified subset that compiles into an IL using a formally proven tool, but as in literally compiled using GCC as, C++.

jfim 3 hours ago | parent | prev | next [-]

It's C++, and basically what Arduino gives you is

  int main() {
    setup();
    for(;;) loop();
  }
As well as a GUI to easily flash devices and view the output from the serial port, as well as import libraries that do all of the hard work like say making a serial port on any microcontroller pin or control external devices like light strips or displays.

I'd assume the average user on HN should be able to figure it out pretty easily.

grogenaut 4 hours ago | parent | prev | next [-]

it's literally the hello world of micros. get an arduino, plug it into the usb, install the ide, new -> example -> 01. Blink. Press Run. Cool you have now blunk a led. Now use AI to draw the rest of the owl.

telotortium 4 hours ago | parent | prev [-]

Good thing LLMs exist now

saidinesh5 3 hours ago | parent | prev | next [-]

With micropython or some of the js based frameworks for microcontrollers, it's really not that new/different.Especially with ESP32/Pi Pico W/their clones...

In fact it's a lot more straight forward to not have to deal with Network Manager config files or systemd unit files or read only rootfs headaches of Linux world.

NooneAtAll3 3 hours ago | parent | prev | next [-]

asking as a casual non-poweruser... how does one do that on linux exactly?

stackghost 2 hours ago | parent [-]

https://www.kernel.org/doc/html/v5.0/driver-api/gpio/index.h...

You can usually find libraries for your language of choice to speak GPIO and expose the pin's state as a variable in your code.

grogenaut 4 hours ago | parent | prev [-]

good news, now you can use all that dram you can't afford to vibe code an arduino program. Think of the savings and the learnings!

tempaccount420 an hour ago | parent [-]

You're probably joking, but this is interesting. If we throw more RAM at AI, it can help us optimize programs to reduce our RAM needs, I haven't thought about it like that

stackghost 3 hours ago | parent | prev [-]

For me it's primarily the ability to run a full TCP/IP stack. For hobby projects, I'd rather use a Pi or a Beaglebone with IRC or HTTP for data egress than, say, I2C or SPI. The ease of debugging alone makes it worth it.