Wellys Dev

    • Frequently Asked Questions
    • Frequently Found Errors
    • Example Code
    • Why This Is Worth It
    • Raspberry Pi and VS Code Remote Setup (Trixie)
    • Raspberry Pi and VS Code Setup: Developing Remotely
    • Raspberry Pi and VS Code Setup Serial Communication
    • Setup Introduction
    • Raspberry Pi and VS Code Setup Bookworm (DEPRECATED)
    • Linux Setup (Advanced)
    • macOS Setup (Advanced)
    • Windows/WSL Setup (Deprecated)
    • Windows 10 Setup (Advanced)
    • Using git
    • Edit
    • Build
    • Upload
    • AVRC Library Functions
    • Using a Serial Monitor
    • Functions - Serial input/output
    • Function - analogWrite()
    • Function - digitalWrite()
    • Function - pinMode()
    • Function - digitalRead()
    • Struct - buttons[]
    • Function - analogRead()
    • Hints
    • Mapping Values
    • Using Data Types and Math
    • Marking Time and Measuring Time
    • User Functions
    • Multi-tasking the Arduino - Part 1
    • Function - tone()
    • Using PROGMEM
    • structures
    • Code vs. Cost
    • Pointers
    • Servos
    • I/O Ports
    • Make, Makefile and env.make
    • Better Serial Input
    • Using the GNU Linker to Enhance printf()
    • Serial Applications for Embedded Development
    • A Second Serial Port
    • Buffer Overflow
    • AVR Datasheet Note: Blink
    • AVR Datasheet Note: PWM
    • AVR Datasheet Note: analogWrite
    • Comparison of Languages
    • AVR-gcc Note: Simple Project
    • Using the Standard C Framework
    • Writing Multitasking Programs
    • Using Makefiles to Automate Development
    • PRNG, FSM and more!
    • GCC 12 AVR array subscript error
    • Hardware Debug: Using gdb to debug
    • Hardware Debug: Setup Bloom and gdb to Debug
    • Hardware Debug: Examples of Bloom with gdb to Debug
    • Hardware Debug: Hints on Solving Issues Bloom and gdb
    • Hardware Debug: Exploring the ATmega328PB Xplained Mini
    • Hardware Debug: Command and Configuration Reference for Bloom and gdb
    • Arduino Resources page
    • Developing in C on the RP2040: Read First
    • Developing in C on the RP2040: Linux
    • Developing in C on the RP2040: macOS
    • Developing in C on the RP2040: Windows
    • Developing in C on the RP2040: Using gdb - Setup
    • Developing in C on the RP2040: Using gdb - Hints
    • Developing in C on the RP2040: New Project
    • Developing in C on the RP2040: Exploring Blink
    • Introduction
    • Installation and Calibration
    • Software Bug
    • DC Sweep
    • AC Signal Analysis
    • Programmable Bias and Gain
    • Filters
    • Understand Your Test Equipment
    • Testing the ESP32 and MicroPython
    • Testing the RP2040 and MicroPython
    • Analyzing Circuits Using the Espotek Labrador: Measuring Servo Control
    • Comparing the Labrador
    • Op Amp Resources
    • Designing an Inverting Amplifier with Bias
    • Testing MicroPython with the Labrador: PWM
    • FlashForth: Simple Setup
    • FlashForth: blink
    • Flashforth: Working with the Uno
    • FlashForth: Understanding the ATmega328P PWM
    • FlashForth: Datasheets
    • FlashForth: Compile a New Version
    • FlashForth: Arduino HAL
    • FlashForth: Using the Three Values of Forth
    • FlashForth: Execution Speed
    • FlashForth: Debouncing Buttons
    • Mecrisp-Stellaris Forth: On the RP2040
    • Mecrisp-Stellaris Forth: Creating a New UF2
    • Mecrisp-Stellaris Forth: An IDE for the RP2040
    • Mecrisp-Stellaris Forth: RP2040 and Pin Testing
    • Mecrisp-Stellaris Forth: Notes
    • Mecrisp-Stellaris Forth: Dictionary 0
    • Why Forth
    • Comparing Board and Language Speeds
    • Which Forth?
    • Forth Resources
    • ESPForth
    • ESPForth Part 2
    • ESPForth 7.0
    • RP2040 MicroPython: Getting Started
    • RP2040 MicroPython: Developing Applications
    • RP2040 MicroPython: Making a Wireless Connection
    • RP2040 MicroPython: mpremote
    • RP2040 MicroPython: Making a Web Server
    • Making a WebServer with WebSockets
    • RP2040 MicroPython Coding Setup
    • Introducing Adafruit Feather RP2040
    • RP2040 Blink Continued
    • Comparing Board and Language Speeds
    • Debugging
    • CircuitPython for the FIDI Part 2
    • CircuitPython for the FIDI Part 1
    • RP2040 MicroPython: Onboard Shell
    • Introduction
    • Debug Setup
    • gdb Resources
    • ESP32: Using arduino-cli
    • ESP32: Solving Issues with Arduino Development
    • ESP32: Using a modular approach
    • ESP32: Automation
    • ESP32 MicroPython Coding Setup
    • ESP32 Oscilloscope
    • MicroPython
    • Arduino: Reloading Bootloaders on the Uno and the 32U4
    • Using Arduino on the RP2040: Notes
    • Using Arduino on the RP2040: I2C
    • PinTest
    • Embedded Ada on an AVR Microcontroller: Introduction
    • Working with GitHub and Sensors: dataLogger
    • Setup a Raspberry Pi as a Apache/PHP/SQLite Server
    • Git: Beginning to Use It (ESP32)
    • Julia Notes
  • All Posts
  • About

Posts

  • Categories
  • Tags
    • ATtiny13A 3
    • C 78
    • Content 8
    • Assembly 2
    • Bloom 6
    • Gdb 12
    • Arduino 74
    • ATmega328 79
    • AVR 3
    • FlashForth 14
    • Forth 25
    • MicroPython 20
    • Pico 19
    • RP2040 33
    • Pintest 7
    • Python 1
    • Mecrisp 7
    • Ada 1
    • GitHub 1
    • Sensors 1
    • PHP 1
    • Web 1
    • Electronics 6
    • Labrador 16
    • ARM M0 3
    • CircuitPython 3
    • FIDI 3
    • ESP32 14
    • Videos 4
    • Julia 2

Developing in C for the ATmega328P: Function - analogRead()

Calendar September 12, 2022
C, ATmega328, Arduino

Where I describe the function - analogRead().

Introduction#

The function analogRead() is similar to digitalRead(), in the sense, it takes a pin number as a parameter and returns the pin’s value. In the case of analogRead, the value will be a number …

Developing in C for the ATmega328P: Struct - buttons[]

Calendar September 8, 2022
C, ATmega328, Arduino

Where I describe the struct, buttons[] and how to use it to debounce and check for button presses.

Introduction#

Describing buttons[] is slightly different than describing a function such as analogWrite() and digitalRead() as buttons[] is a struct. The …

Developing in C for the ATmega328P: Function - digitalRead()

Calendar August 29, 2022
C, ATmega328, Arduino

Where I describe the function - digitalRead().

Introduction#

The function digitalRead() is analogous to digitalWrite(), in the sense, it takes a pin number as a parameter and as compared to setting its value, it returns the pin’s value. The value …

Developing in C for the ATmega328P: Function - pinMode()

Calendar August 28, 2022
C, ATmega328, Arduino

Where I describe the function - pinMode().

Introduction#

The function, pinMode() is one of the most important and one of the most forgotten of all of the Arduino framework. It is important, as it sets the function of the pin in question. And when its …

Developing in C for the ATmega328P: Function - digitalWrite()

Calendar August 28, 2022
C, ATmega328, Arduino

Where I describe the function - digitalWrite().

Introduction#

The digitalWrite() function is a basic building block of using a microcontroller. The function will either raise the value of an output pin to 5V or it will lower it to GND (0V), and in doing so …

Developing in C on the AVR ATmega328P: Frequently Found Errors (FFE)

Calendar August 25, 2022
C, ATmega328, Arduino

Where I attempt to gather in one place, all of the errors found while building (compile/link/locate) and uploading code to the Uno.

1. Everytime, I run make, I get an error from Makefile like “Makefile:65: *** missing separator. Stop.” or …

Developing in C for the ATmega328P: Functions - Serial input/output

Calendar August 24, 2022
C, ATmega328, Arduino

Where I describe the functions for serial input/out - puts(), getchar() and printf().

Introduction#

The serial input/output capabilities of C are vastly superior to those in the Arduino framework. In order to communicate via the USB serial cable, you must …

Developing in C for the ATmega328P: Function - analogWrite()

Calendar August 22, 2022
C, ATmega328, Arduino

Where I describe the function - analogWrite().

Introduction#

While analogWrite can be an easy function to use, its not easy to initially understand. This stems from a couple of reasons, first, its mis-named in that the function is not doing anything from …

Developing in C for the ATmega328P: AVR_C Library Functions

Calendar August 19, 2022
C, ATmega328, Arduino

Where I describe how to use the Library functions in AVR_C.

Introduction#

This page describes where to find specific functions for programming an AVR microcontroller in Standard C using functions similar to the Arduino Language Reference. In this case, the …

Developing in C on the AVR ATmega328P: Frequently Asked Questions (FAQ)

Calendar August 18, 2022
C, ATmega328, Arduino

Where I attempt to direct all of the questions, pertaining to Developing in C for the Arduino Uno.

How do I find my Serial port?#

A: There is more than one way!

CLI methods

# identify using device
ls /dev/tty* | grep -E 'ACM|USB'

# identify using …
Backward 56789 Forward
Wellys Dev - Lief Koepsel
  • Categories
  • Tags
    • ATtiny13A 3
    • C 78
    • Content 8
    • Assembly 2
    • Bloom 6
    • Gdb 12
    • Arduino 74
    • ATmega328 79
    • AVR 3
    • FlashForth 14
    • Forth 25
    • MicroPython 20
    • Pico 19
    • RP2040 33
    • Pintest 7
    • Python 1
    • Mecrisp 7
    • Ada 1
    • GitHub 1
    • Sensors 1
    • PHP 1
    • Web 1
    • Electronics 6
    • Labrador 16
    • ARM M0 3
    • CircuitPython 3
    • FIDI 3
    • ESP32 14
    • Videos 4
    • Julia 2