Tiny Oscilloscope kit based on STM32F103 ARM microcontroller

I discovered this tiny oscilloscope kit the other week. It’s a DSO138 by JYE Tech – £30 from Amazon(UK) or less than £20 if you can wait for delivery from China 🙂
It took me less than 2 hours to build and worked first time! I’ve still got some soldering skills lol. It comes in two versions – one with the SMD components already soldered or one with completely bare PCB.

There’s open-source firmware available that supports data export to PC and it can be made 2-channel with the addition of a little extra hardware. Based on an ARM cortex A3 MCU, it can be re-programmed using Arduino tools.
Great little project for STEM & electronics education.

A couple of days after I’d built the DSO138 I realised there’s a newer/better version on the JYE Tech website – the DSO138mini, and I also came across another project – this one turning a STM32F429 discovery board (which I happened to have lying around 😉 ) into a tiny ‘scope:

(Updated version + link to the original project at https://github.com/deividAlfa/STM32F429-Discovery-Oscilloscope )

A couple of traces I captured with the “export via serial port”. Easy as
cat /dev/ttyUSB0 > image.bmp

Replacing white LED stylus target light on Audio-Technica AT-LP120X

I recently bought a new turntable, the Audio-Technica AT-LP120XUSB. I wanted direct drive, decent quality (to match my ageing & damaged hearing!) and USB built in so I could hook up recording/streaming devices. I found an eBay listing for less than RRP and had a 20% off eBay voucher too so it was a no-brainer…

I really like the turntable, but the white LED “stylus target light” is absolutely dreadful – it’s cheap and plasticy and gives out a bright white light when all the other LEDs on the turntable are red. The idea is that if it’s dark then this light helps you see the gaps between tracks so you can select the right one. They’ve obviously cost-reduced this part compared to previous versions of this model and it’s a removable thing that plugs into a phono (RCA) socket on the turntable’s plinth. I immediately began to plot to replace it…

Original white LED stylus target light

Shopping list: cheap phono lead (RCA) cables with metal bodies that I could hack apart (thanks again to eBay) and some superbright red LEDs (thanks Amazon)

Measuring the voltage coming out of the phono socket shows 8V when no LED is connected but it collapses to ~2.4V when the white LED is plugged in – leading me to think that there’s already a current limiting resistor in the circuit internally. A quick calc on the Electrodoc app for the superbright red LED says I need another 27R to make everything happy.

I hacked the connectors off the el-cheapo leads and drilled a hole in the side of the connector barrel. I soldered the resistor & LED onto the base of an old metal phono plug and tested it for brightness and correct height to actually light up the platter. When I was happy with the height I put the LED & plug into the barrel and filled it from the top with sugru, smoothing off the top to make a nice(-ish) finish 🙂

Testing for correct height

Really pleased with how it looks now with everything red.

Red, red and more red.

Streaming Vinyl Audio around the house (and beyond) with Raspberry Pi and Icecast + Darkice

I recently acquired a turntable with a built in USB audio interface and while that’s not the main reason I bought it it got me thinking about hooking it up to some sort of streaming server so the audio would be available anywhere… I have Google chromecast (audio) along with Volumio & Sonos devices around the house so it would be good if I could support them all.

I installed a Raspberry Pi as a permanent companion to the turntable and started looking for existing projects that might have done similar.

I found some good info in this medium post by Guy Dupont. This introduced me to Icecast and Darkice to handle the audio stream and HTTP encapsulation. I installed the stock versions as Darkice seems to support mp3 anyway (one of the sub-references Guy Dupont’s piece includes a custom build of “Darkice+MP3” but I didn’t use that). I didn’t need an external USB i/f as my turntable already had one built in and I didn’t need another app to control streaming to chromecast etc. – the excellent VLC can do just about anything, including streaming to chromecast. I also use Volumio and Sonos in other rooms: Volumio can handle “web radio” which is effectively what the Icecast/Darkice combo is creating and Sonos can do the same via TuneIn Radio’s “My Radio Stations/Add new radio station” option:

“Add Webradio” option on the My Web Radios menu
Add your icecast address in the Url box like http://icecast.server.address:8000/mountpoint.mp3
From the menu in “My Radio Stations” in the TuneIn section of the Sonos app
Add your icecast address in the “Streaming URL” box like http://icecast.server.address:8000/mountpoint.mp3

Of course if you have a VPN connection back to home, you can listen to your home audio from anywhere whilst you’re out and about – I listened to one of my old LPs through my phone/car audio on the way to do the school pick-up 😀

Turntable analogue audio –> A/D –> USB –> Pi –> Darkice/Icecast –> network –> VPN –> Internet –> 4G –> phone –> Bluetooth –> in-car Audio

Of course this method isn’t limited to audio from the turntable. I’ve since added an external USB interface to the Pi and hooked up the cassette & minidisc decks too. The same Pi is handling all the audio and also performing remote control functions for the old cassette deck.

Bosch-Worcester 35CDi Fan Failure

It was a cold start to 2021, outside temps well below freezing, I guess that was the final straw for the ~20yr old fan in my combi boiler. On New Year’s Day I’d noticed it was making more noise that usual as I was putting some rubbish in the wheelie bin, nothing more than a very faint screech…. but the next day the central heating came on at 7am and the poor old fan ran for about 5 mins then gave up…
(temperature graphs courtesy of my Grafana/Influx logging system 🙂 )

Boiler CH temps rise a little bit, then fan dies 😦
Bedroom temperature falls whilst boiler is dead 😦

Bearing in mind that the fan in this design of combi boiler sits on top of the hot exhaust gasses (and blows them out of the flue) they’re also surrounded by the cold fresh air coming in to the combustion chamber so they must have a pretty tough life.

The plumber & I both tried to source a replacement part from the usual plumbers’ merchants and online stores but not with much luck as a 20yr old part is considered “very obsolete” 😀

I thought I’d found a source of re-furbished units via eBay but when it arrived they’d sent me the wrong part. The family and the house were getting colder by the day and even with a wood-burning stove and a handful of electric fan heaters they’re no substitute for the 25kW of the boiler. The plumber’s son (also a plumber!) remembered using a local business a few years ago that refurbished electric motors, worth a shot?

A phone call and a day later the old fan had had its motor refurbished and was working in the boiler again. The local business that did it was a one-man-band outfit, traditional engineering type with stereotypical workshop full of old scrap bits of electrical machines. It looked a lot like parts of “Mad Max”. As I picked up the fan (a few hours after dropping it off) the proprietor told me “I did it straight away as I knew you didn’t have any heat at home” bless him. Cost less than a replacement unit would have too.

So a big thanks to David Bowers, Electrical Motor Repairers and Mechanical Engineers 👍🏻👍🏻👍🏻

Grafana, Influxdb & telegraf based home temperature monitoring with Raspberry Pi and the humble DS18B20

This all started with tomatoes. And grew into a Raspberry Pi based whole-house + boiler temperature logging system…

During the 1st UK lockdown of 2020 my elderly parents were shielding and my Mum was looking for things to occupy her time. She started looking online to buy tomato plants/seedlings to grow in her greenhouse – seems like everyone had the same idea as they were in short supply (or maybe she just started looking a bit too soon in the growing season!) – she was buying them in 3’s and 6’s from lots of different sellers on eBay and Amazon. She ended up with way too many, her greenhouse was overflowing and she wanted to give some to me.

This was still early on in the growing season, I don’t have a greenhouse but do have a conservatory. I was worried about putting the plants in there if it was too cold overnight so wanted a way to monitor & log the temperature. I’d been thinking about building some sort of Raspberry Pi temperature monitor for my 20yr-old combi boiler just to check up it was still working OK and so as it turned out the tomato plants were the final thing that spurred me into action.

From this tiny idea I ended up with a total of 7 Pis monitoring 9 temperatures around the house displayed on a dashboard that also shows live electricity consumption data too. Yay.

I already knew that the DS18B20 single-wire temperature sensor was a favourite for this type of project so I ordered a handful from Amazon that were already built into metal probes with long cables. I soldered them along with the required 4k7 resistors onto some 40-pin 0.1″ pitch headers ready to attach to the Pis.

Looking around for software projects that have already done similar I found temperature-machine. I soon grew tired with some of the limitations of this software and eventually discovered Grafana dashboards with Influxdb. Influxdb is a database that’s designed to deal with time-series data (like temperature logging!) and lots of people had already successfully used it for similar applications to what I wanted. I modified existing python I found in other projects to match my setup so that each of my temperature sensor nodes would write directly to an influx database on my server node. Grafana dashboards can then be created to process & display the data however you like.

I already head a few spare Raspberry Pis (some model 2B/3B/3B+) that could be made into remote probes and the new-ish Pi 4 4GB I had would be the server.

Prototyping probes & sensors around the house

Turns out the cheap DS18B20 sensors I’d bought from Amazon have a nasty habit of locking up, and rebooting the Pi isn’t enough to bring them back to life – the Pi has to be re-powered. Luckily I had a few spare remote control mains switches that knew I could control from IFTTT so I set up a bash script on each Pi to monitor the sensor and when it locks up I call an IFTTT action via the webhooks service then shut-down the Pi. The IFTTT action would call a “scene” on the smart sockets app that would wait 40s (for Pi to shutdown cleanly), turn off the socket, wait 20s then turn the socket back on. A real nasty workaround for some cheap sensors but so far it’s worked like a dream 🙂 I later bought some (much more expensive) DS18B20 sensors from a reputable source but haven’t got round to replacing all the cheapo ones just yet…

I bought a couple of Pi Zero models and one of them was used to monitor the boiler’s central heating and hot water outputs as well as the room temperature, another one was put in the bedroom. I already had a Pi in the cellar next to the broadband router doing PiVPN duty so that had a sensor added too.

I also installed telegraf to collect general performance data on all the Pi sensor nodes as I was curious to see how heavily loaded they were. Telegraf also gave me the opportunity (via a bash script) to query my smart meter/home energy monitoring service and display electricity consumption on the same dashboard as the temperatures.

One of the great benefits of the whole grafana/influx/telegraf system is its flexibility and customisability – it can easily be extended to take in other data sources and types and can also send configurable alerts. I have mine configured to send me a Slack DM + email if any sensors die or of the boiler temps get too high.

How it all looks on my phone:

Flashing LEDs with a 555 timer – and not a lot else

Just dug this out of storage – some electronics I made in the late 80s/early 90s. Most of it is old/scrap components – only the 555 and the MC14526 counter/divider actually do anything – flashing the LEDs long the edge. I can remember making it at work during quiet times as a side project, I had no idea why or what it might be good for 🙂

Some years later this found use on a Ghostbusters proton pack I made (cobbled together in a few hours on the day of the do!) for a Hollywood themed charity fancy dress bash…

“Alma Mater” ???

So today I got to visit my “alma mater” – not a phrase I feel comfortable using, turns out it’s a (Latin) American English term, less so useful/used in British English – so what I really mean is I visited my old university. I have an alumni library membership, so thought I’d pop in, for old time’s sake. Turns out that the library layout is pretty much the same as it was >30yrs ago, right down to the location of the books. I struggle to remember what I had for lunch yesterday but found myself involuntarily remembering the 621.3 classification of the books I used to borrow as a student as I walked into the library… it jumped right out at me as I was waking through the aisles, the shelves in exactly the same place as they were back in the 1980s, and the same types of books were right there in front of me.

Just needed a copy of “The Art of Electronics” by Horowitz & Hill and it would’ve been complete…

I used to live about 20m up in the air where the spray-painted hoardings are in “Chandos Hall”…

Chandos Hall back in the day. Constructed 1962-64. Demolished in 2019.