Embedded devices - my story

Seeing but not engaging with embedded devices

Start embedded devices

Reason

Writing in March 2024...

Home now in Cornwall, which is significantly industrial due to mining heritage.
Rising commodity prices with needs for electrical / electronic equipment in the push for renewable energies is driving return of industries, notably:

General idea - my science and engineering "what to do" is good; go for embedded devices as "how to do it". Span both the "what" and the "how".
[This got me my Doctorate by spanning both what it would be useful to know and what would be possible to do and seeing where these coincide]

Electronic devices in Cornwall

Thanks to the "Tech Jams" of Software Cornwall.
There is something good going on in Cornwall. Local emerging industries need a supply of local people knowing their industry and embedded devices. Software Cornwall is there meeting that need.
My thought of both "what" and "how" is "obvious" - and the means to act on it is this local community.

Stating something familiar...

Jumping ahead: usually the embedded device is programmed and debugged until ready to operate independently via cable connection to a programming interface running on a "laptop" or console.

Making light of complex issues...

There are complex issues with some things mentioned in passing which I blithely disregard. Avoiding getting bogged-down in detail and keeping the story going.
An example is compiled vs interpreted languages. A web-search on "interpreted computer language" will find many ways of explaining interpreted vs compiled computer programming languages.

Micro:bit - 22Feb2024

This first encounter was with the "educational" micro:bit device (microbit educational foundation).

The "take-away" was how accessible these embedded devices are.

The "micro:bit" as a training device has features which misfit to it being a concealed encased embedded device. It's meant to be on the table beside the person and the console. eg it has an array of LED's for the person to see and push-buttons on the device for the person to press/actuate - which would serve no purpose in a concealed embedded device.
That said: the power of the device to control processes in ways which were impossible before microprocessor electronics is blatantly obvious.

The simple economical console comes with a library of tutorial examples I worked through; which will be familiar to all others for whom a "micro:bit" has been the first encounter with embedded devices.

The "micro:bit" is normally programmed in a variant of Python (the Python organisation) - an interpreted language considered well-structured and good for training.
I have used "Python" a small amount previously.
Hence I had that "head-start".

From each tutorial I was able to extend the functionality in various ways, testing my ability to extend what the device did.

Leading onwards...

Discussing my goals with the volunteers running the event, they mentioned the "Arduino" device - which set me on the quest which lead to the 09Mar2024 event.
Following-up that lead on-line brought the characterisation that the "Arduino" is rated as powerful in handling analog (analogue) input signals - exactly what is needed for controlling industrial processes. Hence seemed the goal had been brought into view.

Raspberry Pi Pico

This was mentioned / recommended in a "online" forum.
Although I obtained one - it is economically priced - it was overtaken by events.

I obtained thermocouples and a "thermocouple amplifier" with it - listed as working with "Raspberry Pi" devices and Arduino devices. Which served a greater purpose.

Arduino - 09Mar2024

The next "Tech Jam", and turning up there yes they did have an Arduino (the Arduino foundation) available.

The Arduino is normally programmed at the console with the compiled language "C".
I had a "head-start" with this too - I used "C" over two decades ago, in the later 1990's. So the tutorial examples available with the programming interface on the "laptop" were to me "familiar" in that I could read them readily and see what they are doing.
Hence the "harder-to-program" Arduino responded quickly.

After the usual "make the on-board (small; diagnosis-only) LED flash", I programmed it to flash morse-code - then progressed to interfacing with external devices.

Making the thermocouple I brought work and measure temperature needed soldering to make electrical connections - not available in the "classroom" environment.

So regrouped on the achievable objective of using a potentiometer as a continuously variable voltage analog input signal and doing some code around that, giving digital output signals as different coloured LED's lighting. Indicating input voltage ranges - "low", "medium" and "high".

This is seen in my video - link to my "YouTube" presence - see "Shorts" => "My first with Arduino - analog input, digital output"
("direct" link to video on 13 March 2024 - given "YouTube" changes URL's occasionally)
The "analog input device" seen is a slide-potentiometer, going between zero volts and the full applied voltage to the potentiometer of 5V.

The digital output indicated by the LED's - potentiometer voltage applied to the input pin as a percentage of "full" maximum volts:

The code driving the Arduino is seen here - done in 20 minutes so a bit "unpolished".

This is "trivial" - yet has the fundamentally crucial step of linking an analog input to a digital output.

Analog input to digital output is the principle of "reading" physical devices like thermocouples, load-cells, flowmeters (rate of fluid flow), pH (acidity) meters, etc

So this session was very satisfying.



(R. Smith, 12Mar2024 to 13Mar2024)