Thesis Pte Ltd

  • 01 //

    About us
  • 02 //

    Services
  • 03 //

    Works
  • 04 //

    Blogs

One thesis

Copyright © 2022 Thesis Pte. Ltd. All Rights Reserved

OFFICE

34 Boon Leat Terrace #04-09A Singapore 119866

GET IN TOUCH

  • 01 //

    About us
  • 02 //

    Services
  • 03 //

    Works
  • 04 //

    Blogs

One thesis

Copyright © 2022 Thesis Pte. Ltd. All Rights Reserved

Blog

IDEs for firmware development

September 30, 2022
1 Mins read

In Thesis, we develop products using various MCUs - Cypress PSoC4/5/6, STM32, Nordic nRF, Arduino, and PIC. In the past, we did that because of various client requirements and/or outcomes from our in-depth engineering evaluation. However, we do it nowadays because we aim to make our product design as MCU agnostic as possible to circumvent supply shortages. To support this approach, we always approach our embedded firmware development in an agnostic manner, allowing easier porting to various MCUs. As a result, we utilise various IDEs daily, e.g. PSoC creator, Keil uVision, Eclipse, Visual Studio, Arduino IDE and Segger Embedded Studio.

Arduino IDE

One of the most popular IDE for firmware development right now is the Arduino IDE. However, you are only limited to board support on Arduino boards or compatible boards. Recently, Arduino officially released their Arduino 2.0 IDE with better functionalities. Most crucially, the ability to do inline debugging (https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-debugger). We believe that we speak the mind of many that one of the most frustrating aspects of IDE 1.x is the lack of inline debugging. We have to code serial output to check the serial printout, which is very time-consuming. As a result, we shifted to Microsoft Visual Studio in the early days. Nonetheless, inline debugging is not perfect because a) limited to a selective range of Arduino boards and b) requires an external debugger. However, it remains so for IDE 2.0, but at least you now have an alternative. Have you tried the new IDE?
You may want to check the hackaday article out for their introduction of the IDE. https://hackaday.com/2022/09/28/arduino-ide-2-0-is-here/

Other IDEs

If you prefer a more one-size-fits-all solution (where one IDE supports multiple MCUs), Keil and Segger embedded studio (SES) are doing a remarkable job. However, such a solution is not free and can be expensive to upkeep. At this time, SES is free only if you use it on Nordic nRF series MCUs.

Our recommendation

Our recommendation is for the client or starting developer to start with the IDE recommended by the MCU SDK's example projects. The recommendation also tends to be free.

Speak to us if you need help with your embedded product and how we can keep your design MCU agnostic to circumvent supply shock. For some of our past projects, please visit www.onethesis.com/works/.

If you like our content, please consider following our LinkedIn page. Thank you.

Read more
A new chapter
October 17, 2022
0 Mins read

To celebrate our 6th anniversary, we designed and trademarked a new logo to celebrate our past successes and symbolise the future of Thesis. At Thesis, we pride ourselves on helping shape our customers’ future. Our work helps our customers extend their technological advantage over the competition and opens up new growth opportunities. To illustrate this, […]

Read more
Zero-voltage switching (ZVS) inductive heating
October 14, 2022
2 Mins read

Here we show the waveform of a zero-voltage switching (ZVS) inductive heating circuit and the thermal profile in operation. A typical buck regulator DC-DC is challenging to design when there is a significant voltage difference between the input and the output voltages. A significant voltage difference typically increases switching losses and limits the device’s switching […]

Read more
Heartrate monitoring in wearable design
May 23, 2019
4 Mins read

Introduction A very noticeable feature in modern wearables and smartwatches these days is the presence of an optical photoplethysmograph (PPG) heart-rate sensor. PPG is a non-invasive method of measuring the variation in blood volume in tissues using a light source and a detector. In this article, we will talk about some component-level heart-rate measurement (HRM) […]