Sign in

Software engineer, Movie lover, Karate beginner.


Once you understand most of function in MCU, you will start trying to connect it to other modules for more application. Once you did it, you will start to find that IOs number on MCU is always not enough.

Communication interface such as I2C will help you to increase capability of connecting more modules. In this tutorial, I will show you how to access a combined environment sensor which is I2C communication interface.


Again, let’s talk about who should read “Intermediate-Level” series. First, if you already have basic knowledge of C language and MCU, you should have the ability…


Learning could be a painful process, especially dealing with the world that you are not familiar with. But at the same time, it could be an exciting process if you on the right track.

For this series, I would like to show you how to learn some basic knowledge about MCU step-by-step without hazard. Also try to help you to identify what is essential and what is nice to know at your stage. So you can stay at ideal “FLOW” or “ZONE”, which should help you to reduce your anxiety.


First, let’s clarify who should read the entry-level series…

Recently, our team need to deal with some image processing / object tracking task. One of challenge is using low cost platform to perform huge amount of computing.

Thus, during my free time, I am trying to figure out how image is processed in Nvidia’s platform and how can we accelereate this process. The following content is part of my note for this small personal project.


What do you need for this exercise?

  1. Nvidia Jetson Nano developer kit: LINK
  2. A high-speed micro SD card with a card reader.
  3. 5V, 4A power supply for Jetson Nano: You should be fine with it: LINK
  4. A screen with HDMI input.

Last time we talked about the eTimer module for some application. But MPC5744P also offered a System Timer Module for some system level application.

It remind us that Particle Photon also has a function called “software timer”. How about we also create our DIY software timer? So,this article will cover how to configure STM and implement a software timer in C. Since we have ability to measure time in a releative precise way, we can also implement the function to return the time pass since device boot-up.


What do you need for this exercise?

  1. MPC5744P dev-board: LINK
  2. S32 design studio for MPC5744P: LINK
  3. The example that we…

We’ve shown you how it feels about using a timer function in the previous exercise: MCU learning, Entry-Level, Part 2, Delay function.

But…what we did not mention is that exercise more or less is a software timer. So, this exercise tend to show you how to access a Hardware timer in a more profesional MCU: NXP MPC5744P.

Furthermore, we will also show you how to use this project which is inherited from the original NXP-provided Etimer example.

What do you need for this exercise?

  1. MPC5744P dev-board: LINK
  2. S32 design studio for MPC5744P: LINK
  3. The example that we provided: LINK
  4. MPC5744P User manual Rev6(2016/06)

What are we focusing on today?

  1. HW timer basic function(ETimer).

From the last section, we learned about how to use the GPIO. One of function actually we did not talk about detail a lot which is ADC.

In nature world, most of the signal tha we can pick up is generally an “Analog” signal, such as sound, temperature and pressure. Digital signal is created by human for computer to process datas. Imagine how many rational number between 1 to 10? Infinite right? How many number can a computer system present? Depends on how many bits it have. But it is an fininite number for a signle data.


1. How to present an infinite state with a finite state?

=> Using a…


GPIO provides the most basic function of an MCU which make it so important as well. For example, you should find that in most of the teaching courses, the exercise after the “HelloWorld” is using GPIO to light up an LED. Another examaple could be read a potential meter and print it on serial port.

image source:

What do you need for this exercise?

  1. Particle Photon(LINK)
  2. A Computer/Laptop with a USB port(Windows is ideal)
  3. A through hole led (Optional)

Let’s have a look at Particle Photon pin

I’ve been searcing for language to process data from MCU. And ends up with Python could be a nice language.

I used to play with C# for real-time data visualization and recording. But since I am learning python, why not use it to pick up and visaulize data. I decide to name this series as “Learning Note” which means it will be a note instead of tutorial. So steps may skip and just talks about some important parts.

Material for this learning note

  1. Python3.7 with Numpy and Streamlit installed.
  2. Particle Photon + Si7021 module
    You can use the exercise that I created before: <LINK>


Time is the most valuable thing a man can spend. — Theophrastus.

So does MCU world….
Timing could be a vital issue for some application which requires fast resposne or even real time application.

I will show you how MCU achieve to manage TIME.


From the entry-level Part 1 exercise(LINK), we had got an overview of how we write a piece of code. It isn’t that so hard, right?

However, you may complain about the MCU send the “Hello World” message so fast, causing it too hard to read.

Is there anything we can do to slow it down? YES

2020/11/18, Warm-sunny day

Photo by:, Source: Unsplash




(一)尊師重道: 見面時跟所有人一一打招呼、進出道場的禮儀、練習後的精神喊話。
(二)精神上的要求: 練習前冥想、就算是不會/不熟的動作也要全力以赴、喊聲要有自信精神、組手中要想辦法戰勝對疼痛的恐懼、練習後的10本突き。
(三)技術上的鍛鍊: 千錘百鍊只為了把一個基本動作做好、有點難的移動複合技、複雜但是又帥氣的型。
(四)體能上的要求: 每次或多或少都有的體能練習、升級考試時候簡直比當兵還硬的測試。

這些都會在之後的文章中跟大家分享分享。Stay tuned!



重點訊息: 在這個平台空間更多的會是記錄自己的心境、心得而非技術;畢竟我還不到那種可以分享技術層面資訊的等級, 但是有錯的地方還是請前輩們多多指正謝謝! OSU!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store