Wolfram Language

Deploy Code to Bare Metal Microcontroller Chips

The Microcontroller Kit supports the deployment of code both to targets such as the Arduino Uno and bare metal microcontrollers such as the ATmega328. The latter has the allure of being minimal, although it may also need supporting components for power, external clock source, etc.

show complete Wolfram Language input

In this example, an ATmega168 microcontroller will be programmed using an Arduino Uno as well as a USBasp programmer.

An Arduino Uno can be converted to an AVR In-System Programmer (AVRISP). To do this, open the Arduino IDE, select File Examples Arduino ISP Arduino ISP and upload it to the Uno. Then connect the Uno to the microcontroller as shown following.

The analog input from the potentiometer.

Set the sampling rate of the PWM signal for the analog output on pin 15 to be 1/4 of the microcontroller's clock frequency of 1 MHz.

The systems model can be sampled at a much lower rate.

The complete microcontroller specification.

The programmer specification.

Deploy the code.

The schematic showing pin 24 connected to a potentiometer and pin 15 connected to an LED, along with the voltage regulator and USBasp programmer connections.

Deploy the code through the USBasp programmer.

Related Examples