Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
5
Did you know that it’s International Day of Women and Girls in Science on February 11th, 2025? To celebrate this global event, we’re shining a light on the efforts to make STEM more accessible, inclusive, and inspiring for future generations. Let’s dive in! Mind the gap: gender representation in STEM  Science and technology have made […] The post Wired for success: Inspiring the next generation of women in science appeared first on Arduino Blog.
a week ago

Improve your reading experience

Logged in users get linked directly to articles resulting in a better reading experience. Please login for free, it takes less than 1 minute.

More from Arduino Blog

DIY micro lab analyzes ammonia levels in blood and urine

Cirrhosis of the liver is an extremely serious condition that requires extensive medical monitoring and often intervention. Progression of the condition can be fatal, so even if caught early it must be monitored closely. But, like most things in medicine, that gets expensive. That’s why Marb built his own DIY “micro lab” to analyze ammonia […] The post DIY micro lab analyzes ammonia levels in blood and urine appeared first on Arduino Blog.

18 hours ago 2 votes
The 2024 Arduino Open Source Report is here!

Every year, we take a moment to reflect on the contributions we made to the open source movement, and the many ways our community has made a huge difference. As we publish the latest Open Source Report, we are proud to say 2024 was another year of remarkable progress and achievements. A year of growth and […] The post The 2024 Arduino Open Source Report is here! appeared first on Arduino Blog.

22 hours ago 2 votes
This mod simplifies single-point threading on mini lathes

“Single-point threading” on a lathe is the process of cutting threads, such as for a bolt, into the material through turning. The spindle/workpiece spin and the carriage moves linearly at a precise amount per turn of the spindle. That linear movement is the thread pitch. But this process usually requires several passes to reach the […] The post This mod simplifies single-point threading on mini lathes appeared first on Arduino Blog.

yesterday 3 votes
This robotic piano has solenoids for all 88 keys

Pianos famously have a lot of keys. A standard full-size piano has 52 white keys and 36 black keys, for a total of 88. Therefore, people need to get clever when they build self-playing pianos. However, the brute force approach works, too. Paul Junkin’s brute force strategy was to add a solenoid for every one […] The post This robotic piano has solenoids for all 88 keys appeared first on Arduino Blog.

2 days ago 3 votes
MKR Keylock is an open-source IoT keypad for your front door

The age-old combination of physical locks and keys, although reliable, also comes with a few drawbacks, such as when you lose the key or you want to share access with someone else remotely. Davide Gomba has recognized this and built the MKR Keylock project as a way to address some of these shortcomings. Starting with an existing electronic […] The post MKR Keylock is an open-source IoT keypad for your front door appeared first on Arduino Blog.

4 days ago 5 votes

More in technology

The 2024 Arduino Open Source Report is here!

Every year, we take a moment to reflect on the contributions we made to the open source movement, and the many ways our community has made a huge difference. As we publish the latest Open Source Report, we are proud to say 2024 was another year of remarkable progress and achievements. A year of growth and […] The post The 2024 Arduino Open Source Report is here! appeared first on Arduino Blog.

22 hours ago 2 votes
On the new iPhone 16e

Today Apple unveiled the iPhone 16e, which they're calling a part of the iPhone 16 lineup now, rather than this odd duck the SE had been since launch. Honestly, I think this move in particular is interesting and maybe makes a ton of sense, but let's

18 hours ago 2 votes
Just Stop Oil is doing more harm for the cause than good

Mitigating climate change requires more than poems and protest

2 hours ago 1 votes
This mod simplifies single-point threading on mini lathes

“Single-point threading” on a lathe is the process of cutting threads, such as for a bolt, into the material through turning. The spindle/workpiece spin and the carriage moves linearly at a precise amount per turn of the spindle. That linear movement is the thread pitch. But this process usually requires several passes to reach the […] The post This mod simplifies single-point threading on mini lathes appeared first on Arduino Blog.

yesterday 3 votes
YOLO-squashing our Django repository

Buttondown's core application is a Django app, and a fairly long-lived one at that — it was, until recently, sporting around seven hundred migration files (five hundred of which were in emails, the "main" module of the app). An engineer pointed out that the majority of our five minute backend test suite was spent not even running the tests but just setting up the database and running all of these migrations in parallel. I had been procrastinating squashing migrations for a while; the last time I did so was around two years ago, when I was being careful to the point of agony by using the official squash tooling offered by Django. Django's official squashing mechanism is clever, but tends to fall down when you have cross-module dependencies, and I lost an entire afternoon to trying to massage things into a workable state. This time, I went with a different tactic: just delete the damn things and start over. (This is something that is inconsiderate if you have lots of folks working on the codebase or you're letting folks self-host the codebase; neither of these apply to us.) rm rf **/migrations/* worked well for speeding up the test suite, but it was insufficient for actually handling things in production. For this, I borrowed a snippet from django-zero-migrations (a library around essentially the same concept): from django.core.management import call_command from django.db.migrations.recorder import MigrationRecorder MigrationRecorder.Migration.objects.all().delete() call_command("migrate", fake=True) And voila. No fuss, no downtime. Deployments are faster; CI is much faster; the codebase is 24K lines lighter. There was no second shoe. If you were like me 24 hours ago, trying to find some vague permission from a stranger to do this the janky way: consider the permission granted. Just take a snapshot of your database beforehand just in case, and rimraf away.

yesterday 2 votes