Monthly Archives: November 2019

The Annoying CAPS LOCK warning buzzer

via Dangerous Prototypes

Glen Akins made a USB notification device that make annoying warning noise when CAPS LOCK is enabled:

The only way to make CAPS LOCK even more annoying was to make it audible! Now never type a password in all upper case, join 500 lines together in vi, or turn a harmless forum post into an ANGRY SCREED without warning again! This project uses a PIC16F1459 to monitor the USB output report containing the CAPS LOCK status from the connected PC. When CAPS LOCK is enabled, the PIC turns on an annoying warning buzzer.

Project details at, see Part 1 here. All design files are available on github.

Enginursday: Pi To-Go

via SparkFun: Commerce Blog

It's Almost that Time of Year

Fall is in full swing, cold weather has set in, and it is finally time to get ready for Black Friday sales... in particular NEW COMPUTER PARTS!

I am a staunch observer of the time-honored fall tradition of buying my hardware computing needs in November. This year, I was looking for a cheap and portable computer that could:

  • Easily be carried around
  • Is relatively inexpensive
  • Runs off a distribution of Linux

I have built and upgraded my own PCs for the past decade or so, but always felt left out when it came to portable computing stations. They are notoriously tricky to build and maintain on one's own. This year I decided to address my needs with a portable Raspberry Pi station! New laptops typically cost several hundred dollars or more. Raspberry Pis are objectively awesome for their power, price and size. I've had a hard time using them for personal projects due to needing a whole nest of peripherals (such as keyboards, mouse, display, etc.) that can make it hard to move a board that weighs only 1.5 oz. That's all about to change.

I have had this Samsonite briefcase I've kept in the event I get a fancy job that requires me to carry files around. I have seen some briefcase computer builds before and decided this was my shot. Opening a briefcase to reveal display and wires feels like it fell right off a page of Neuromancer to me. With 2020 right around the corner, there's a good chance the Penske file would be digital anyway.

Briefcase on Benchtop

Parts and Peripherals

As I stated earlier, moving a display, mouse and keyboard has been the biggest issue I've had utilizing a single board computer like a Raspberry Pi. They were my primary focus to get right with this setup, so I dug into the SparkFun catalog to see what could be used for this project.

Here is list of what I used.

We have a large selection of our own breakout boards, hats and peripherals. If you haven't already, I recommend checking them out!

Touch Display and Case

This Rasperry Pi touch display and the case for it made for an easy choice. The SmartiPi Touch acts as a case for the Pi and for the display while leaving the GPIO exposed for use. The case comes with a nice USB splitter so I can power both Pi and display from a single wall-wart. Oh, and there are Lego-compatible studs on it!

Raspberry Pi LCD - 7" Touchscreen

Raspberry Pi LCD - 7" Touchscreen

SmartiPi Touch

SmartiPi Touch


Mouse and Keyboard Combo

I wanted a mouse and keyboard that I could easily keep in the case and would operate wirelessly. Enter the two-in-one keyboard and touchpad:

Multimedia Wireless Keyboard

Multimedia Wireless Keyboard


Pi GPIO Breakout Board

While the GPIO is exposed on the back of the display, I wanted to be able to easily use the pins on the fly and plug in a breakout board or Pi hat easily. The Sparkfun Pi Wedge and GPIO cable solved this issue. It also allows for easy breadboarding with the GPIO.

SparkFun Pi Wedge

SparkFun Pi Wedge


Here's a quick image of the the parts in the case so far.


Pi attached to the display and keyboard. I still have three USB ports available, and all the GPIOs.


A power bank with output of 5V 2.5A is helpful if I need to run the Pi away from an outlet. While it doesn't last very long, it's more than enough if I need to make a few quick changes. Much like using a laptop though, there is often an outlet nearby.

I'll take that Pi to go

With everything assembled and mounted with screws, I have a protective case surrounding my Pi, display and all my peripherals. We utilize Raspberry Pis in our testing and programming here at SparkFun, and they bring their own set of solutions and challenges. We typically utilize them in a "headless" manner and rely on indicator LEDs to let our assembly technicians know the status of the test. This creates a challenge while doing test development or when repairing testing equipment, and involves bringing a large amount of equipment to check the onboard scripts and make changes. With this setup I can easily plug in a Pi and start working.

Briefcase on Benchtop

Programming a Qwiic RFID over ISP with the Pi-Grammer hat

The keyboard fits nicely in the top compartment and by the time the Pi has finished shutting down, everything is packed up and ready to go.

Portable Pi Case Workstation Open Portable Pi Case Workstation Open

What is Your Setup?

There is a growing community of briefcase computer builders and folks looking to made single board computers more mobile and accessible. Are you carefully packing up your Cyberdeck in an ESD-Foam lined case? A loose grocery bag filled with power supplies and parts? How are YOU setting up your Pi? Let us know in the comments, and happy part hunting this season!

comments | comment feed

Sustainable clothing with Rapanui and Raspberry Pi

via Raspberry Pi

New to the Raspberry Pi Store, Cambridge: T-shirts made using Raspberry Pis in Rapanui’s sustainable factory.

Oli Wilkin – our Glorious Retail Guru, to give him his formal title – has been hard at work this year bringing the Raspberry Pi Store, Cambridge, to life. Open since February, the store continues to evolve as it introduces our credit card-sized computer to a high-street audience. Oli and the store team are always talking to customers, exploring new ideas, and making changes. Here’s Oli on the latest development: Rapanui clothing, made sustainably with the help of Raspberry Pis.

Rapanui 2

Subscribe to our YouTube channel: Help us reach a wider audience by translating our video content: Buy a Raspberry Pi from one of our Approved Resellers: Find out more about the #RaspberryPi Foundation: Raspberry Pi Code Club UK Code Club International CoderDojo Check out our free online training courses: Find your local Raspberry Jam event: Work through our free online projects: Do you have a question about your Raspberry Pi?


Brothers Mart and Rob started bespoke clothing company Rapanui in a garden shed on the Isle of Wight, with an initial investment of £200 (about $257 US). Ten years later, Rapanui has grown to a fully fledged factory providing over 100 jobs. Their vision to create a sustainable clothing brand has seen them increase Rapanui’s offering from T-shirts to a much wider range of clothing, including jumpers, socks, and jackets. Another reason we like them a lot is that the factory uses over 100 Raspberry Pis with a wide variety of functions.

Rapanui’s early early days weres not without their challenges. Mart and Rob found early on that every improvement in sustainability came with a price tag. They realised that they could use technology to help keep costs down without cutting corners:

Along the way, we needed a real low-cost option for us to be able to get computing in and around the place. Someone said,
“Oh, you should check out Raspberry Pi.”
“What’s that?”
“It’s a computer, and costs twenty quid or something, and it’s the size of a credit card.”
“OK – that can’t be true!”

We got one, and it just blew our mind, because there’s no limit to what we could do with it.
– Mart

The Raspberry Pis are supporting things like productivity improvements, order tracking, workload prioritisation, and smart lighting. All employees are encouraged to try coding when they start working for Rapanui, and they’re empowered to change their workplace to make it smarter and more efficient.

As Mart explains,

In the world today, there’s a lot of issues around environment and sustainability, which feel like compromises – you want to do your bit, but it costs more. What this kind of technology allows us to do is make things cost less because you can create these massive efficiencies through technology, and that’s what enables you to be able to afford the things that you want to do with sustainability, without having to compromise on price.

Circular economy

All of the organic cotton that Rapanui uses is fully traced from India to the Isle of Wight, where it is turned into amazing quality branded items for their customers. Once a garment has come to the end of its life, a customer can simply scan the QR code on the inside label, and this QR code generates a Freepost address. This allows the customer to send their item back to Rapanui for a webshop credit, thus creating a circular economy.

Raspberry Pi + Rapanui

All of this makes us very pleased to be working with Rapanui to print the T-shirts you buy in the Raspberry Pi store.

Rapanui – from workshop to store

Subscribe to our YouTube channel: Help us reach a wider audience by translating our video content: Buy a Raspberry Pi from one of our Approved Resellers: Find out more about the #RaspberryPi Foundation: Raspberry Pi Code Club UK Code Club International CoderDojo Check out our free online training courses: Find your local Raspberry Jam event: Work through our free online projects: Do you have a question about your Raspberry Pi?

We have started with our Raspberry Pi 4 T-shirt, and others will follow. Our hope is that all our T-shirts will be fully sustainable and better for you, our customers.

The post Sustainable clothing with Rapanui and Raspberry Pi appeared first on Raspberry Pi.

Arduino on GitHub Actions

via Arduino Blog

This post is from Massimiliano Pippi, Senior Software Engineer at Arduino.

GitHub Actions is the name of the SDLC (Software Development Life Cycle) system introduced by GitHub about a year ago, currently in public beta and now approaching the general availability status. When you read SDLC, think about some sort of CI/CD system that’s generic enough to let you define a sequence of operations not necessarily limited to build, test, and deploy code: GitHub Actions can help you automate processes in code reviews, issue triaging, and repository management.

GitHub Actions have been part of the tools we use at Arduino for a while now; helping us solve a wide range of problems from automating workflows within our backend infrastructure, to managing the release process of our open source software. In the spirit of giving back to the community, we started publishing some of the Actions we developed internally so that they can be used right ahead from any GitHub account that’s been granted access to the public beta of GitHub Actions, and eventually in any GitHub repository.

Our Actions are available from this repository and there’s one in particular we think the Arduino community will be happy to have – it’s called setup-arduino-cli and under the hood it takes all the steps necessary to have the `arduino-cli` binary available in a Workflow.  This means that in any step of your Workflow you can leverage the long list of features of the Arduino CLI.

# This is the name of the workflow, visible on GitHub UI.
name: test
# Here we tell GitHub to run the workflow when a commit
# is pushed or a Pull Request is opened.
on: [push, pull_request]
# This is the list of jobs that will be run concurrently.
# Since we use a build matrix, the actual number of jobs
# started depends on how many configurations the matrix
# will produce.
  # This is the name of the job - can be whatever.
    # Here we tell GitHub that the jobs must be determined
    # dynamically depending on a matrix configuration.
        # The matrix will produce one job for each configuration
        # parameter of type arduino-platform, in this case a
        # total of 2.
        arduino-platform: ["arduino:samd", "arduino:avr"]
        # This is usually optional but we need to statically define the
        # FQBN of the boards we want to test for each platform. In the
        # future the CLI might automatically detect and download the core
        # needed to compile against a certain FQBN, at that point the
        # following include section will be useless.
          # This works like this: when the platform is "arduino:samd", the
          # variable fqbn is set to "arduino:samd:nano_33_iot".
          - arduino-platform: "arduino:samd"
            fqbn: "arduino:samd:nano_33_iot"
          - arduino-platform: "arduino:avr"
            fqbn: "arduino:avr:uno"
    # This is the platform GitHub will use to run our workflow, we
    # pick Windows for no particular reason.
    runs-on: windows-latest
    # This is the list of steps this job will run.
      # First of all, we clone the repo using the checkout action.
      - name: Checkout
        uses: actions/checkout@master
      # We use the arduino/setup-arduino-cli action to install and
      # configure the Arduino CLI on the system.
      - name: Setup Arduino CLI
        uses: arduino/setup-arduino-cli@v1.0.0
      # We then install the platform, which one will be determined
      # dynamically by the build matrix.
      - name: Install platform
        run: |
          arduino-cli core update-index
          arduino-cli core install ${{ matrix.arduino-platform }}
      # Finally, we compile the sketch, using the FQBN that was set
      # in the build matrix.
      - name: Compile Sketch
        run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./blink


Let’s say you keep your sketches in a GitHub repository, and you want to be sure that every time you push a git commit or you merge a pull request, the sketches compile correctly on certain boards you own, for example a Nano 33 IoT and a Uno. To keep the configuration at minimum, we can use a “build matrix”, so that GitHub will start a different job for each one of the platforms we list in the matrix, without the need to configure them explicitly.

You can find a working example here:

You can find more info and docs for the Action on the GitHub Marketplace: if you like it, please leave us a star!
We’re eager to hear your feedback, feel free to hit the Action repository and open an issue should you find any problem, or a feature request in case you want more from the action.

ATTiny85 Pulse oximeter with photoplethysmogram (PPG) display

via Dangerous Prototypes

tinyPulsePPG, an ATTiny85 Pulse Oximeter with Photoplethysmogram (PPG) display by Jeff Magee:

This project implemented on an ATTiny85 displays a moving Photoplethysmogram together with pulse rate and estimates of SpO2 – blood oxygen percentage. It uses an SSD1306 128×32 OLED display and a Max30102 sensor. It is emphasised that this should not be used for medical purposes. The computation of SpO2 is very approximate and not calibrated in any way. The project is an exercise in software and hardware parsimony.

Project info on GitHub.

Current meter based on ESP-12E and LTC4150

via Dangerous Prototypes

Victor Chew made a simple current meter based on ESP-12E, LTC-4150 and SSD1306 OLED module that measure the average current draw of a variable load accurately:

The meter is powered by the micro-USB port on the ESP-12E. I soldered header pins onto the IN and OUT terminals of the LTC-4150. The whole idea is that one could plug the source battery into the IN terminals, and plug the circuit to be tested into the OUT terminals, press the “Reset” (RST) button on the ESP-12E, and it will start measuring the average current draw of the circuit.

Project info at Source code can be found on GitHub.