Skip to main content Skip to local navigation
Home » Category: 'embedded'

embedded

Installing SIMAVR on Mac OS X

Installing SIMAVR on Mac OS X

The SIMAVR package is for simulating AVR processors like the ATMEGA328 on the Arduino UNO. I'm looking to try to use it with VPL in courses like our computer architecture class, EECS 2021, as a way of simulating the UNO's processor in exercises involving assembler and C programming. On a Mac, we use HomeBrew. The […]

Easy Java + Arduino with Firmata (updated)

Easy Java + Arduino with Firmata (updated)

Arduino devices are commonplace in Engineering programs. Even if the profs don't use them, the students do. In Engineering programs, we often need to set up sensor monitoring or motor control systems. If students haven't worked with these in the first through third years of their programs, they are likely to encounter them in the […]

LPC802 & LPC804 Microcontroller lessons

LPC802 & LPC804 Microcontroller lessons

These are copies of the lessons and labs that I developed for the LPC802 and LPC804 microcontrollers by NXP. These are the "student" versions and contain blanks in certain places on purpose. Course Outline (EECS 3215 Winter 2020) Introduction to the design of embedded systems using both hardware and software. Topics include microcontrollers; their architecture, […]

At Home Electronics Lab Kits for Engineering

At Home Electronics Lab Kits for Engineering

this is a work in progress... nothing is finalized and no decision made at this point.  Just doing a market survey for now... many people need to be consulted and this will have to be a joint decision... We'll use an internal (to York) Teams page to flesh out the details. Key characteristics Price. (low […]

Matlab and Arduino

Matlab and Arduino

The programming and embedded systems curriculum in engineering should be constantly revised as the underlying methods and technologies are constantly changing. Here, I'm exploring how we can update the systems we use in our first year programming class at the Lassonde School.    Low barriers to entry are key as many of our students have […]

Wakeup Timer on the LPC804

Wakeup Timer on the LPC804

Here is an example of running a timer on the LPC804, originally written in C and then modified to work in C++14 on MCUXpresso 11.1. Here we're using the 1MHz Low Power Oscillator to drive the Wakeup Timer on the LPC804. The same code would work as a C++ project on the LPC802 (OM40000 board) […]

C++ and the LPC802: type casting

C++ and the LPC802: type casting

It appears that the C++ compilers in MCUXpresso don't like the C-style type casting that are found in some macros used by the SDK for the LPC802. One of our students, Richard, discovered that a change needs to be done to a pair of macros that reside inside of fsl_clock.h in order for C++ to […]

Microcontroller Interrupts and C++

Microcontroller Interrupts and C++

As part of my examination of C++ programming on microcontrollers, I've run into an issue with implementing Interrupt Service Routines on the LPC804 and LPC802 microcontrollers.  These micros are based on the ARM Cortex M0+ core, are small, solderable and suitable for teaching and project development with undergraduate engineering and computer science students.  I'm looking […]

Testing the LPC804 Microcontroller

Testing the LPC804 Microcontroller

Here's a simple program, written for the LPC802 or LPC804 microcontroller, using MCUXpresso 11.0, the ISO C11 compiler and the latest LPC802 (OM40000) or LPC804 (OM400001) SDK from NXP. I started a project using MCUXPresso and the SDK, then erased the contents of the main .c file it produced, replacing it with the following: The […]