I've never touched a barebones microcontroller before. I've been toying around with an Arduino and Teensy for a few years now. Recently I've been itching to ditch the comfort of those buttercup modules and begin using standalone MCUs. The chip I'm looking at is NXP's ARM Cortex-M7 MIMXRT1062DVL6A. I know there are chips in the market that are less complex, but my question depending on if I'm able to phrase it properly could be generalized to any MCU. I want to know how I can upload code I've written into the device's memory. Specifically via MicroUSB. I've tried looking through the datasheet, but frankly, I don't know where to start. I was wondering if there's a programmer that needs to be installed between the MicroUSB and MCU. Also, I'm curious if when working with MCUs is the datasheet and manual the best documentation for understanding the MCU or are there additional sources I should look into?

  • 2
    \$\begingroup\$ As a BGA only device this is not suitable for the inexperienced. Pick something in a QFP for a first project with a USB ROM bootloader if you want that (maybe a smaller STM32F4?) and a matching cheap eval board to validate your software independent of your custom hardware. Even then use SWD and a true UART for initial boatd bring up, save USB for later programs. \$\endgroup\$ Oct 20, 2019 at 2:08
  • \$\begingroup\$ Thanks for the Advice Chris! As per my second question would you know if there are better sources for understanding an STM32 or any MCU? Or should I rely on their Data Sheets and Manuals primarily? \$\endgroup\$
    – Espresso
    Oct 20, 2019 at 22:13

1 Answer 1


You need to develop (or adapt an existing one) a piece of firmware called a bootloader. A bootloader reads new application firmware using some kind of communication interface (like an SD card, USB as a device, serial port, USB memory stick etc.) and places it in MCU internal flash. This applies to "all" MCUs.

If you are new to MCUs - don't start with the i.MX RT (they are one of the "biggest" and most complex MCUs on the market). Start with something simpler like an ATmega328 (without using Arduino libraries), Kinetis E or STM32L0.

  • \$\begingroup\$ The asker doesn't necessarily need to develop or adapt a bootloader at all - many MCUs come with one permanently stored from the factory. \$\endgroup\$ Oct 20, 2019 at 22:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.