Embedded Technology & Programming: Amateur Radio Enthusiast Insight

Embedded Technology & Programming: Amateur Radio Enthusiast Insight
Slide Note
Embed
Share

Discover the evolution of embedded technology, Raspberry Pi, Arduino, and microcomputers for hobbyists and amateur radio enthusiasts. Dive into the history of microcontrollers, competing families, and the accessibility of technology advancements. Explore the open-source movement that has revolutionized the accessibility of embedded systems.

  • Embedded Technology
  • Programming
  • Amateur Radio
  • Raspberry Pi
  • Microcontrollers

Uploaded on Mar 01, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. INTRODUCTION TO EMBEDDED TECHNOLOGY AND PROGRAMMING FOR THE AMATEUR RADIO ENTHUSIAST AND HOBBYIST Irish Radio Transmitters Society AGM April 13th/14th 2019

  2. WHATS ALL THIS RASPBERRY PI AND ARDUINO STUFF ANYWAY ? Over the last few (10 ?) years there has been a revolution in the way hobbyists and amateur radio enthusiasts can get involved in computer and embedded technology in their own way. In the commercial world embedded technology has been in use for quite some time, but it was often expensive and/or difficult to access. If you are into homebrew construction or even just tinkering with technology in your own way it is possible to get involved. The internet has made possible sharing of knowledge and building blocks for systems and software far more open and easier. Silicon manufacturers and software companies have realised that the technologies could be more open to everyone, and the open source movement has fuelled this.

  3. ITS ALL MAGIC MUCH TOO COMPLICATED ? we as Amateurs and people with an involvement in technology can understand it well at least some of it . No degree needed. Someone had to design and build it. Where to start ? There s so much information out there it can be overwhelming. There are so many manufacturers, companies all wanting people to use their technologies.

  4. SMALL BIT OF HISTORY : MICROCOMPUTERS AND MICROCONTROLLERS The traditional microprocessor was general purpose but needed external RAM for storing temporary data and ROM for storing its operating program. Soon after microprocessors became available designers wanted to put computers in their technology without needing a whole computer so the microcontroller was born. Suitable for simple I/O (input/output) tasks e.g. controlling a washing machine or VCR. Programming was still relatively difficult and development tools were proprietary and very expensive often needing licenses to use. Microcontrollers were usually designed to be mask programmed a system would be developed using the expensive proprietary development tools, and when the software program was finalized, the manufacturer would generate a mask for the chip and pump them out in the millions they could not be reprogrammed. Most high volume designs were done this way. Sometimes where flexibility was needed it was still preferred to use a traditional computer architecture.

  5. COMPETING FAMILIES : Most of the major manufacturers had systems either their own designs or licensed versions of the main ones. Microprocessor families included Intel 4004, 8080 and 8086 right up the way to the present day Pentium (CORE) based design. Also Motorola (6802) and Zilog Z80. Early home computers used these. More powerful computer systems were designed for educational and research use. The ARM processor now used in much of our current technology has its roots in the Acorn system of the 80 s ! For microcontrollers the 8051 was easily the most popular system however it was still expensive to develop. Its still being used today in designs where it shouldn t be !

  6. THE 90S MORE ACCESSIBLE SYSTEMS Early microcontroller systems were OTPROM or Mask ROM based. Development would need an expensive Emulator and Computer with software. In the mid 90 s EEPROM and FLASH technology started to appear systems could be programmed and erased and used again. Programmers could be cheaper and even built by the user. ISP (in system programming) became possible. Most software tools were still proprietary and expensive. High level languages were beginning to be applied to microcontrollers so that software could be more easily developed this was essential as programs got bigger and more complicated. More powerful 16 and 32 bit architectures began to appear which were only programmable using HLL s Microchip developed their PIC microcontrollers and ATMEL had their own family AVR that were EEPROM / FLASH based RISC architecture. These were the systems that could be used by individuals. They included many peripherals that were useful and could simplify the external electronics, including ADC s. The PIC16C84 was very popular. Many projects containing microcontrollers began to appear in hobbyist electronics and Amateur radio magazines. Standard types of LCD display modules appeared that could be used for the HMI

  7. FAST FORWARD : Progress continued from the late 90 s up through the late noughties . The mobile phone drove development of more powerful and lower power processors. The ARM processor began to be used in large numbers in mobile technology. This was based on the Acorn RISC Machine architecture developed in the mid 80 s. The open source GCC C compiler had been ported to the Atmel AVR microcontroller architecture, and also the ARM microprocessor. The LINUX operating system had become mainstream and development surged. Efforts were made to make microcontrollers even more accessible to individuals and hobbyists.

  8. THE ARDUINO : LATE 00S Microcontrollers still needed the basic electronics around them to make use of them e.g. power supply, clock source (crystal) and programming / I/O interface. They weren t plug-n-play . This could be a barrier to potential users and Rapid Development A group of hobbyists in the industry decided something more was needed developed a platform based on the Atmel AVR it was a ready to use PCB including power supply, timing and a USB programming interface. No separate programmer was needed. The pins of the controller were brought out to headers and connectors very similar to an industrial PLC They also developed a software tool or IDE to program it with. This is based on the C language as the AVR already had excellent C support and had lots of libraries to do common tasks with no need for re-inventing the wheel . The compiler is very forgiving . Very easy to start off all the boiler plate stuff is done for you. Both the hardware and software were completely open source. Anyone could reproduce the PCB and improve the software. SHIELDS have been developed. These are PCB s which can be attached to the Arduino to provide plug and play interfaces to drive motors or provide wireless connections for sending / receiving serial data.

  9. WHAT CAN THE ARDUINO DO FOR AMATEUR RADIO The Arduino is a great tool for low level tasks such as controlling models, robots, displays, interfacing to sensors etc, anywhere digital and analogue signal processing and control is needed. However its C language makes it possible to do complex calculations and maths like you might want to use for calculating SWR etc. It can be used to great effect for controlling a homebrew transceiver (e.g. the uBitx uses one to completely control its VFO) Station control tasks e.g. rotator control or antenna switches.

  10. THE RASPBERRY PI While the Arduino is still a microcontroller at heart albeit a powerful one, The Raspberry Pi is a full blown general purpose computer in a tiny package. It was developed on the principle that the world needed a modern educational computer in the very same way that the original ACORN computer (with its associated ARM architecture) was developed for. PC s had become very locked down with the windows OS and there was always the fear of breaking them. The Raspberry Pi was designed from the ground up to use Linux a complete operating system which takes care of all the normal computer stuff e.g. disk I/O, monitor, keyboard, files etc.

  11. THE RASPBERRY PI : It was also designed to have a microcontroller like interface to the world through provision of GPIO general purpose I/O which can be connected to things just like a microcontroller. The GPIO also provides serial interfaces such as RS232 serial ports, I2C and SPI for connecting to other IC s which use this interface (I/O expanders). The modern versions such as the PI2 and PI3 have on board Wireless (WIFI) which makes them very easy to access over a network. Just like the Arduino, pluggable modules have been developed to make use of the GPIO to control or interface with more specialised applications. IOT

  12. RASPBERRY PI IN AMATEUR RADIO : The Pi has found great use in Amateur Radio among everything else : Repeater controller and remote access control. IRLP and ECHOLINK nodes. MMDVM and HOTSPOT controllers e.g. OpenSPOT. SDR using the RTL-SDR dongle and rtl_sdr software, or even other SDR s like airspy etc. it can provide a remotely accessible SDR receiver. WSPR some clever people have managed to generate RF signals by bit-banging the GPIO pins at MHz rates (as the pi is based on an ARM processor running at over 700 MHz this is actually possible) General purpose shack computer. As it is a full blown computer at heart, it can run Amateur radio software e.g. logging. As the Pi has such a wide interest base especially with younger people and the maker community, it can play a part in introducing them to amateur radio.

  13. WHY WOULD ANYONE WANT TO PROGRAM THEM ? What s in it for me ? Programming can be exciting just like any form of Amateur radio activity or DIY there is great satisfaction to be had from the learning and making something work even more so if you come up with something slightly different It could add that finishing touch to a piece of homebrew gear or allow you to customise it further.

  14. HOW DO YOU MAKE THEM DO STUFF Its all very well reading about them and seeing them, but how can I make them do stuff ? Where do I start ? Choose your weapon. Just like the hardware or platform is suited to certain tasks so are the languages. If you see a project that you d like to build or play with take it on. The hardware is all freely available directly from official suppliers or on ebay / amazon etc. The software tools are also freely available on the net e.g. www.Arduino.cc All these microcontrollers and Pi s are controlled by programs. The Arduino for example is programmed using a version of the C language as C is a good fit for this job. You can turn bits and I/O port pins on and off, do calculations, call functions and read and store basic bytes of data. It can also process text strings and send them to a display or its serial port. C is a compiled language, so the compiler coverts the English like instructions to the native bytes the microcontroller understands.

  15. ARDUINO EXAMPLE :

  16. ARDUINO EXAMPLE CODE : void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }

  17. RASPBERRY PI PROGRAMMING As the Pi is a full blown general purpose computer running the Linux OS, it can support practically any programming language, but the Pi community has really settled on Python , and if more performance is required, the C language is used. Python is an interpreted language, so the Python interpreter runs the code directly as it reads it. This is similar to the old BASIC language. However Python is very powerful as it makes some of the most common tasks in programming such as making lists into one-liners . Its very expressive and doesn t require much boiler plate to get a program running As with the Arduino, there are a wealth of program libraries available to deal with interfacing to the real world through the GPIO etc.

  18. PYTHON EXAMPLE : from gpiozero import LED from time import sleep led = LED(17) while True: led.on() sleep(1) led.off() sleep(1)

More Related Content