Week 2 – making & adding a speaker!

We love a bit of sound! So, we’ve decided to add a speaker to the Pico set up…

We love a bit of sound! So, we’ve decided to add a speaker to the Pico set up… But with the added fun of trying to make one from scratch!Martin’s DIY Speaker

Martin used some re-cycled motors for the insulated copper wire for the guts of a DIY Speaker & has had success! (all be it quiet, but, this project is about testing, trying, proof of concept etc)…

DIY Speaker!

For the full documentation, & Step By Step Guide on how to make a speaker from a cup & some old motor / electronic parts, download “week 2” pdf sheets, with code & materials lists etc.Phil’s Set up uses a bought speaker & Ada Fruit Amplifier

Week 1 : Pico & OLEd + 2 buttons…

We started with a #raspberryPi #Pico & 240 x 240px OLED.

We started with a #raspberryPi #Pico & 240 x 240px OLED. Having worked with these as a base for the DinkyOSC we thought it would be a good place to start. We’ve added 2 buttons to the set up & control BMPs with adafruit_imageload & displayio . Below is a photo of the initial setup & we’ve included a PDF of the set up etc. here.

Raspberry Pi Pico + OLED screen / electronics buttons on prototyping breadboard.
Raspberry pi Pico + OLEd + Buttons + Breadboard

Weekly Electronics / Prototyping Project on Raspberry Pi Pico & Circuit Python!

We’ve started a “weekly project” – Trying to make an electronics prototype with a Raspberry Pi Pico + Supporting components using Ada Fruit’s Circuit Python…
We’ve created a page for it, but we’ll keep posting blogposts here as a way of documenting it …

Raspberry Pi Pico + Oled screen + buttons

Dinky OSC “Paw Game”

Phil is experimenting & learning how to control text / images on the #SSD1306 (128×64 px OLED display) attached to the #RaspberryPi #Pico – he’s ended up making a little game that involved moving a “Cat Paw” around with a slider & potentiometer and a button press “grabs” at what’s underneath the paw.

Phil is experimenting & learning how to control text / images on the #SSD1306 (128×64 px OLED display) attached to the #RaspberryPi #Pico – he’s ended up making a little game that involved moving a “Cat Paw” around with a slider & potentiometer and a button press “grabs” at what’s underneath the paw.

the code for the game is here

There are 8 “targets” to grab (you can change that by changing the line:
dots = 8 ) & the targets fly around with a random vector, each connecting to the next target with a line. The paw has a “hot spot” (the middle of the paw) and a “circle object” draws around it using the distance from it to the 1st target in the list (calculated by some simple trig in the utilities.py module, after an angle & radius has been calculated from the two objects’ positions)

Phil’s commented the main.py script as best he can, but, if you need any explanation, just holler!

Dinky OSC “image objects” drawn on SSD1306 128×64 px OLED screen controlled by GPIO pot, slider, buttons.

OOP Orbits

Phil has been learning OOP (Object Orientated Programming) in Python & applying it to his #dinkyOSC development on the raspberry pi pico. We’re aiming for two styles of GUI, a “simple” numbers / settings interface (like digital representation of a “normal” midi device, and a “visually creative” interface (what ever that develops into!)

Phil has developed an OOP system to create & manage “orbiting objects”

This “Orbit OOP” script creates an object that keeps track of a centre point, and equally spaces points around it using some simple trigonometry based on the slider & rotary Potentiometer’s values. (Slider = Length of radius to orbit, pot = angle (0-259° (converted to Radians (Degree * (Pi / 180.0)))

Button 1 & 2 “add & subtract” points (with a minimum of 1 & maximum of 9 points). When a point is added, the “orbit object” calculates the angular segments (4 objects = 90° segments, 5 object = 72° etc) and re-draws the objects accordingly. Phil also created different “image objects” that can follow the orbit points, but stuck with a simple BOX object (text box with padding) that follows the orbit point from its own centre (x,y for an object is usually top, left, so he subtracted 1/2 the width & height from the x,y orbit).

These scripts are still considered “experiments” but Phil had been asked by a few people online (when posting videos) if the code was available… so, here it is in a zip for you to play with. Remember, Phil’s still learning, so if it doesn’t “look like professional python code” do let him know where he can improve!

Dinky OSC – Raspberry Pi Pico

Eye Script test for the Dinky OSC with #Micropython on the #RaspberryPi #Pico

With the release of the #RaspberryPi #Pico in the last week of January 2021, we jumped at the chance to use it & the power of the newly developed RP2040 chip at the heart of the #DinkyOSC .

Using #micropython – we started exploring some of the initial components we think we’ll need for the DinkyOSC, buttons, potentiometers (“pots”), sliders and, the tiny 128×64 px SSD1306 OLED Display unit. Phil made an “eye Object” that takes values from the slider & pot & converts it to an X,Y position for the pupil of the Dinky Eye (graphic).

You can download the script (in a Zip) from here

Phil, as part of this project, will be writing guides & creating “step by step” procedures – so, he will work on this example as a first port of call. He himself is on a learning curve of how to write better python / micropython scripts & focussing on #objectOrientateProgramming to create shareable “modules” for the Dinky OSC, so if you see any glaring errors, do let him know as helpfully as you can. 😉

For an excellent start to using your own #pico – check out https://datasheets.raspberrypi.org/pico/raspberry-pi-pico-python-sdk.pdf

Dinky OSC – First Post!

We’ve been funded by Creative Scotland to explore the creation of a prototype “Dinky OSC” device to use with Sonic Pi

Hello! We’re so happy to be writing this post!

We had a tough 2020, with all of our (much loved) STEAM workshops cancelled due to #Covid19 – Everyone’s offering free online “how to” videos so we (Digital Maker CIC) needed to develop something to support our business while we wait for the ability to “run workshops physically” gets back to some sense of normality.

One of our most successful workshops so far (for WOW factor, creativity, ‘lightbulb’ moments) has been using Sam Aaron’s Sonic Pi – so we thought about making something that not only supports learners using Sonic Pi – but even advanced users, (musicians!) with an external OSC (“open sound control”) device. A small interface that can be programmed (or used “out the box”) to manipulate parameters in Sonic Pi “Real Time”.

We applied to Creative Scotland’s Open Fund: Sustaining Creative Development & have been successful in securing funding to develop our idea…

Our mission is to create a small, affordable OSC unit that is easy to use and helpful when creating music with Sonic Pi.

We will keep you posted through this blog on our journey.


Big Lottery funded DM CIC workshops start in Peterhead

We have been fortunate to be awarded a Big Lottery grant for 5 Driverless Car workshops in the North East of Scotland! We have arranged with Peterhead Academy & Inverurie Academy to start this term, Peterhead have an Afterschool Club for S2+ and We’ll be working with the Inverurie S3 Engineering class.

We’re running the Driverless Car workshop we piloted with Northfield Academy & Transition Extreme after school clubs (funded by ACC’s U-decide (participatory Budgeting)) – so a five week course, introducing the concepts of Machine Learning & Driverless Car technology.

Week one is always relaxed, fun & creative, with the teams creating their car chassis, camera mounts and raspberry pi placements. The Peterhead pupils were fantastic, engaged, entertained, interested, enthusiastic and inquisitive, all the attributes we love to see in innovators of tomorrow!

Below are a few photos from tonight’s session, we look forward to working with the class for the next 4 weeks!

If you’d like to know more about the Driverless Car workshop, want to get us into your school, or have any other questions about our STEAM activity, do email us! we’re getting busy!

Big thanks to the Big Lottery funding, it’s been invaluable! A lot of kids that wouldn’t usually get this type of STEAM education are now, thanks to this funding.

Driverless Car workshops – a five week course

Digital Maker CIC recently completed two 5-week driverless car workshops in Aberdeen. Northfield academy’s Science Club & Transition Extreme After School Club each had an exciting and challenging set of workshops for children aged 12+. Digital Maker CIC believes that these workshops are a “first” for the UK. Both projects were funded by Aberdeen City Council’s “U-decide” (participatory budgeting project).

The participants learned about Machine Learning, Engineering & design of the 1:16th scale cars, raspberry Pi terminal commands, to interface with the cars, computers    & cloud computing interfaces and driving the remote-controlled cars.

Working in teams of four, the pupils were given tasks of constructing & managing their cars, “training” and improving their driving skills, as the better the car is driven, the better the Machine Learning model will be. The pupils could quickly train & then produce ML models (via cloud computing), giving exciting results, as the cars drove themselves around the 4m2 tracks we use. The pupils quickly learned that the better they drove the cars, the automated driving improved.

The teams also tried to add obstacles (orange cones) into the modelling, creating various results (success & failure), but, with more training & time, the pupils understood that their cars would “get better” with time.

We’d like to thank Northfield Academy & Transition Extreme Sports Ltd for their support & use of space, in order that we could run the workshops. We are working on extending the workshops to Aberdeenshire & eventually have a North East interschools competition for the Driverless Car technology.

If you’d like more information, or want your school to participate in this project, please do get in touch!