Detect problems with your Arduino projects

via Arduino Blog

This article was written by Per Tillisch, Tooling Team SW Engineer at Arduino.

The Arduino team created a tool to check Arduino projects for common problems. Arduino Lint runs over 175 checks on your sketches, libraries, and boards platforms which cover specification compliance, Library Manager submission requirements, and best practices.

Arduino Lint

Arduino Lint is an easy to use, yet powerful, command line tool. Its focus is on the structure, metadata, and configuration of Arduino projects, rather than the code.

Getting started

Follow the installation instructions to get ready to use Arduino Lint: https://arduino.github.io/arduino-lint/latest/installation/

Now you only need to open a terminal at your project folder and run the command: arduino-lint

This will automatically detect the project type and check it against the relevant rules.

The default configuration of Arduino Lint provides for the most common use cases, while offering the option to change settings via command line flags.

Configuration

Compliance setting

The --compliance flag allows you to configure the strictness of the applied rules. The three compliance level values accepted by this flag are:

  • permissive – failure will occur only when severe rule violations are found. Although a project that passes at the permissive setting will work with the current Arduino development software versions, it may not be fully specification-compliant, risking incompatibility or a poor experience for the users.
  • specification –  the default setting, enforces compliance with the official Arduino project specifications (sketch, library, platform).
  • strict – enforces best practices, above and beyond the minimum requirements for specification compliance. Use this setting to ensure the best experience for the users of the project.

Library Manager setting

Arduino Library Manager is the best way to provide installation and updates of Arduino libraries. In order to be accepted for inclusion in Library Manager, a library is required to meet some requirements.

Arduino Lint provides checks for these requirements as well, controlled by the --library-manager flag.

The Library Manager submission-specific rules are enabled via --library-manager submit.

Even if your library isn’t yet ready to be added to Library Manager, it’s a good idea to use this setting to ensure no incompatibilities are introduced.

Once your library is in the Library Manager index, each release is automatically picked up and made available to the Arduino community. Releases are also subject to special rules. The command arduino-lint --library-manager update will tell you whether your library is compliant with these rules.

Integration

The --format flag configures the format of arduino-lint‘s output. The default --format text setting provides human readable output. For automation or integration with other tools, the machine readable output provided by --format json may be more convenient. This setting exposes every detail of the rules that were applied.

The --report-file flag causes arduino-lint to write the JSON output to the specified file.

Continuous integration

Arduino Lint would be a great addition to your continuous integration system. Running the tool after each change to the project can allow you to identify any problems that were introduced.

This is easily done by using the arduino/arduino-lint-action GitHub Actions action: https://github.com/arduino/arduino-lint-action

Add a simple workflow file to the repository of your Arduino project and GitHub will automatically run Arduino Lint on every pull request and push.

Give it a try!

Will your project get a passing grade from Arduino Lint? There’s only one way to find out…

Support and feedback

You can discuss or get assistance with using Arduino Lint on the Arduino Forum.

Feedback is welcome! Please submit feature requests or bug reports to the issue trackers:

Supporting teachers and students with remote learning through free video lessons

via Raspberry Pi

Working with Oak National Academy, we’ve turned the materials from our Teach Computing Curriculum into more than 300 free, curriculum-mapped video lessons for remote learning.

A girl in a hijab learning at home at a laptop

A comprehensive set of free classroom materials

One of our biggest projects for teachers that we’ve worked on over the past two years is the Teach Computing Curriculum: a comprehensive set of free computing classroom materials for key stages 1 to 4 (learners aged 5 to 16). The materials comprise lesson plans, homework, progression mapping, and assessment materials. We’ve created these as part of the National Centre for Computing Education, but they are freely available for educators all over the world to download and use.

More than 300 free, curriculum-mapped video lessons

In the second half of 2020, in response to school closures, our team of experienced teachers produced over 100 hours of video to transform Teach Computing Curriculum materials into video lessons for learning at home. They are freely available for parents, educators, and learners to continue learning computing at home, wherever you are in the world.

Here’s the start of lesson 2 in the Year 8 ‘Computer systems’ unit

You’ll find our videos for more than 300 hour-long lessons on the Oak National Academy website. The progression of the lessons is mapped out clearly, and the videos cover England’s computing national curriculum. There are video lessons for:

  • Years 5 and 6 at key stage 2 (ages 7 to 11)
  • Years 7, 8, and 9 at key stage 3 (ages 11 to 14)
  • Examined (GCSE) as well as non-examined (Digital Literacy) at key stage 4 (ages 14 to 16)

To access the full set of classroom materials for teaching, visit the National Centre for Computing Education website.

The post Supporting teachers and students with remote learning through free video lessons appeared first on Raspberry Pi.

Arduino-powered puzzle boxes help pop the question

via Arduino Blog

As a creative way to “pop the question,” Redditor lmjd14 proposed to his girlfriend using a sequence of Arduino-based puzzle boxes.

As seen here, the first box opens when one inputs a series of codes on a keypad, which relate to important relationship dates, while the second responds to holding down the correct buttons. The third involves a set of colored coins, and the fourth is activated with some RFID-enabled statues from the other boxes.

The final box was unlocked with lmjd14’s now-fiance’s thumbprint, using a GPS module that allows it to be opened only in the correct location. As she said yes, it’s a hack that they will both certainly cherish, and something that will be a great story to tell others in the future!

New Year, New Projects

via SparkFun: Commerce Blog

With the start of each new year we take a look at what we think is going to be a big hit with our customers, so we can get some ideas on what to build throughout the year. It's pretty obvious that last year threw a wrench in the works to the point that we really didn't have any idea of what could arise from a world in quarantine but it was really interesting to see the sorts of projects that came out of it.

What's your next project?

We're seeing a roll out of a couple of vaccines - could we see more biometrics projects and products in 2021? Could we see a rise in homegrown machine learning builds that automatically detect body temperature when entering a building? Maybe we'll see a rise in GPS projects once people are able to go out into the wild again for hikes and other adventures.

The important thing to remember is to keep your brain occupied with something constructive, especially in uncertain times. That's why we want to pose a question and open a discussion: What projects are you working on in 2021? It can be as complex as building a new AI to play chess against, or as simple as assembling a model (I just ordered a new Gundam model to add some electronics to). So please, leave a comment below, let us know what you are working on and let's encourage each other's ideas!


comments | comment feed

These Furby-‘controlled’ Raspberry Pi-powered eyes follow you

via Raspberry Pi

Sam Battle aka LOOK MUM NO COMPUTER couldn’t resist splashing out on a clear Macintosh case for a new project in his ‘Cosmo’ series of builds, which inject new life into retro hardware.

furby facial recognition robot in a clear case in front of a dark background
AAGGGGHHHHHHH!

This time around, a Raspberry Pi, running facial recognition software, and one of our Camera Modules enable Furby-style eyes to track movement, detect faces, and follow you around the room.

Give LOOK MUM NO COMPUTER a follow on YouTube

He loves a good Furby does Sam. Has a whole YouTube playlist dedicated to projects featuring them. Seriously.

Raspberry Pi  with camera module attached to small screen loading software needed to run face recognition
Sam got all the Raspberry Pi kit needed from Pimoroni

Our favourite bit of the video is when Sam meets Raspberry Pi for the first time, boots it up, and says:

“Wait, I didn’t know it was a computer. It’s an actual computer computer. What?!”

face recognition software running on small screen with raspberry pi camera behind it, looking at the maker
Face recognition software up and running on Raspberry Pi

The eyes are ping pong balls cut in half so you can fit a Raspberry Pi Camera Module inside them. (Don’t forget to make a hole in the ‘pupil’ so the lens can peek through).

Maker inserting raspberry pi camera module inside a sliced ping pong ball. You can see the ribbons of the camera module sticking out of the ping pong ball half
Raspberry Pi Camera Module tucked inside ping pong ball as it’s mounted to a 3D-printed part

The Raspberry Pi and display screen are neatly mounted on the side of the Macintosh so they’re easily accessible should you need to make any changes.

Raspberry Pi and display screen mounted on the side of a clear macintosh frame
Easy access

All the hacked, repurposed junky bits sit inside or are mounted on swish 3D-printed parts.

Add some joke shop chatterbox teeth, and you’ve got what looks like the innards of a Furby staring at you. See below for a harrowing snapshot of Zach’s ‘Furlexa’ project, featured on our blog last year. We still see it when we sleep.

It gets worse the more you look around

It wasn’t enough for Furby-mad Sam to have created a Furby look-a-like face-tracking robot, he needed to go further. Inside the clear Macintosh case, you can see a de-furred Furby skeleton atop a 3D-printed plinth, with redundant ribbon cables flowing from its eyes into the back of the face-tracking robot face, thus making it appear as though the Furby is the brains behind this creepy creation that is following your every move.

a side view of the entire build with a furby skeleton visible inside
Hey in there. We see you! You dark lord of robo-controlling

Eventually, Sam’s Raspberry Pi–powered creation will be on display at the Museum of Everything Else, so you can go visit it and play with all the “obsolete and experimental technology” housed there. The museum is funded by the Look Mum No Computer Patreon page.

The post These Furby-‘controlled’ Raspberry Pi-powered eyes follow you appeared first on Raspberry Pi.

Reverse-engineering a low-power LED flasher chip

via Dangerous Prototypes

Ken writes, “How do you make an LED blink? A vintage way is the LM3909, a chip from 1975 that can flash an LED for a year from a single flashlight battery. This chip has some surprising features, such as a charge pump that lets you power a 2-volt LED from a 1.5-volt battery. This IC was designed for simplicity, using just an LED, external capacitor, and battery. In this blog post, I reverse-engineer its silicon die.”

More details on Ken Shirriff’s blog.