Live data from Hacker News

Arduino Launches Plug-and-Play Modules for Long-Range Sensor Projects

allaboutcircuits.com

41–48 of 48 posts

Re: Arduino Launches Plug-and-Play Modules for Long-Range Sensor Projects

#41
post #16

"Long-Range" sensor projecs? Is the long range in the room with us? It is I2C not very well known for long ranges. Especially with motors and electric drives and their EMI I2C is not the best decision. From the title I was more in "Oh, what type of long range wireless they have opted for?" and didn't expect I2C. For long range wired I would consider more a RS485 or CAN. Short ranges like in a small robot arm, a small…

There is really no good reason to ever use I2C, except if that's the only interface your peripheral supports. Debugging a stuck I2C bus, and attempting to un-brick the bus for a stuck slave (disabling ISRs, unhooking DMA, reconfiguring pins to GPIO, clocking the slave out of its coma and then doing everything in reverse) is just not worth it. EDIT: I was hoping for HaLow WiFi!

No. I2C is popular for a reason. It is cheap, fast enough, well understood, available everywhere, uses less lines and less physical space than almost all alternatives (excluding one wire buses which are far less standardized and far more limited), and supports multi-drop.

This thing should be called what it is: an I2C multiplexer. Such things are not new.

Re: Arduino Launches Plug-and-Play Modules for Long-Range Sensor Projects

#42

From Arduino's Terms & Conditions [1], Section 8.2: "8.2 User shall not: - translate, decompile or reverse-engineer the Platform, or engage in any other activity designed to identify the algorithms and logic of the Platform’s operation, unless expressly allowed by Arduino or by applicable license agreements; or - extract or make copies of the information contained in the Platform (except with respect to Content owned…

[deleted]

Re: Arduino Launches Plug-and-Play Modules for Long-Range Sensor Projects

#43

Earlier quoted context omitted.

The “Platform” is just the website. They are saying don’t hack our servers. There is a caveat for content published under an open source license (like the docs).

> The “Platform” is just the website Arduino is the platform, not the website. From the same terms and conditions, in the first 2-3 paragraphs where they define the terms: "The use of the Arduino Platform and the Services (each as defined below) available on, from, or through Arduino.cc (“Site”) ..." "By using the Site, the Platform, or the Services, you declare to have read and accepted ..." "If you are under 18 yea…

> The Site is part of the platform developed and managed by Arduino, which allows users to take part in the discussions on the Arduino forum, the Arduino blog, the Arduino User Group, the Arduino Discord channel, and the Arduino Project Hub, and to access the Arduino main website, subsites, Arduino Cloud, Arduino Courses, Arduino Certifications, Arduino Docs, the Arduino EDU kit sites to release works within the Contributor License Agreement program, and to further develop the Arduino open source ecosystem (collectively, the “Platform”).

This is the definition of “platform” in that document. It is just the websites.

Re: Arduino Launches Plug-and-Play Modules for Long-Range Sensor Projects

#44
post #16

"Long-Range" sensor projecs? Is the long range in the room with us? It is I2C not very well known for long ranges. Especially with motors and electric drives and their EMI I2C is not the best decision. From the title I was more in "Oh, what type of long range wireless they have opted for?" and didn't expect I2C. For long range wired I would consider more a RS485 or CAN. Short ranges like in a small robot arm, a small…

I really, really wish that CAN had caught on more for sensor networks in the hobbyist community. It's so much nicer than I2C in so many regards: much longer range, masterless (any node can talk directly to any other node), packet prioritization built-in, deliberately designed to be more or less impossible to wedge, possible to do IC-to-IC on a board without transceivers by using a shared open-drain bus (like I2C, but…

That would be the LIN bus.

https://en.wikipedia.org/wiki/Local_Interconnect_Network

Re: Arduino Launches Plug-and-Play Modules for Long-Range Sensor Projects

#45
post #13

Earlier quoted context omitted.

Yeah I did a project with ESP32 and micropython recently and getting the proof of concept up was very very quick. The agent I was using also had no problem writing drivers for peripherals that didnt already have micropython drivers (I seem to recall it ported C or Arduino reference code)

Pull off the C/C++ band-aid already, it will give you a clearer understanding of how these chips actually function. =3

I took an embedded C/C++ class online 5-10 years ago and hated it. I dont want to be doing bit shifting math to put some device's registers in the correct state for me to write text to a screen

Re: Arduino Launches Plug-and-Play Modules for Long-Range Sensor Projects

#46
post #44

Earlier quoted context omitted.

I really, really wish that CAN had caught on more for sensor networks in the hobbyist community. It's so much nicer than I2C in so many regards: much longer range, masterless (any node can talk directly to any other node), packet prioritization built-in, deliberately designed to be more or less impossible to wedge, possible to do IC-to-IC on a board without transceivers by using a shared open-drain bus (like I2C, but…

That would be the LIN bus. https://en.wikipedia.org/wiki/Local_Interconnect_Network

LIN bus isn't masterless though, if I recall correctly.

That's the nice thing about CAN: every node is equal, and every node can send a message whenever it wants. As far as I know, LIN doesn't do that: you have one node on a given LIN network that initiates all communication, much like I2C, and the most other nodes can do is reply.

It's fine for what it is, of course, it's just missing some things that I think make CAN really neat.

Re: Arduino Launches Plug-and-Play Modules for Long-Range Sensor Projects

#47
post #45

Earlier quoted context omitted.

Pull off the C/C++ band-aid already, it will give you a clearer understanding of how these chips actually function. =3

I took an embedded C/C++ class online 5-10 years ago and hated it. I dont want to be doing bit shifting math to put some device's registers in the correct state for me to write text to a screen

In general, the Embedded space is very different from multitasking Application environments. The mistake is assuming language choices people make were independent of the language specific features outside isomorphic code implementation.

Python is great in many ways, but anything with a garbage-collector or JIT has fundamental problems with parallelism and or real-time environments.

https://en.wikipedia.org/wiki/Clock_domain_crossing

https://en.wikipedia.org/wiki/Metastability_(electronics)

I would never claim to know what I am talking about, but reliance on other peoples hobby projects can inject naive/unstable dependencies into your long-term work.

This list of rules applies to most languages:

https://en.wikipedia.org/wiki/The_Power_of_10:_Rules_for_Dev...

A bit of history where these rules came from, and why they matter.

"Why Fighter Jets Ban 90% of C++ Features"

https://www.youtube.com/watch?v=Gv4sDL9Ljww

The basis of the cited 10 rules helped form many standards for reliable code:

https://www.stroustrup.com/JSF-AV-rules.pdf

Good luck, and I agree dealing with bitmap multi-language fonts is difficult without a header template generator. imagemagick can build this for you with a bit of one-time scripting, but it always eats up a lot of rom memory. =3

Re: Arduino Launches Plug-and-Play Modules for Long-Range Sensor Projects

#48

Earlier quoted context omitted.

> The “Platform” is just the website Arduino is the platform, not the website. From the same terms and conditions, in the first 2-3 paragraphs where they define the terms: "The use of the Arduino Platform and the Services (each as defined below) available on, from, or through Arduino.cc (“Site”) ..." "By using the Site, the Platform, or the Services, you declare to have read and accepted ..." "If you are under 18 yea…

> The Site is part of the platform developed and managed by Arduino, which allows users to take part in the discussions on the Arduino forum, the Arduino blog, the Arduino User Group, the Arduino Discord channel, and the Arduino Project Hub, and to access the Arduino main website, subsites, Arduino Cloud, Arduino Courses, Arduino Certifications, Arduino Docs, the Arduino EDU kit sites to release works within the Cont…

Ok. That's a fair reading, mea culpa. I'd go back and fix my notes, but it's past the editing window.

That said, check out Section 11 in the US Store Terms & Conditions [1] - similar restrictions appear to apply to the Arduino hardware and software, not just the website.

"Customer agrees that it shall not directly or indirectly: (i) modify, enhance, adapt, translate, make improvements to, create derivative works based upon, disassemble, decompile, reverse engineer, reduce to any human or machine readable form, or circumvent any technological measure that controls access to or permits derivation of the source code of, the Software or any part thereof; (ii) reverse engineer the Products, any part thereof, or any composition made using the Products; (iii) rent, lease, sell, transfer, assign, or sublicense the rights granted hereunder, except in connection with the rental, lease, sale or transfer of the entire Product; (iv) copy any part of the Software except for one (1) complete copy thereof for archival and/or back-up purposes, or as otherwise expressly authorized by Arduino in writing; (v) change, distort, or delete any patent, copyright, trademark, trade name, service mark, logo or other proprietary notices which appear in writing on or in a Product (or in any copies of Software); ..."

[1] https://store-usa.arduino.cc/pages/sales-conditions

Post reply on HN