Bare metal, down to the registers
AVR C writes the program for the ATmega328P, ATmega2560 or ATmega32U4 without the Arduino core:
ports, timers, PWM, the ADC and the UART are set up in plain C that you can read. avr-gcc builds it in
about 4 KB, and Upload sends it to the board with avrdude. Every example is run in the simavr simulator
and checked against the interpreter.
New in 0.5: PIC32 C does the same for nine PIC32MX chips with Microchip's XC32, and UART, SPI and I2C are
blocks, in Run and in all three board languages. The PIC32 code is checked against Microchip's device
headers, but has not yet been built with XC32 or run on a chip.
New in 0.6: FPGA support. SystemVerilog, Verilog-2001 and VHDL turn the same diagram into hardware for Artix-7 (Nexys A7, Arty A7, Basys 3) and Cologne Chip GateMate boards. The output is simulated against Run and synthesised with open-source tools, but has not been run through Vivado or loaded onto a board.
New in 0.6.5: MQTT. Five blocks publish a program's numbers to a broker and read commands back: on a PIC32MX with a WiFi module on UART2, on an ESP32 with its own WiFi, and in Run against a broker on your computer. Two examples come with it, one of them for the PIC32 Ethernet Starter Kit II. The generated client is checked against a real broker; no WiFi module or chip was part of that. New in 0.6.7: MQTT can also leave through the chip's own Ethernet port on the MX695, the MX795 and the starter kit, as an MPLAB X Harmony application — experimental, and not yet built against real Harmony. The interface itself is now in English, Russian or Armenian too, chosen in Settings.