Learn Embedded Systems While Playing – Winter Vacation Practice Together (5)

“Learn Embedded Systems While Playing” has a total of 5 platforms, and today we are releasing the last one – an embedded system learning/control platform based on STM32F103.

It looks like this:

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

Front view

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

Back view

The following is the physical object – the photography technique is not good, so the effect looks a bit poor. The prototype is manually soldered, which also leads to the effect not being as high-end as the final product, so set your expectations accordingly.

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

Front view of the physical object (with a very simple acrylic shell)

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

Back view of the physical object

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

It can expand many peripherals through the 40Pin arrangement compatible with Raspberry Pi

The size of our designed board is similar to that of a Raspberry Pi HAT, and the signal pins are also consistent, which means you can directly use a ready-made Raspberry Pi HAT, making full use of the Raspberry Pi ecosystem. This also means that if you design a peripheral expansion board for it, it can also be used with the Raspberry Pi.

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

Under my photography skills, the Raspberry Pi doesn’t look good either

So the question arises, besides what we just saw, what other functions and features does it have?

  • It is based on STM32F103, although it is a very old chip, we can also call it classic, and it is very suitable for beginners – there is a lot of information, videos, and books published online, as well as countless application cases made by predecessors, so learning should be effortless;

  • It is paired with a 240 * 240 LCD color screen, still using the SPI bus. Although it is slow, we deliberately chose a slow one so that you will find ways to make the screen display faster. Moreover, SPI is a bus that you must master; if you can’t write software for SPI, can you still call it embedded programming? With this screen and 4 buttons, you have a good “human-machine interface” where you can control it and see the feedback after control. In today’s electronic systems, buttons and displays are indispensable, so mastering this screen and learning to operate the menu through buttons is basic skill;

  • In addition to the LCD screen/button supporting information input/output, we also paired it with a microphone input circuit (analog amplification, filtering circuit) and a buzzer output function. Sound signal processing is a very important topic, and it can be simple or complex. Our Mic signal is analog, with a gain of 10 times, and the amplified signal is sent to the STM32F103’s ADC for sampling. Therefore, you can use this signal to play with a simple oscilloscope, even if you don’t have other signal sources, you can still display waveforms and spectra on the LCD screen through music playback or speaking;

  • How can there be no sensors in the era of the Internet of Things? Therefore, the well-known MPU6050 is necessarily placed on the board, and in addition to it, an ambient light sensor is also placed. With two sensors on the board, there are many things you can play with;

  • An SD card is installed, which can provide you with music (to make a music player), images (to make a digital photo frame), and can also be used to port a small operating system to practice file system writing and usage;

  • In addition to the 40Pin double-row header compatible with the Raspberry Pi ecosystem on the board, there is also a 4Pin I2C single-row header and a 6Pin single-row header supporting 4-channel analog input. When practicing the DIY oscilloscope project, in addition to using the Mic circuit on the board, you can also connect external analog signal inputs to make multi-channel oscilloscopes or voltmeters, etc.

  • We chose USB-C to power this board, debug, and burn programs.

For more detailed technical information, you can refer to https://www.eetree.cn/project/detail/38. The upload project information in this activity session is also operated on this page, so be sure to bookmark it. We will update new information, videos, reference cases, etc. at any time.

Rules:

Complete any of the following functions with this platform by February 28, 2021, and share the project process (no less than 1000 words) and code on our project platform, and shoot a 2-5 minute demonstration video (upload it to Bilibili, Tencent Video, or Youku), linking it to your project. The cost of purchasing this platform (199 yuan) will be fully refunded to you.

Function 1 – A simulated clock that can set the time and report the time on the hour (accurate to the minute). At the hour, it can report the time with sound through the buzzer on the board; when you rotate the board, the clock on the LCD screen automatically rotates, which requires using the onboard attitude sensor to sense.

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

Function 2 – Port or write a classic game that can be operated with the 4 buttons on the board, while the buzzer can make sounds, and the attitude sensor can sense the direction of rotation of the board, automatically adjusting the screen to a suitable viewing angle.

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

Function 3 – Create a level meter that can measure angles, displaying the angle of tilt on the screen using a “mercury column” method.

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

Function 4 – Create a simple oscilloscope that can collect audio signal sources from the board while supporting the collection of external analog signals. Through FFT transformation, it can obtain the spectrum of the collected signal and display the collected waveform and spectrum on the LCD screen (can switch with buttons). When displaying the waveform, it needs to show both horizontal and vertical scale values, peak-to-peak value, and frequency of the collected signal (for periodic signals). When displaying the spectrum, it needs to show the % of 2-7 harmonic components relative to the fundamental frequency. You can use buttons to zoom in/out and move the waveform displayed on the screen. For periodic waveforms, triggering function should be implemented.

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

  • Order time: Before December 25, 2020, to facilitate quantity statistics for processing boards.

  • Board distribution: January 1-7, 2021.

  • Project submission time: Before February 28, 2021.

  • Project page: https://www.eetree.cn/project/detail/38 (click the “Read Original” in the lower left corner )

  • Communication forum: https://bbs.eetree.cn/forum.php?mod=forumdisplay&fid=50

During the project period (January 7 – February 28), several live lectures and Q&A sessions will be arranged based on the progress of the project.

Below is the purchase link for this embedded platform:

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

If you have any questions, you can scan the code to consult (friends who purchase the board can be added to the official technical exchange group)

Learn Embedded Systems While Playing - Winter Vacation Practice Together (5)

Leave a Comment

×