7

Hacker News was talking about this little device, which looks cool. I can't say I'm that into MPUs (like Rasp. Pi, Beaglebone or vocore), but there's a degree of niftyness to them.

2
submitted 11 months ago* (last edited 11 months ago) by dragontamer@lemmy.ca to c/microcontrollers@lemux.minnix.dev

Editor's note: I can't post pictures from my Lemmy.world account. I presume that recent trolling-attacks vs Lemmy.world have to do with this restriction, so I'll use my Lemmy.ca account for this post.

Today is a "Sidenote" for my "Beginner Series", because its not a particularly scheduled discussion point. I was browsing the internet for some documentation when I found Microchip's Signal Chain Design Guide.

Yes, this is marketing material. But its well written and covers many important concepts for beginners. Again, the PDF is here: https://ww1.microchip.com/downloads/en/DeviceDoc/21825g.pdf

At the crux of the 'Signal Chain' is the following diagram:

Many, many applications can be simplified down to this loop. Sensors provide a signal of some kind: changing voltages or currents as real life events happen. Temperature changes resistance and/or voltage of a thermocouple, pressure changes resistance of resistors as well. More complex sensors like IR Photodiodes will change their current due to the presence of light. (and that IR Photodiode may itself be encoded information: with lights turning on-and-off associated with machinery RPMs).

Whatever the "sensor" is, it may need analog processors to condition. OpAmps are the most common analog processor, but instrumentation amps, differential amps, and sometimes even raw BJTs are used for this step (when high-frequency is needed, such as amplification of radio signals). There's a side note here about digital-potentiometers and their ability to calibrate analog bits of your circuit, but calibration can be skipped if you don't care much about accuracy.

In particular: whatever your "signal" originally was needs to be converted into a voltage of the appropriate size for your ADC. For example, a capacitive touch sensor can track the human-body (fingers) moving across different electrical pads. This "signal" is watching for the change of capacitance over different electrical lines. But "capacitance" isn't voltage. Instead, you need to inject small amounts of current into the various pads while measuring their change-of-voltage over time, which converts the "change of capacitance" into a "change of voltage" formula, thereby allowing later stages to operate upon your data.

Once the signal is processed to appropriate levels of voltage and/or current (or if you're lucky enough: the raw signal is good enough without need of preprocessing), then you can feed it into an ADC and digitize the signal.

Once the signal is in digital form, you write a computer program to analyze and manipulate the data. For many, the data will remain in digital form perpetually, sent out over WiFi, Bluetooth, or perhaps to a MicroSD card for recording. But for others, the job is not done yet. The combined sensor data goes into an algorithm to determine actuator outputs.

Those actuator outputs leave in either PWM form or DAC as an analog signal directly. Alas, microcontrollers usually have weak pins, so output processing and amplification is needed to increase power levels to appropriate voltages and/or currents.

Finally, those voltages and/or currents affect an actuator. That could be a servo, a motor, LEDs to blink or really anything.


While these steps are individually pretty simple, as a whole they constitute a pattern and architecture that matches a huge number of electronic designs. Your thermostat (temperature sensor -> microcontroller -> turn furnace on or AC on). Drones (accelerometers to measure bearings in space - microcontroller -> motor controls), motor controls (sense current through motor to estimate torque -> microcontroller -> BLDC Motor signals), and more.


This page summarizes the sensors available from Microchip. And remember, this is just one company. There are plenty of sensors available around the world in many other forms.

As far as actuators... Microchip doesn't make too many of those. But motors, speakers, MEMS, refrigerators... anything you can hook up to electricity is something you can control with a microcontroller.

[-] dragontamer@lemmy.ca 2 points 11 months ago* (last edited 11 months ago)

I realize this story is about the ESP32-S3, but the OTHER board discussed in that article is way more intriguing to me.

This, in turn, followed on from the Metro M7, based on NXP's i.MX RT1011 "crossover microcontroller unit" — offering a much more powerful take on the Arduino UNO form factor, which itself has since been updated with the release of the modernized UNO R4 Minima and WiFi.

Wait, wut? They've got an i.MX unit? Well now I'm super intrigued. I've posted about the difference between Microcontrollers and Microprocessors in my guides. But the i.MX series from NXP tries to toe the line inbetween the two categories. A Cortex M7 though is still solidly "Microcontroller" to me, but any i.MX will intrigue me because its specs are incredibly high for a uC (or incredibly low-power for a uP).


With regards to Arduino form factor... the size roughly compares to 3x AA NiMH cells or larger 18650 Li-ion cells. Its a good size for portable applications, though a bit larger than something you'd reliably put inside a pocket (big pockets can probably fit Arduino form factor + batteries though).

Adafruit themselves seem to be most interested in the Cosplay-electronics community, so something like this would be a wearable that you'd hide in your costume somewhere. (Ex: controlling the lights to an Overwatch costume or other "techie" video game costume that needs a lot of lights, fiber optics, and the like).

In any case: that's three boards with three different sets of capabilities: from the lowly RP2040, to ESP32-S3, to i.MX Cortex M7 "crossover" chip.

[-] dragontamer@lemmy.ca 2 points 11 months ago

I hate this setup.

Rasp. Pi Pico W has a Wi-Fi card. Cool. The WiFi connects to your local WiFi network, which connects to your ISP, which connects to the internet, which connects to ntfy.sh. NTFY.sh then creates a push notification over Apple and/or Android, then finds your Phone, likely realizing your phone is currently in your WiFi network. It then sends a message to your ISP, to send a message to your WiFi network, which sends a message to your Phone and you finally get the alert.

Its probably the easiest way to get things done, but a bluetooth alert and/or Wifi-direct alert of some kind would be better. Phone APIs don't seem too keen on WiFi / Socket servers however. Bluetooth would likely be a better solution, but involves pairing and other such noise to complicate the process.

Hmmmmm. I see that ntfy.sh is the easiest way to bridge it all together. But that doesn't mean I have to like it.

38

Discussions elsewhere:

The TL;DR:

"Tesla requested redaction of fields of the crash report based on a claim that those fields contained confidential business information," an NHTSA spokesperson told Insider in a statement. "The Vehicle Safety Act explicitly restricts NHTSA's ability to release what the companies label as confidential information. Once any company claims confidentiality, NHTSA is legally obligated to treat it as confidential unless/until NHTSA goes through a legal process to deny the claim."

[-] dragontamer@lemmy.ca 2 points 1 year ago

That didn’t fit with his limiting how many tweets users are able to view.

The theory behind that is that Twitter failed to pay for their web-services and needed to suddenly cut traffic, otherwise they'd be shutdown by Amazon / Google.

After Twitter paid Amazon/Google, they raised the tweet view-limits appropriately, but the damage was already done.

[-] dragontamer@lemmy.ca 2 points 1 year ago* (last edited 1 year ago)
[-] dragontamer@lemmy.ca 2 points 1 year ago* (last edited 1 year ago)

You know that doesn't matter when commercial software often only releases and tests their software on Ubuntu and RedHat, right?

I run Ubuntu / Red Hat / etc. etc. because I'm forced to. Do you think I'm creating a lab with a billion different versions of Linux for fun?


Linux kinda-sorta works if you've got the freedom to "./configure && make && make install", recreating binaries and recompiling often. Many pieces of software are designed to work across library changes (but have the compiler/linker fix up minor issues).

But once you start having proprietary binaries moving around (and you'll be facing proprietary binaries cause no office will give you their source code), you start having version-specific issues. The Linux-community just doesn't care very much about binary-compatibility, and they'll never care about it because they're anti-corporate and don't want to offer good support to binary code like this. (And prefers to force GPL down your throats).

There's certainly some advantages and disadvantages to Linux's choice here (or really, Ubuntu / Red Hat / etc. etc. since each different distro really is its own OS). But in the corporate office world, Linux is a very poor performer in practice.

2
submitted 1 year ago* (last edited 1 year ago) by dragontamer@lemmy.ca to c/microcontrollers@lemux.minnix.dev

Github repo for microcontroller-automation of playing Pokemon.

Information on how to electrically interface with the Switch, analyze the screen to look for various triggers, and otherwise automatically play "Pokemon" games. Using Arduinos, or Teensy, or other microcontrollers.

The microcontroller bit controls the Switch itself, sending USB commands through the Arduino-Leonardo to the Switch, effectively having the Arduino-Leo automatically play the game for you.

More advanced automations include the PC computer to analyze the screen and perform more complex calculations. But the microcontroller bits are probably interesting to this community!

1

This is the Virginia crash talked about a few weeks ago. Now its officially an NHTSA investigation.

[-] dragontamer@lemmy.ca 2 points 1 year ago

Microcontroller ADCs still have a bad reputation compared to "hardcore" analog designers, but STM32 isn't bad in the great scheme of uCs.

https://hackaday.io/project/188051-rpscope

Here's the original project, and with a circuit layout closer to what I'd expect to be typical. However, notice that the STM32 contains all the parts that are in the rpscope: STM32 has an ADC (albeit a slower one), multiple OpAmps (albeit with lower accuracy), and a microcontroller (albeit with less RAM than the RP2040).

Shrinking and consolidation is the goal for these devices, leading to far cheaper designs with possibly better reliability (now that its all put together in one package). Of course, the specs are far weaker on the STM32 rather than dedicated ADCs, but you can see the size, cost, and power/watt difference by just looking at this thing.

[-] dragontamer@lemmy.ca 2 points 1 year ago

8051 is a legend alright.

[-] dragontamer@lemmy.ca 2 points 1 year ago* (last edited 1 year ago)

Hacker News was talking about a relatively low battery life out of the box. The device probably needs more aggressive sleep software.

https://news.ycombinator.com/item?id=37054361

This is my alt account because Lemmy.world is having DDOS issues the past couple of days.

19
submitted 1 year ago* (last edited 1 year ago) by dragontamer@lemmy.ca to c/support@lemmy.world

So there's lots of alternative instances that remain federated with Lemmy.world. It may take some number of minutes to move data between Lemmy.world and alternative instances, but you should be able to stay reasonably up-to-date to this support forum as long as federation works.

Ex: https://sh.itjust.works/c/support@lemmy.world

https://sh.itjust.works/c/lemmyworld@lemmy.world

The way "Federation" works means that lemmy.world and other hosts (ex: sh.itjust.works) will automatically retry and try to synchronize messages as https://lemmy.world goes up-and-down. Effectively, use the other-instances to "automatically F5 / Refresh" for you, so you don't have to manually F5 on lemmy.world.

[-] dragontamer@lemmy.ca 3 points 1 year ago

Hey hey, this one worked!! Trying a reply and going the other way.

[-] dragontamer@lemmy.ca 6 points 1 year ago

https://lemmy.world/comment/668202

This post still hasn't federated over. So I don't think Lemmy.world posts come to Lemmy.ca posts yet.

But today, Lemmy.ca posts seem to be appearing correctly (or more correctly) on Lemmy.world.

[-] dragontamer@lemmy.ca 3 points 1 year ago

On this subject: the https://lemmy.world administrators have been investigating the federation issue on their end (see: https://lemmy.world/post/818810). Note that https://lemmy.world is still on version 0.17.4.

I'm wondering if the problem could be on the https://lemmy.ca end as well, or a bug in 0.18.0. In either case, I felt the need to report this federation-bug.

I know that various lemmy-administrators have been forced to tweak worker-settings and play around with timeouts to get federation working correctly (or at least, working better). The default settings are simply not workable, not with the #RedditBlackout growth upon this corner of the Fediverse.

[-] dragontamer@lemmy.ca 3 points 1 year ago

Case in point: https://lemmy.world/comment/668202

This comment here, I made it from https://lemmy.world. And... its not here yet on the lemmy.ca side! The https://lemmy.world thinks that the post is getting transferred over, but... there's a bug. Something seems to be stopping my post from coming over.

13

As the lemmy.ca community has been growing, I've begun to look at some of your /c/communities and ... things are bugged. I can't really post or comment very well on my https://lemmy.world account.

So I created this local https://lemmy.ca account to maybe bring attention to this federation problem.

I'm not sure if this is due to the growth of https://lemmy.world, or some configuration issue on the backend. But I figure that tracking and testing my account access from both sides can help everyone get to the bottom of this.

view more: next ›

dragontamer

joined 1 year ago
MODERATOR OF