I was afraid to start this myself, SMD is on another level for me. But my good friend Marco said … No problem!
So I ordered components online, which was not easy. Selecting the correct parts, sizes and options.
Finding orientations of the componentsThe master at work, he has always been our soldering master (see GPC)Using a microscopeFluxWickI have to do one myself
These things are really really small
1.6mm x 0.8mm40 connections / 20mm !
Using tweezers to place the components was even difficult. The slippery tiny bastard got catapulted everywhere. (Or got stuck on fingers, soldering iron and alike) Many small components got lost into the 7th dimension. Never to be found again.
Awesome to work on this together, but Marco said that I have to try it myself. Welllll, I got 3/4 of the ATmega328PB-A perfectly soldered, then I notished that it was crooked. Desoldering was a mess, and I heated the PCB TOO much with the heatgun.
My messed-up PCB, and f*cked-up IC. Leave it to the professionals.
Next step for me is soldering the 75 mini buttons!
Got a Trinitron display from him, I was looking for this for a long time.
Below is a test with different methods. I like reading the booklets, so a CD i cool, and I don’t need a CD player. (The RFID tag is in the case) The little cards are for bought audio files I don’t have a physical CD for.
Wooden case with RFID reader being powered by external powerbank
What am I gonna do? Cube as I had? Wooden playlist selectors as in above movies? The cards I’ve printed? Maybe a small record player with an RFID reader inside?
3D printed like this? https://makerworld.com/en/models/66671
UPDATE: 20240327 – Little Record I 3D printed with little groves.
Home Assistant code for Playlist and Album automations (B.t.w. The method is still using an Arduino and MQTT topics, as mentioned before)
# ALBUM PLAYER
alias: SpotifyAlbum
description: ""
trigger:
- platform: mqtt
topic: spotify/rfid/id
condition:
- condition: template
value_template: "{{ trigger.payload in playlistkeys.keys() }}"
action:
- service: media_player.play_media
target:
entity_id: media_player.spotify_fashice
data:
media_content_type: album
media_content_id: spotify:album:{{ playlistkeys.get(trigger.payload) }}
mode: single
variables:
playlistkeys:
"71719674": 20TANs4iXVeLp387zjgmec
"71260666": 5325ECcBhnIysoqyENGCYi
"71457530": 7wyOeD9HcUuMFMO8pTflap
In the past, Aloha and I made a simple solution like this using barcodes in < 2000s. Due to the many obscure recordings I have, I am thinking about creating something like this for Picore player and my local Squeezebox server.
I used MCE to control some Windows VMs and programs running in it in the past. (Below link and a web interface engine which on the backend converted BWW/BMW (bagpipe music files) to PDF automated comes to mind)
Controlling a Windows VM using MQTT, very nice! (Use HA mqtt or mosquitto_pub in bash)
Question: anyone got a better solution to control programs within a VM? Let me know.
Next:
I’m creating a new case for my Wemos, LCD16x2, button, Led, Buzzer project (see other post)
I’m redesigning my previous case in blender.
But I really miss something like a generator function for different cases, like the one I made using Openscad. Question: Anyone know a tool/add-on to generate cases? I used a model of a wemos to get the usb connector/screw holes in place.
In the past, I’ve controlled some blender lights using python and MQTT. But now I’m trying to control it using DMX.
Example of lighting in our living using mock-up couch and tables.
I found a cool add-on called Blender-DMX. (B.t.w. wled can also use DMX)
Looks cool but, can I make a floorplan with this?
Blender add-on configuration
In Home Assistant I used a HACS add-on called : Art-net LED Lighting for DMX
Configuration can be done in configuration.yaml
light:
- platform: artnet_led
host: BLENDERHOSTIP # IP of Art-Net Node
max_fps: 25
refresh_every: 0 # Resend values if no fades are running every x seconds, 0 disables automatic refresh
node_type: artnet-direct # Which protocol to use
universes: # Support for multiple universes
1: # .Nr of Universe (see configuration of your Art-Net Node)
send_partial_universe: True # Only send the universe which contains data
devices:
- channel: 1 # first channel of dmx dimmer
name: dmx_dimmer_rgbw # name
type: rgbw # type
transition: 1 # default duration of fades in sec.
channel_size: 8bit # width of the channel sent to DMX device, default "8bit", "16bit", "24bit" and "32bit"
channel_setup: Wrgb # This is the magic to get colors correct
It works, but I’m not happy, anyone got a better solution?
And I have to check out GDTF profiles for fixtures.
At a later stage I’m going to 3d print a white floorplan about 1cm high, with LEDs and buttons. A floorplan you can hang on your wall.
Now, I’ve moved it to Home Assistant using a single automation. (Maybe the Arduino sketch can be made with Esphome also. But I don’t have time for that) It still uses the Arduino sketch as before, which uses Mqtt to post the RFID code to Mosquitto.
Using the Libraries from Fabrizio Di Vittorio, named FabGL, you can transform this device into a dumb terminal, game device, VIC-20, a 8086 pc and more. There are even some projects to turn this into a C64.
Some generic testing using sound and DOS
But the main thing I want to do: A simple terminal. (I probably revisit the other options again at a later stage)
Soldered some pinheaders on the device for serialSome terminal testing.
My Wozmon bios has bare minimum support for serial communication, so i have to do some bitbanging. (6502 is using a 6551 ACIA)
Google-Fu : (informal) Skill in using search engines (especially Google) to quickly find useful information on the Internet.
I was thinking of a famous piece of music, but what was it?
Whistling it, while using Shazam or Tunepal, didn’t work.
So I googled “well known classical part repeats sped up and transposes”
The second link was a Reddit link named : “Need help finding a song that starts very slow and builds to be frantic!”
First YT link in there: In the Hall of the Mountain King (Peer Gynt) by Edvard Grieg
Epic tune!
“In the Hall of the Mountain King” is a piece of orchestral music composed by Edvard Grieg in 1875 as incidental music for the sixth scene of act 2 in Henrik Ibsen’s 1867 play Peer Gynt. It was originally part of Opus 23 but was later extracted as the final piece of Peer Gynt, Suite No. 1, Op. 46.
I’ve used Tunepal many times, it’s great for folkies!
Sometimes it works also on classical pieces, because they were arranged into folk music.
I bought the Android app, because I liked it so much.
Tunepal is a search-by-playing search engine for traditional Irish, Welsh, Scottish, Breton, American marching band and Canadian tunes. By playing a 12-second extract from a traditional tune on an instrument such as the flute or fiddle, you can:
Retrieve score matches from a database of over 24,000 music scores
View and playback, share and download the score
Find and play other recordings of the tune from a collection of over 30 million recordings
Tunepal is a search-by-playing search engine for traditional Irish, Welsh, Scottish, Breton, American marching band and Canadian tunes.
On the Record page, click the Tunepal logo or tap the screen if your computer has a touch screen. Start playing straight away. Don’t wait for the countdown to complete. Tunepal works best if there is no silence at the start of the recording.
Tunepal works best with “legato” style instruments such as the tin-whistle, flute, concertina, accordion, pipes and fiddle. It doesn’t work very well with “plucked string” instruments such as the banjo and harp.
To find a tune using Tunepal, first make sure you have a PC microphone connected to your computer or use the phone app
If your instrument uses a different “fundamental note” to the usual D (for example you are playing a C flute) or you are playing a tune in an unusual key, then you can adjust the transcription algorithm by choosing a different “fundamental” from the settings page.
You can filter the search results from the settings page to limit searches to certain tunebooks or time signatures.
Record pageMy tunesPlaying pageYou can even edit the ABC score!
Step one, change your main DNS resolver to that one from your provider or 1.1.1.1 (cloudflare)
Goto https://www.hawking.org.uk/ in your browser
Check youtube, facebook and more.
Set you DNS to 8.8.8.8 (google)
Do the same (even in a incognito browser).
I haven’t seen a Hawking recommendation on YT for ages, I just checked a website with information on another machine. And my YT stream showed …. Stephen Hawking!
Below is a solution when you want to stream IP camera’s in Kodi/Libreelec .
You can push these commands using Nodered, Bash script or whatever.
First make some camera scripts in your profile directory.
Examples:
# Kodi on Linux/Raspberry
# Place a file cam1.m3u in .kodi/userdata/profiles/(kodiprofile)/playlists/video/
rtsp://admin:secretpass@192.168.1.123:88/videoMain
#and another one in cam2.m3u (another example mjpeg example)
http://192.168.1.124:8000/stream.mjpg
#For windows it is in
C:\Users\(Username)\AppData\Roaming\Kodi\userdata\profiles\(kodiprofile)\playlists\video
Enable http access in Kodi and run the playlist using curl
curl -i -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"Player.Open","params":{"options":{"shuffled":false,"repeat":"off"},"item":{"file":"special://profile/playlists/video/cam2.m3u"}},"id":"1"}' http://KODISERVERIP:8080/jsonrpc
A bash loop script
while true; do
curl -i -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"Player.Open","params":{"options":{"shuffled":false,"repeat":"off"},"item":{"file":"special://profile/playlists/video/cam1.m3u"}},"id":"1"}' http://KODISERVERIP:8080/jsonrpc
sleep 10
curl -i -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","method":"Player.Open","params":{"options":{"shuffled":false,"repeat":"off"},"item":{"file":"special://profile/playlists/video/cam2.m3u"}},"id":"1"}' http://KODISERVERIP:8080/jsonrpc
sleep 5
done
"If something is worth doing, it's worth overdoing."