If so, I second Gibbon1's:
> just do a few embedded projects.
Easiest entry: download a simulator for microcontroller (family) you have in mind. One that lets you single-step through assembler instructions, see effect on registers, CPU flags, memory contents, I/O pin state, etc.
Get 'close to the metal': eg. grab an Arduino + USB <-> JTAG (and/or serial) thingie, download IDE, work through "blinkie LED" example project.
From there, explore some of the integrated peripherals & what you can do with those:
Pulse Width Modulation (both in hardware, or software) as a kind of poor man's analog output.
Hook up character LCD display. Or graphic one, and code some mini games a la "snake", tetris or the like. A few I/O pins, buttons, couple of lines assembly code & presto! You've built a joystick from scratch.
Hook up sensors, relais, or some sensor network LAN stuff, etc etc.
WHATEVER seems interesting. Once you've done a number of such projects (and written a decent amount of assembly code), write some small C programs for the microcontroller, and see what assembly code it's translated into. Or write a small Forth system. See how such things change your perspective from programmer -> low level hardware.
From there on up, it's just layers upon layers of (mostly arbitrary) abstraction. Some 'invisible', some with a huuuge performance cost.
Quad core x86-64 is just a really fast 8051 with more & wider registers + bigger instruction set + huge amount of RAM. ;-)
Semtech has some dev boards and tutorials for connecting to Lorawan. Notably it all seems to just work if you follow the directions. Not true for a lot of other development boards and software.