EmbeddedRelated.com

Using GPIO in (Apache) NuttX RTOS

Alan C Assis January 21, 20243 comments

In the previous article (https://embeddedrelated.com/showarticle/1610.php) we saw how to compile and run NuttX on three low cost boards (RaspberryPi Pico, ESP32-Devkit and STM32F4Discovery). Today we will see how to use GPIO pins and read and write logic level signals from/to the MCU pins.

Everybody knows that blinking a LED is the "Hello World" program of embedded system engineer. Controlling a GPIO we can do exactly that! Although it is important to know that NuttX...


A Sneak Peek at the 2024 Embedded Online Conference

Jacob Beningo January 19, 2024

The embedded systems industry is evolving at a rapid pace. Just a few years ago, most embedded products were disconnected systems that used bare-metal scheduling techniques. Today, the drive to connect devices and add intelligence at the edge is revolutionizing how we build embedded products. The only way to stay current and not get left behind is to learn and network with colleagues and industry experts continuously.

This year, the 2024 Embedded Online Conference is...


The Asimov Protocol

Ido Gendel January 4, 2024

While the Internet is choke-full of explanations of basic data communication protocols, very little is said about the higher levels of packing, formatting, and exchanging information in a useful and practical way. This less-charted land is still fraught with strange problems, whose solutions may be found in strange places – in this example, a very short, 60 years old Science Fiction story.


Ten Little Algorithms, Part 7: Continued Fraction Approximation

Jason Sachs December 24, 2023

In this article we explore the use of continued fractions to approximate any particular real number, with practical applications.


Embedded Developer’s New Year’s Resolution

Amar Mahmutbegovic December 21, 2023

As we reach the end of another year, while wrapping up this one, we also contemplate the year ahead. Though nothing major might change on the 1st of January, it’s nice to pause during the holidays to reflect on the past and plan for future improvements.

I like to plan my professional improvements, and I always include them in my New Year’s resolution. Here are some ideas that I’d like to share.

Good Software Design Practices

Yes, we Embedded developers love...


Remember Y2K?

Colin Walls December 21, 20231 comment

There was fear that the turn of the century at the end of 1999 would cause problems with many embedded systems. There is evidence that the same issue may occur in 2038.


Getting Started With Zephyr: Writing Data to EEPROM

Mohammed Billoo December 6, 20235 comments

In this blog post, I show how to implement a Zephyr application to interact with EEPROM. I show how the Zephyr device driver model allows application writers to be free of the underlying implementation details. Unfortunately, the application didn't work as expected, and I'm still troubleshooting the cause.


My TDD Journey Started Dec 6, 1999

James Grenning December 6, 2023

My story of learning Test-Driven Development started 23 years ago today. TDD has helped me exercise my code well before there is target hardware to run on. TDD helps me prevent defects. It can help you too.


More than just a pretty face - a good UI is essential

Colin Walls November 30, 20231 comment

A user interface can make or break a device - determining its success in the marketplace. With careful design, the UI can make the product compelling and result in a high level of satisfaction from new and experienced users.


Getting Started with NuttX RTOS on Three Low Cost Boards

Alan C Assis November 27, 20236 comments

If you are an embedded system developer chances are you already played with Linux on some embedded board and saw how it is powerful, right?

So, I have a good news: you can have same power using NuttX on some ultra low cost board powered by a microcontroller instead of microprocessor (that normally is way more expansive).

In fact many companies already realized it before me. It explains why NuttX is the kernel used by many IoT frameworks:

Another great news is that few days ago...


Already 3000+ Attendees Registered for the Upcoming Embedded Online Conference

Stephane Boucher February 14, 2020

Chances are you already know, through the newsletter or banners on the Related sites, about the upcoming Embedded Online Conference.

Chances are you also already know that you have until the end of the month of February to register for free. 

And chances are that you are one of the more than 3000 pro-active engineers who have already registered.

But If you are like me and have a tendency to do tomorrow what can be done today, maybe you haven't registered yet.  You may...


Introduction to Microcontrollers - Buttons and Bouncing

Mike Silva October 26, 20133 comments

What Is A Button?

To your hardware, that is.  As discussed in Introduction to Microcontrollers - More On GPIO, a button (or key, or switch, or any form of mechanical contact) is generally hooked up to a microcontroller so as to generate a certain logic level when pushed or closed or "active," and the opposite logic level when unpushed or open or "inactive."  The active logic level can be either '0' or '1', but for reasons both historical and electrical, an...


How to Estimate Encoder Velocity Without Making Stupid Mistakes: Part II (Tracking Loops and PLLs)

Jason Sachs November 17, 201312 comments

Yeeehah! Finally we're ready to tackle some more clever ways to figure out the velocity of a position encoder. In part I, we looked at the basics of velocity estimation. Then in my last article, I talked a little about what's necessary to evaluate different kinds of algorithms. Now it's time to start describing them. We'll cover tracking loops and phase-locked loops in this article, and Luenberger observers in part III.

But first we need a moderately simple, but interesting, example...


Digital PLL's -- Part 1

Neil Robertson June 7, 201626 comments
1. Introduction

Figure 1.1 is a block diagram of a digital PLL (DPLL).  The purpose of the DPLL is to lock the phase of a numerically controlled oscillator (NCO) to a reference signal.  The loop includes a phase detector to compute phase error and a loop filter to set loop dynamic performance.  The output of the loop filter controls the frequency and phase of the NCO, driving the phase error to zero.

One application of the DPLL is to recover the timing in a digital...


Learning Rust For Embedded Systems

Steve Branam November 12, 2021
The Motivational Portion

Based on recommendations from Kevin Nause, the VolksEEG project is considering using Rust as the embedded system programming language. So I've been off on a tear skimming books and e-books and watching videos at 2x to evaluate it.

My conclusion? Do it!

Most of the rest of us participants are primarily C/C++ embedded developers. I had previously been sensitized to Rust for embedded systems by 


Lost Secrets of the H-Bridge, Part IV: DC Link Decoupling and Why Electrolytic Capacitors Are Not Enough

Jason Sachs April 29, 20147 comments

Those of you who read my earlier articles about H-bridges, and followed them closely, have noticed there's some unfinished business. Well, here it is. Just so you know, I've been nervous about writing the fourth (and hopefully final) part of this series for a while. Fourth installments after a hiatus can bring bad vibes. I mean, look what it did to George Lucas: now we have Star Wars Episode I: The Phantom Menace and


Implementing State Machines

Stephen Friederichs January 18, 20145 comments

State machines are a great way to design software but they can be difficult to implement well.To illustrate this I’ll develop a simple state machine then increase the complexity to demonstrate some of the difficulties

We’ve all washed dishes before - it’s easy isn’t it? Scrub, rinse, dry, scrub, rinse dry. Scrub the dish until all of the gunk is off of it, rinse until the soap is off, put it in the drying rack. If you want to design software to implement this you have options. You...


Introduction to Microcontrollers - More On GPIO

Mike Silva September 13, 20134 comments

Now that we have our LED Blinky program nailed down, it's time to look more closely at outputs, add button/switch inputs, and work with reading inputs and driving outputs based on those inputs.

It's ON - No, It's OFF - No, It's ON...

I have to confess, I cheated.  Well, let's say I glossed over something very important.  In our LED Blinky program, we never cared about whether an output '1' or an output '0' turned on the LED.  Since we were just...


Unit Tests for Embedded Code

Stephen Friederichs March 5, 201411 comments

I originate from an electrical engineering background and my first industry experience was in a large, staid defense contractor. Both of these experiences contributed to a significant lack of knowledge with regards to software development best practices. Electrical engineers often have a backwards view of software in general; large defense contractors have similar views of software and couple it with a general disdain for any sort of automation or ‘immature’ practices.  While there...


New Code Snippet Section

Stephane Boucher January 15, 20134 comments

More incentives announced

Following the success of the code snippet section on DSPRelated.com, I am happy today to announce the launch of the code snippet section on EmbeddedRelated.com.  

If you have a piece of code that you would like to share with the Embedded Systems community, please go ahead and fill the form.  

If the piece of code you submit is approved, you will be sent $10 through Paypal.

If...


Two jobs

Stephane Boucher December 5, 201223 comments

For those of you following closely embeddedrelated and the other related sites, you might have noticed that I have been less active for the last couple of months, and I will use this blog post to explain why. The main reason is that I got myself involved into a project that ended up using a better part of my cpu than I originally thought it would.

edit - video of the event:

I currently have two jobs: one as an electrical/dsp engineer recycled as a web publisher and the other...


October winner announced

Stephane Boucher November 15, 20121 comment

If you are a regular visitor of EmbeddedRelated, you are most likely aware that I have been running monthly draws lately for users of the site who are helping me to clean up the archives by rating threads in the forums section.  

For the month of August, the member "Cryptoman" won a iPad, and for the month of September, 10 members won $50 each.  

For October, the winner of the new iPod Touch is the member with the username "hssathya".

The winner of the next draw will win...


Behold, the New Comments System!

Stephane Boucher September 18, 201229 comments

I have just finished implementing a new system for commenting the blogs.  It uses Ajax extensively, so the page won't reload if you post a comment.  And it is a 'threaded' system, which means that if you post a reply to a comment, it will be attached to it.  

What do you think?  I personally love it.  Please go ahead and test it with a quick comment.

Although it is better to be logged in to post a comment, non-registered users can also comment, but they will have...


Best Embedded Systems pdf Documents Out There

Stephane Boucher September 11, 20127 comments

There are thousands of pdf documents related to Embedded Systems available online.  In fact, when I do a search in Google for:

embedded systems filetype:pdf

I get 4,340,000 results! A huge mix of articles, promotional documents, theses, etc.

Out of these 4 millions+ documents, I suspect that there must be at least a few hundreds jewels that deserve to be given more visibility.

Today, I am asking for your help (again!) to build a directory of some of the most useful pdf files out...


New Discussion Group for Users of TI ARM based MCUs

Stephane Boucher June 14, 2010

If you are a user of an ARM based TI Microcontroller, please feel free to join the new "TI ARM processors MCUs" discussion group by sending a blank email to: tiarm-subscribe@yahoogroups.com This discussion group will be moderated, so you don't have to worry about receiving more spam than you probably already get. It usually takes a few weeks for a group to gain momentum, so don't worry if the activity level is low for a little while, but make sure to join so you don't miss the good...


New TI MCU Resource Center

Stephane Boucher April 1, 2010

I am happy to announce the publication of the new "TI MCU Resource Center" on EmbeddedRelated.com, where TI will regularly add videos and articles to keep you informed on their latest and greatest MCU related products.

To access the new section, you'll find a link in the main menu of the site at the top of the page.


Blogs Section Now Online!

Stephane Boucher September 18, 2007

I am happy to announce that the blog section is now online.

Last week, I sent an email to all the members of EmbeddedRelated.com to ask for embedded systems experts who would be interested in blogging on the site. The response was very positive and I have selected 10 highly qualified individuals who will soon be writing here about all sorts of embedded systems related subjects. I am currently in the process of receiving their info (bio, photo, username, etc) and creating their bloggers'...