The Raspberry Pi shop, one month in

via Raspberry Pi

Five years ago, I spent my first day working at the original Pi Towers (Starbucks in Cambridge). Since then, we’ve developed a whole host of different products and services which our customers love, but there was always one that we never got around to until now: a physical shop. (Here are opening times, directions and all that good stuff.)

Years ago, my first idea was rather simple: rent a small space for the Christmas month and then open a pop-up shop just selling Raspberry Pis. We didn’t really know why we wanted to do it, but suspected it would be fun! We didn’t expect it to take five years to organise, but last month we opened the first Raspberry Pi store in Cambridge’s Grand Arcade – and it’s a much more complete and complicated affair than that original pop-up idea.

Given that we had access to a bunch of Raspberry Pis, we thought that we should use some of them to get some timelapse footage of the shop being set up.

Raspberry Pi Shop Timelapse

Uploaded by Raspberry Pi on 2019-03-22.

The idea behind the shop is to reach an audience that wouldn’t necessarily know about Raspberry Pi, so its job is to promote and display the capabilities of the Raspberry Pi computer and ecosystem. But there’s also plenty in there for the seasoned Pi hacker: we aim to make sure there’s something for you whatever your level of experience with computing is.

Inside the shop you’ll find a set of project centres. Each one contains a Raspberry Pi project tutorial or example that will help you understand one advantage of the Raspberry Pi computer, and walk you through getting started with the device. We start with a Pi running Scratch to control a GPIO, turning on and off an LED. Another demos a similar project in Python, reading a push button and lighting three LEDs (can you guess what colour the three LEDs are?) –  you can also see project centres based around Kodi and RetroPi demonstrating our hardware (the TV-HAT and the Pimoroni Picade console), and an area demonstrating the various Raspberry Pi computer options.

store front

There is a soft seating area, where you can come along, sit and read through the Raspberry Pi books and magazines, and have a chat with the shop staff.  Finally we’ve got shelves of stock with which you can fill yer boots. This is not just Raspberry Pi official products, but merchandise from all of the ecosystem, totalling nearly 300 different lines (with more to come). Finally, we’ve got the Raspberry Pi engineering desk, where we’ll try to answer even the most complex of your questions.

Come along, check out the shop, and give us your feedback. Who knows – maybe you’ll find some official merchandise you can’t buy anywhere else!

The post The Raspberry Pi shop, one month in appeared first on Raspberry Pi.

Friday Product Post: Come RVR Here!

via SparkFun: Commerce Blog

Hello, everyone and welcome to another Friday new product post. This week, we have two different versions of the the SparkFun Arduino Pro Mini Starter Kit (5V and 3.3V). We also have pre-orders open for the Sphero RVR and its Autonomous Robotics Kits, as well as the new NVIDIA Jetson Nano Developer Kit.

As a reminder, the SparkFun Edge Development Board is available for pre-order – it's perfect if you are looking for an economical and easy way to get into the world of edge and machine learning. The entire board is powered by TensorFlow, so you know the type of capabilities the Edge is capable of!

Now let's get to the new products!

Start with a Pro Mini Today!

SparkFun Arduino Pro Mini Starter Kit - 5V/16MHz

SparkFun Arduino Pro Mini Starter Kit - 5V/16MHz

SparkFun Arduino Pro Mini Starter Kit - 3.3V/8MHz

SparkFun Arduino Pro Mini Starter Kit - 3.3V/8MHz


What's blue, thin and comes with everything you need to get started? The Pro Mini Starter Kit! The Pro Mini is SparkFun's minimal approach to Arduino, running at 5V with a 16MHz bootloader or 3.3V with an 8MHz bootloader. The Arduino Pro Mini does not come with connectors populated, so you can solder in any connector or wire, in any orientation you need.

SparkFun Basic Autonomous Kit for Sphero RVR

SparkFun Basic Autonomous Kit for Sphero RVR

SparkFun Advanced Autonomous Kit for Sphero RVR

SparkFun Advanced Autonomous Kit for Sphero RVR


The SparkFun Autonomous Kits for Sphero RVR provide an expansion set of sensors to the Sphero RVR platform. Based around Raspberry Pi’s small yet powerful Zero W model, the basic kit provides both global positioning and vision to the new robotics platform, while the advanced kit provides all the functionality of the basic kit with the addition of time-of-flight distance sensing.

Of course you are going to need a Sphero RVR to get these kits to work!

Sphero RVR - Programmable Robot

Sphero RVR - Programmable Robot


The Sphero RVR is the Go-Anywhere-Do-Anything Programmable Robot. Fully capable out of the box yet able to be expanded upon easily, the RVR (pronounced rover) is a robotics platform perfect for learning all about robotics! With tank treads and powerful, durable motors, the RVR can travel over most surfaces with ease using a highly advanced control system. In addition, on-board sensors such as encoders, an IMU and a color sensor make building a more advanced robot incredibly easy.

NVIDIA Jetson Nano Developer Kit

NVIDIA Jetson Nano Developer Kit


Cue theme music..."Meet NVIDIA Jetson!" The latest addition the Jetson family, the NVIDIA® Jetson Nano™ Developer Kit delivers the performance to run modern AI workloads. It boasts a small form factor, power-efficiency (consuming as little as 5 Watts) and low cost. Developers, learners and makers can run AI frameworks and models for applications like image classification, object detection, segmentation and speech processing.

The developer kit can be powered by micro-USB and comes with extensive I/Os, ranging from GPIO to CSI. This makes it simple for developers to connect a diverse set of new sensors to enable a variety of AI applications. We at SparkFun see this as potential for yelling "Stop this crazy thing!" to your friends & family!

Rotary Encoder - Illuminated (Red/Green)

Rotary Encoder - Illuminated (Red/Green)


Rotary encoders are used similarly to potentiometers, but they're different from potentiometers in that an encoder has full rotation without limits. They output gray code so you can tell how much and in which direction the encoder has been turned.

This encoder is especially cool because it has a red/green LED built in, as well as a push-button.

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!

We'll be back next week with even more fantastic new products!

comments | comment feed

Automatic Light Switch on the Internet of Things

via SparkFun: Commerce Blog


I just moved into my first new home and found the lighting situation in my garden-level office to be absolutely horrendous fluorescent tubes. For the time being I'm using two very large lamps, but I'm bad at remembering to turn them off when I leave, and getting across the room in the dark when I arrive is a dangerous affair. I decided to put my things on the Internet of Things by designing an automatic light switch using the SparkFun ESP8266 Thing Dev, SparkFun Quad Relay, and an infrared LED/receiver pair as a tripwire to turn the lights on and off. You can find all the parts I used for this project below.

Resistor Kit - 1/4W (500 total)

Resistor Kit - 1/4W (500 total)

SparkFun Qwiic Quad Relay

SparkFun Qwiic Quad Relay

SparkFun ESP8266 Thing - Dev Board

SparkFun ESP8266 Thing - Dev Board

Jumper Wires - Connected 6" (M/M, 20 pack)

Jumper Wires - Connected 6" (M/M, 20 pack)

IR Receiver Diode - TSOP38238

IR Receiver Diode - TSOP38238

Transistor - NPN, 50V 800mA (BC337)

Transistor - NPN, 50V 800mA (BC337)

LED - Infrared 950nm

LED - Infrared 950nm

Note!If you're interested in a hardware-focused tutorial on how to set up a 38kHz IR signal using a 555 timer, check out the Boss Alarm Tutorial.


The largest hurdle to this project was creating a 38kHz infrared signal that would act as an invisible tripwire to activate the lamps. The next hurdle was creating a second tripwire to act in conjunction with the first to accurately track people entering and exiting the room. Before we dive into the coding aspect of this project, first you must understand a smidge about infrared. Infrared is EVERYWHERE! Just outside of the visible spectrum, infrared is given off by our body in the form of heat, the sun blasts IR from space all the time and, not to be outdone, other stars share their IR with us as well. Because of this, the infrared tripwire must be modulated to be recognized by the IR receiver.

To create this signal I wanted to start from the ground up to get a better understanding of microcontroller timings. Generating a 38kHz signal from a SparkFun ESP8266 Thing operating at 32MHz will require some delays, but for how long? What will be the duty cycle of this signal, if any? To start I did some simple math:

Frequency of the SparkFun ESP8266 thing: 32MHz
Frequency of the IR signal: 38kHz
Number of cycles in one period of the IR signal (32MHz/38kHz): ~824.105
Period of one clock cycle for the ESP8266 Thing (time = 1/frequency): 31.25ns (wowzers)
Multiply the number of clock cycles to delay, by the length of the clock cycle: ~26.3us.
Final Result: ~26.3us

Logic Analyzer

Alright that's good enough for a starting point. If I did not have a logic analyzer at this point then I wouldn't be able to fine tune the signal to discover some other unknown time hang ups. I took the final result and wrote the IR LED high for half the calculated delay time using the delayMicroseconds() function (13us) and low for the other half (another 13us). Analyzing the signal showed that the signal was too slow, but why? After some investigation I found that writing the pin high takes some time to complete, which is not really something I've had to take into consideration before. I mean of course it does, but this is exactly the kind of stuff that is so great to come across when doing a project, because this is how I learn something new.

The time to write a pin high on an ESP8266 is approximately ~1.5us. Reducing the delay to about 23us gave just enough delay to generate a 37.89MHz wave which is enough for my purposes. Implementing the signal wasn't as successful. Looking at the datasheet for the IR receiver I discovered that blasting it with a IR signal continuously only forces the receiver to turn off signal capture for a time.

I searched our website for some help and came across Nate's tutorial on rebuilding the Lumitune, which really brought the whole thing together. If you look at the tutorial, he provides code for this large project that revolves around blocking an IR signal to play a piano key. In his code he simply pulsed the IR LED for a short burst and immediately read thereafter to see if it had been read. He delays for one millisecond between these bursts to keep from overloading the IR receiver. Of course! Sometimes you go down the rabbit hole and have a hard time getting perspective on your project. This is exactly what I needed to find. I set up the first and second IR transmitter/receiver pair and had two working tripwires. I futzed with the duty cycle to see how it affected the receiver, but found that 50 percent was sufficient.

This is screen shot of the logica analyzer display a 38kHz wave.
A screenshot from the logic analyzer of both the IR signal and just above, the IR receiver going low.

The Code

To have this work correctly I mentioned that my goal was to have two IR tripwires working together to determine whether a person was entering the room. With two I can determine whether a person is coming or going from the room, because it informs me of the direction they're walking.

Direction is vital because I can keep track of the number of people entering or exiting a room. By keeping track of the number of people in the room, I can prevent the lights from turning off whenever any one person departs the room and instead only when the room is empty. That's an important distinction and a common use case for my automatic light switch. Of course this is not a perfect system; I can imagine an instance where two separate people, one leaving and one entering, trigger both IR tripwires simultaneously. I can imagine a line of Redcoats walking down my hallway shoulder to shoulder, and my setup only senses one person when there are actually three in a line.

For all the edge use cases I'm simply going to put a button near the entrance to turn off the lights, and because we're on the internet, I'll be able to turn the lights on and off with my phone as well. To implement this well, I want the second IR tripwire to trigger after the first in a specific window of time so that I can accurately determine direction. Is there something else I should be considering? Let me know below.

The code for setting up two SparkFun EP8266's was not difficult. Our hookup guide shows how to set up a simple server and the client example code provided by Espresif was all I needed to get communication between the two working. Looking toward, the future I want the web page to have a better indicator for the lights. If you're interested in the code for your own project or are feeling curious, I've linked all the code below.

Infrared Circuit

Belolw is the circuit for the infrared tripwires. One thing to note is that the IR LED can use up to 50mA of current, which is more than the pin on the ESP8266 can provide. I use a NPN transistors with 68 Ohm resistors to provide the proper current. I actually breadboarded the circuit on two seperate breadboards so I could separate them as much as possible. However, the IR LEDs still managed to trigger the wrong receivers so I used aluminum foil to create a cone around each LED.

alt text

The ESP8266 controlling the SparkFun Qwiic Quad Relay was hooked up to the I2C pins. Check out the hookup guide for the Quad Relay if you want to know more. That's all, folks! In the GIF below I show a single lamp being turned with the specific order using the "direction" logic talked about in the code above, followed by the lights turning off by going in the opposite "direction."

This gif shows the IR leds getting covered in a particular order to turn on the lamp and then in the opposite order to turn off the lamp.
Notice the Aluminum cones?

The Physical Housing

The design for the physical housing of the project will have to occur sometime after this post. As of right now it's just a hodge podge of wires. My plan is to place the IR LED and receiver pairs some distance apart in the hallway. I'll probably laser cut small boxes to house the hardware with a small hole to direct the LED and alternatively, a small hole to house the receiver.

Looking to the future

As I was working on the write up for this project it occurred to me that if two people were walking close together that the logic of the code would not work. The first tripwire will be off until the first person either triggers the second or the window of time to trip the second ends. If two people are close together then a person could slip in without being sensed! I think instead it would be smarter to create a "stack" of entrances and exits, where each tripped tripwire has an associated time stamp. I can then compare tripped tripwires and their timestamps and make decisions based on the time between them. Let me know if you guys have any suggestions in the comments below!

comments | comment feed

The future of 3D printing with Dr Adrian Bowyer | HackSpace magazine #17

via Raspberry Pi

You might have heard of RepRap. It’s the project that began at the University of Bath in 2005 with the aim of creating a self-replicating, open-source 3D printer. As is the nature of open source, many other projects have spun off from RepRap, including the Prusa i3. Without RepRap, the field of 3D printing would be much smaller, less advanced, and a lot less open.

Adrian was made an MBE in the New Year Honours list, for services to 3D printing.

We drove many miles through wind and rain to meet Dr Adrian Bowyer, co-founder of the RepRap project who now, along with his daughter Sally, runs RepRap Ltd. The two of them are still pushing boundaries, raising standards, and lowering prices, so we sat down to talk about RepRap and where the 3D printing industry is heading.

It may be an obvious question, but why did you start the RepRap project?

Adrian Bowyer: Curiosity. I have always been interested in the idea of self-replicating machines ever since I was a child. When my university acquired some commercial 3D printers, as soon as they arrived I thought, ah, we’ve got a technology here that is sufficiently versatile that it stands a chance of being able to copy itself. Having had that idea, the very next question that occurs to your brain is: will this work? And that was the genesis of the project. I wanted to find out if we could make a machine that could print a significant fraction of its own parts and self-replicate.

It was literally the case that, at the height of development of RepRap in Bath 2008/2009, I was effectively running, in terms of numbers of staff, the biggest research project in any UK university. I wasn’t paying any of them of course, and they were distributed all over the world, but if you counted them up, there were more of them working with me than were working in any other single research project in any other university in the UK.

What are you doing with RepRap at the moment?

AB: We’re looking at distributed processor RepRaps, so instead of having a single CPU, we put a single CPU on each device in the machine, such as the heaters, the motors, and so on. This isn’t a new idea; other people have tried this in the past. From the perspective of Raspberry Pi, that’s interesting because such a machine wouldn’t need real-time response from the processor that’s at the heart of the machine.

If you’ve got a Linux system running on something, it’s not great for real-time control, because of interrupts. Whereas the sort of system we’re working on would have a Raspberry Pi in the middle, with a load of Arduinos around it. You can hand over the hardware timing to the Arduino, which, being dedicated, can be guaranteed to generate a poll every 20 microseconds or whatever it is. Whereas the thing sitting in the middle, doing the control, just has to be able to respond every few milliseconds. That’s something we’re putting together with Raspberry Pis and Arduinos.

Each Arduino is monitoring and controlling one aspect of the printer

One of the reasons that we want to do it is that we’re looking at making larger machines, and also a machine that not only is a 3D printer, but also incorporates a plasma cutter. Now, the thing about a plasma cutter is that it generates an enormous amount of electronic noise. You get lots of interference from it. So the ideal way to send electrical signals around the machine is not using electricity, but optics. So what we would be doing would be setting up a machine with optical communication between each of its component parts and the controller, so that electrical interference isn’t a problem, and, in order to do that [the system] has to be distributed in the way that I’ve just described.

Where, in general, do you think 3D printing is heading?

AB: The analogy I often draw is with washing clothes, which went through three stages: it started off with us washing our own clothes. In the scullery or the kitchen, you’d wash your clothes once a week. And then in Victorian times, as economies of scale kicked in, there would be a town laundry, where you would send your clothes and they’d come back clean. But now we have a robot in the kitchen that can wash our clothes. It’s come back to us, this time automated.

Making stuff in general, it seems to me, is going through that progression, just 100 years later. It started off that, if you needed a gate hinge, you went to the blacksmith in your village. He would make you a gate hinge. Now if you want a gate hinge, you go to the shop and buy one, and it was made halfway around the world. But if we bring some of that back into our cities, it’s like bringing our washing back from the town laundry into our homes. As long as it’s automated: the rule seems to be that if something is automatable so that people don’t have to pay a lot of attention, and it’s low-cost enough, people can take it back to themselves, and economies of scale get reversed.

This ukulele was printed in two parts. It’s playable, and sounds great.

Finally, congratulations on your MBE!

AB: That’s very kind! The certificate is an impressive thing. Signed by Her Majesty the Queen, and by Prince Philip as the person who is in charge of knighthoods and such.

I’m going up in May to Buckingham Palace to have it pinned on my chest, so that’ll be interesting. The commendation says: “Inventor: for services to 3D printing.” Short and to the point.

Read more

The full interview is in HackSpace magazine issue 17, where we also help you develop your Arduino skill, look at an open-source lathe, design a PCB in KiCad, build a polyphonic synthesizer, and much more.

Buy your copy now from the Raspberry Pi Press store, major newsagents in the UK, or Barnes & Noble, Fry’s, or Micro Center in the US. Or, download your free PDF copy from the HackSpace magazine website.

Never miss an issue

Subscribe today and get three issues for just £5 (in the UK — additional postage charges apply elsewhere)!

The post The future of 3D printing with Dr Adrian Bowyer | HackSpace magazine #17 appeared first on Raspberry Pi.

Moving to Open Source Email List Software

via Open Source Ecology

We just took another small step on our path to creating the open source economy. We are pleased to announce that we have installed the free, libre open source (FLOSS) email list software on OSE servers – phpList. We are now transitioning all of our email lists into phpList. When we decided on phpList in 2018 for the OSE Newsletter, it was determined to be the most feature-rich FLOSS alternative to the gold-standard paid alternative, MailChimp.

And this is a good time to get into compliance with GDPR – the recent European privacy regulations. To keep receiving updates from OSE – you will need to resubscribe to our lists if you are on them. Or to start receiving updates – you can subscribe for the first time:

We have several email lists. OSEmail is our main OSE Newsletter featuring news updates, workshop announcement, progress reports, and other noteworthy items. OSEmail comes out a few times per year at monthly or longer intervals. Anyone can sign up to receive our free newsletter. You can see more information at

We also have another newsletter for Design Sprints. Design Sprints are online virtual collaboration events where we engage in design and documentation work. Design events last from one to a few hours – typically on Friday or weekends – where we collaborate in real-time as a team. We use online editable documents and the OSE wiki to coordinate development work. Anyone with technical skills can participate, and we host several design sprints per year as needed. The Design Sprint newsletter is an announcement of upcoming Design Sprints which comes out every time that a Design Sprint is organized. It provides background information on the Design Sprint so that contributors get a heads up on what to expect. If you would like to participate, you can sign up at the Design Sprints Newsletter.

What kind of updates do we have in store? I am taking a ‘sabbatical’ to write a book. In 2008, we formulated the Global Village Construction Set (GVCS) and began blogging regularly. Continued progress got us to the world stage with my GVCS TED Talk in 2011. Since then, there has been lots of exciting developments – and not enough time to document them. At this here one decade mark since the beginning of the project – I decided to write a book about our learnings – and how to take the Global Village Construction Set to the next stage. The experiment is as alive as ever, with every day producing new evidence that transcending artificial scarcity and achieving freedom – for the first time in human history – is more possible than ever.

Still, we are far from the kind of impact that Linux has done for software. Why? That is the central question I will attempt to answer – as we focus for the next decade on opensourcing critical infrastructures of material prosperity. That is a prerequisite to self-determination and freedom – a central question that our civilization has not yet mastered. And many question whether we will survive at all. In another decade, end of 2028 – I’m retiring for the third time to work on applications of technology, not technology per say. That means helping people to grow – and building village campuses for global regeneration.

I believe that taking OSE to the next level requires a thorough analysis of all OSE learnings – as well as a survey of all knowledge gained by civilization to date across many disciplines. This helps put our work into perspective – as we are doing nothing new. We are just integrating and applying existing know-how and standing on the shoulders of giants.

So if you would like to keep receiving OSE news – or to join our mailing list for the first time – please do so by subscribing to the list below. For reasons of GDPR internet privacy regulations, we require that everyone on our existing lists resubscribe so that OSE is in compliance with the regulations.

Arduino Day 2019: Thank you 659 times!

via Arduino Blog

This year’s Arduino Day, held on March 16th, consisted of 659 celebrations across 106 countries with talks, project exhibitions, open activities, workshops, live demos, hackathons, and Ask the Expert sessions.

The Official Arduino Day event took place in Milan, in collaboration with Manifattura (see photos), where Massimo Banzi and Fabio Violante unveiled some important figures on Arduino, including the number of IDE downloads over the last year (28M), active users (863K), and Forum contributors (762K). They also presented the latest additions to the MKR family — the MKR GPS Shield, the MKR RGB Shield, the MKR ENV Shield and the MKR THERM Shield — as well as announced the development of the Vidor Visual Composer.

Other keynote sessions by our team focused on Arduino and the open source community, the winners of the Arduino Day Community Challenge, the new Arduino IoT Cloud, and highlights around Arduino Education.

Were you unable to join us in Italy or tune in to the Arduino Day live stream? Well, we’ve got some good news. You can watch the event in its entirety below, including the AMA with Massimo Banzi!

We are immensely proud of the amazing success of Arduino Day 2019, and we want to THANK all of the communities that helped make this special occasion possible. Already looking ahead to next year? Mark your calendars, because Arduino Day 2020 will be taking place on March 21st. In the meantime, don’t forget to share any images or videos of your Arduino Day fun with the hashtag #ArduinoD19!