Monthly Archives: September 2019

How to design and build your own Lithium battery pack

via Dangerous Prototypes

Adam Bender posted detailed instructions of how to design and build a custom DIY lithium battery pack with 18650 cells:

Designing a custom lithium battery pack is a fun way to learn about electricity and engineering. Lithium batteries can be used for countless applications including electric bikes, scooters, vehicles, backup power suppliers, off the grid solutions, and much more.

More details on Adam Bender’s blog. See part one of this series for the battery build.

Check out the video after the break.

Pulling Raspberry Pi translation data from GitHub

via Raspberry Pi

What happens when you give two linguists jobs at Raspberry Pi? They start thinking they can do digital making, even though they have zero coding skills! Because if you don’t feel inspired to step out of your comfort zone here — surrounded by all the creativity, making, and technology — then there is no hope you’ll be motivated to do it anywhere else.

two smiling women standing in front of a colourful wall

Maja and Nina, our translation team, and coding beginners

Maja and I support the community of Raspberry Pi translation volunteers, and we wanted to build something to celebrate them and the amazing work they do! Our educational content is already available in 26 languages, with more than 400 translations on our projects website. But our volunteer community is always translating more content, and so off we went, on an ambitious (by our standards!) mission to create a Raspberry Pi–powered translation notification system. This is a Raspberry Pi that pulls GitHub data to display a message on a Sense HAT and play a tune whenever we add fresh translated content to the Raspberry Pi projects website!

Breaking it down

There were three parts to the project: two of them were pretty easy (displaying a message on a Sense HAT and playing a tune), and one more challenging (pulling information about new translated content added to our repositories on GitHub). We worked on each part separately and then put all of the code together.

Two computers and two pastries

Mandatory for coding: baked goods and tea

Displaying a message on Sense HAT and playing a sound

We used the Raspberry Pi projects Getting started with the Sense HAT and GPIO music box to help us with this part of our build.

At first we wanted the Sense HAT to display fireworks, but we soon realised how bad we both are at designing animations, so we moved on to displaying a less creative but still satisfying smiley face, followed by a message saying “Hooray! Another translation!” and another smiley face. LED screen displaying the message 'Another translation!'

We used the sense_hat and time modules, and wrote a function that can be easily used in the main body of the program. You can look at the comments in the code above to see what each line does:

Python code snippet for displaying a message on a Sense HAT

So we could add the fun tune, we learned how to use the Pygame library to play sounds. Using Pygame it’s really simple to create a function that plays a sound: once you have the .wav file in your chosen location, you simply import and initialise the pygame module, create a Sound object, and provide it with the path to your .wav file. You can then play your sound:

Python code snippet for playing a sound

We’ve programmed our translation notification system to play the meow sound three times, using the sleep function to create a one-second break between each sound. Because why would you want one meow if you can have three?

Pulling repository information from GitHub

This was the more challenging part for Maja and me, so we asked for help from experienced programmers, including our colleague Ben Nuttall. We explained what we wanted to do: pull information from our GitHub repositories where all the projects available on the Raspberry Pi projects website are kept, and every time a new language directory is found, to execute the sparkles and meow functions to let us and EVERYONE in the office know that we have new translations! Ben did a bit of research and quickly found the PyGithub library, which enables you to manage your GitHub resources using Python scripts.

Python code snippet for pulling data from GitHub

Check out the comments to see what the code does

The script runs in an infinite loop, checking all repositories in the ‘raspberrypilearning’ organisation for new translations (directories with names in form of xx-XX, eg. fr-CA) every 60 minutes. Any new translation is then printed and preserved in memory. We had some initial issues with the usage of the PyGithub library: calling .get_commits() on an empty repository throws an exception, but the library doesn’t provide any functions to check whether a repo is empty or not. Fortunately, wrapping this logic in a try...except statement solved the problem.

And there we have it: success!

Demo of our Translation Notification System build

Subscribe to our YouTube channel: http://rpf.io/ytsub Help us reach a wider audience by translating our video content: http://rpf.io/yttranslate Buy a Raspberry Pi from one of our Approved Resellers: http://rpf.io/ytproducts Find out more about the #RaspberryPi Foundation: Raspberry Pi http://rpf.io/ytrpi Code Club UK http://rpf.io/ytccuk Code Club International http://rpf.io/ytcci CoderDojo http://rpf.io/ytcd Check out our free online training courses: http://rpf.io/ytfl Find your local Raspberry Jam event: http://rpf.io/ytjam Work through our free online projects: http://rpf.io/ytprojects Do you have a question about your Raspberry Pi?

Our ideas for further development

We’re pretty proud that the whole Raspberry Pi office now hears a meowing cat whenever new translated content is added to our projects website, but we’ve got plans for further development of our translation notification system. Our existing translated educational resources have already been viewed by over 1 million users around the world, and we want anyone interested in the translations our volunteers make possible to be able to track new translated projects as the go live!

One way to do that is to modify the code to tweet or send an email with the name of the newly added translation together with a link to the project and information on the language in which it was added. Alternatively, we could adapt the system to only execute the sparkles and meow functions when a translation in a particular language is added. Then our more than 1000 volunteers, or any learner using our translations, could set up their own Raspberry Pi and Sense HAT to receive notifications of content in the language that interests them, rather than in all languages.

We need your help

Both ideas pose a pretty big challenge for the inexperienced new coders of the Raspberry Pi translation team, so we’d really appreciate any tips you have for helping us get started or for improving our existing system! Please share your thoughts in the comments below.

The post Pulling Raspberry Pi translation data from GitHub appeared first on Raspberry Pi.

App note: Orientations and Rotations

via Dangerous Prototypes

App note from Kionix on the introduction of most common method in determining orientation and rotations in an accelerometer. Link here (PDF)

The fact that accelerometers are sensitive to the gravitational force on the device allows them to be used to determine the attitude of the sensor with respect to the reference gravitational vector. This attitude determination is very useful in leveling or gimballing gyroscopes and magnetometers for use in compass and navigation instruments; determining tilt for game controller applications; and determining tilt or rotation for screen rotation of handheld devices. The method for calculating orientation or rotation depends on the specific application.

OSHWA 2019-2021 Board Nominations Open!

via Open Source Hardware Association

OSHWA is looking for 4 new faces to join the board of directors for the Open Source Hardware Association. The nominee form is for self-nominations only. Please fill out the nominee form (deactivated Oct. 11th) to become a nominee or forward the link to someone you want to nominate. Do not fill out the form for someone else. The purpose of this form is to tell voting members why you want to serve on the OSHWA board. We will be publish the nominees and their answers on Oct 13th. Board members hold a 2-year position. Once board members have been chosen by the community, the board will appoint a President, VP, and Secretary. Board responsibilities include fundraising, advising on goals and direction, and carry out compliance with the organizations purposes and bylaws. See the board member agreement to get a sense of the responsibilities. Board members are expected to adhere to the board attendance policy and come prepared having read the board packet. Board members are expected to spend 5-10 hours of time per month on OSHWA. Nominees can submit questions to info@oshwa.org. Nominations will be open until Oct. 11th.

Member voting will take place Oct. 14-16. Want to vote in the election? Become a member! Please note that only individuals can vote, corporate members cannot.

Friday Product Post: On Our Radar

via SparkFun: Commerce Blog

Welcome back, everyone! It's Friday and that means new products for you to enjoy! This week, after a very successful GroupGets campaign, the SparkFun Pulsed Radar Breakout is now available. Along with the new sensor breakout, we also have for you the SparkFun gator:scence Kit that includes all of our gator-clippable boards making it easy to get set up with micro:bit! Now let's take a closer look at what we have!

It's pulsed up!

SparkFun Pulsed Radar Breakout - A111

SparkFun Pulsed Radar Breakout - A111

SEN-15577
$59.95

Does your project require high-precision, cutting-edge distance measurement? Or maybe speed, motion, or gesture-sensing? We're not talking about simple ultrasonic or even infrared here, but 60GHz radar! Well say hello to the SparkFun A111 Pulsed Radar Breakout! The A111 is a single-chip solution for pulsed coherent radar (PCR) and comes complete with an integrated antenna and an SPI interface capable of clock speeds of up to 50MHz. Though the A111's primary use case is distance-sensing, it also supports applications in gesture, motion, material, and speed-detection at distances of up to two meters.


SparkFun gator:science Kit for micro:bit

SparkFun gator:science Kit for micro:bit

KIT-15596
$99.95

As part of SparkFun's gator:bit series of alligator-clippable accessories, the SparkFun gator:science Kit includes all of the current sensor-related gator:boards to get started playing with the SparkFun gator:bit ecosystem. It includes seven micro:bit accessory boards to expand the functionality & your ability to experiment right out of the box along with the latest revision of the gator:bit; an all-in-one “carrier” board for your micro:bit that provides you with a fully functional development and prototyping platform. This kit is recommended for all users, from beginners to engineers and does not require any soldering at all!


That's it for this week! As always, we can't wait to see what you make! Shoot us a tweet @sparkfun, or let us know on Instagram or Facebook. We’d love to see what projects you’ve made!

comments | comment feed

View Stonehedge in real time via Raspberry Pi

via Raspberry Pi

You can see how the skies above Stonehenge affect the iconic stones via a web browser thanks to a Raspberry Pi computer.

Stonehenge

Stonehenge is Britain’s greatest monument and it currently attracts more than 1.5 million visitors each year. It’s possible to walk around the iconic stone circle and visit the Neolithic houses outside the visitor centre. Yet, worries about potential damage have forced preservationists to limit access.

With that in mind, Eric Winbolt, Interim Head of Digital/Innovation at English Heritage, had a brainwave. “We decided to give people an idea of what it’s like to see the sunrise and sunset within the circle, and allow them to enjoy the skies over Stonehenge in real time without actually stepping inside,” he explains.

This could have been achieved by permanently positioning a camera within the stone circle, but this was ruled out for fear of being too intrusive. Instead, Eric and developers from The Bespoke Pixel agency snapped a single panoramic shot of the circle’s interior using a large 8K high-res, 360-degree camera when the shadows and light were quite neutral.

“We then took the sky out of the image with the aim of capturing an approximation of the view without impacting on the actual stones themselves,” Eric says.

Stone me

By taking a separate hemispherical snapshot of the sky from a nearby position and merging it with the master photograph of the stones, the team discovered they could create a near real-time effect for online visitors. They used an off-the-shelf, upwards-pointing, 220-degree fish-eye lens camera connected to a Raspberry Pi 3 Model A+ computer, taking images once every four minutes.

This Raspberry Pi was also fitted with a Pimoroni Enviro pHAT containing atmospheric, air pressure, and light sensors. Captured light values from the sky image were then used to alter the colour values of the master image of the stones so that the light on Stonehenge, as seen via the web, reflected the ambient light of the sky.

What can you see?

“What it does is give a view of the stones as it looks right now, or at least within a few minutes,” says Eric. “It also means the effect doesn’t look like two images simply Photoshopped together.”

Indeed, coder Mark Griffiths says the magic all runs from Node.js. “It uses a Python shell to get the sensor data and integrates with Amazon’s AWS and an IoT messaging service called DweetPro to tie all the events together,” he adds.

There was also a lot of experimentation. “We used the HAT via the I2C connectors so that we could mount it away from the main board to get better temperature readings,” says Mark, “We also tried a number of experiments with different cameras, lenses, and connections and it became clear that just connecting the camera via USB didnít allow access to the full functionality and resolutions.”

Mark reverse-engineered the camera’s WiFi connection and binary protocol to work out how to communicate with it via Raspberry Pi so that full-quality images could be taken and downloaded. “We also found the camera’s WiFi connection would time out after several days,” reveals Mark, “so we had to use a relay board connected via the GPIO pins.”
With such issues resolved, the team then created an easy-to-use online interface that lets users click boxes and see the view over the past 24 hours. They also added a computer model to depict the night sky.

“Visitors can go to the website day and night and allow the tool to pan around Stonehenge or pause it and pan manually, viewing the stones as they would be at the time of visiting,” Eric says. “It can look especially good on a smart television. It’s very relaxing.”

View the stones in realtime right now by visiting the English Heritage website.

The post View Stonehedge in real time via Raspberry Pi appeared first on Raspberry Pi.