When we think about innovation, it often brings to mind cutting-edge tech, new gadgets, or the latest startup ideas. But when we step back and look at it through a wider lens, innovation is so much more. It’s the spirit of solving problems differently, making...
Creating an LCD I2C Driver for the Core MCU FrameworkA Quick Look at the HardwareThe Driver in ActionMaking Sure the Address is RightWrapping It All TogetherCore MCU Framework InformationHave a Project or Idea!?Seeking Bespoke Technology...
Breaking Down C Headers and Include Files: A Simple IntroductionWhat’s a Header File, Anyway?Using #include: The Key to Connecting Your CodeWhat Goes Into a Header File?How Header Files Keep Your Code ConnectedHeat Shrinking It UpHave a Project or Idea!?...
Yes, I like trains. I can’t help myself. I’ve been fascinated by them for as long as I can remember. It’s a hobby that pulls together all sorts of things I enjoy—not just the technical side, but also my artistic side. There’s something about...
The goal of the LumiEase Hub is simple: to make it easy for anyone to add LED lighting and effects to their model train projects. For a long time, I’ve been designing modular systems for my own use. But when you’re creating something for yourself,...
1. Define Your Project’s Goal2. Choose the Right Microcontroller3. Set Up Your Development Environment4. Get Your Hands on the Hardware5. Write and Test Your Code6. Debug and Troubleshoot7. Document Your Progress8. Expand and Iterate9. Share Your Work Getting...
I’m excited to share some great news for developers and tech enthusiasts: the Core MCU Framework has now been expanded with initial support for DS18B20 temperature sensors in the Core8-16F version! This release brings powerful new capabilities, enabling seamless...
25 Creative LDR Projects to Explore on Your OwnLight Detection and Control ProjectsSecurity and Safety SystemsEntertainment and Display IdeasEnvironmental Monitoring and Green ProjectsLearning and Demonstration ProjectsOther Fun IdeasCore MCU Framework InformationHave...
Light-Sensing System with LDR, Potentiometer, and LED – Using the PIC16F15313The CircuitCircuit BreakdownNow for the CodeCode OverviewPractical Use CasesWhere to Go From HereCore MCU Framework InformationHave a Project or Idea!?Seeking Bespoke Technology...
Adjusting LED Brightness with PWM and a PotentiometerThe CircuitLet’s walk through each part of the circuit:Putting It All TogetherNow for the CodeBreaking Down the Code: Adjusting LED Brightness with PWM Using a PotentiometerCode OverviewThe Endless LoopSummary...
Using a Potentiometer to Control an LED and Monitor Values with Serial FeedbackThe CircuitSetting Up the Circuit: Adding Serial Feedback to the MixPutting It All TogetherNow for the CodeBlinking LED with Serial FeedbackInside the Endless LoopWhat’s Happening...
Using a Potentiometer with a PIC Microcontroller To Change Flash Rate of LEDSetting Up the CircuitHow It All Fits TogetherAnd Now The CodeCode OverviewThe Endless LoopWhat’s Happening in the LoopCore MCU Framework InformationHave a Project or Idea!?Seeking...
Using a Potentiometer with a PIC MicrocontrollerUnderstanding What a Potentiometer DoesWhy Use a Potentiometer?Setting Up the Circuit: Connecting the Potentiometer to a PICReading Analog Values: From Voltage to DataA World of PossibilitiesSeeking Bespoke Technology...
Alternating Blinking LEDs : Building on the Basics with the CORE MCU FrameworkFirst Things First: Setting Up the CircuitNow, Let’s Dive into the CodeWhat’s Happening Here?What Does It All Look Like?Why Start Here?A Dynamic Pattern GeneratorCore MCU...
Why Choose a Microchip PIC Over an Arduino?Why Choose a PIC?But Isn’t a PIC Harder to Use?When Does It Make Sense to Move to a PIC?Choosing the Right Tool for the JobSeeking Bespoke Technology Solutions?jamie@jamiestarling.com Why Choose a Microchip PIC Over an...
Building Smarter : The Power of Reusable Firmware with Core MCU FrameworkWhat is Reusable Firmware?Why Reusable Firmware MattersCore MCU Framework: A Platform for Reusable FirmwareBuilding Reusable Firmware: A Step-by-Step GuideHow Core MCU Framework is EvolvingA...
Introducing the Core MCU Framework: Making Embedded Development EasierWhat is the Core MCU Framework?The Core Problem: MCU PortabilityHow Core MCU Framework Makes Development EasierA Framework That Grows With YouWhy It MattersSeeking Bespoke Technology...
Blinking an LED with the CORE MCU Framework PIC16F15313First Things First: Setting Up the CircuitBreaking Down the Code Step-by-StepWhy This Code MattersEndless PossibilitiesCore MCU Framework InformationHave a Project or Idea!?Seeking Bespoke Technology...
How to Easily Connect Your PIC Microcontroller to a PC Using a USB to TTL Serial ConverterWhy Use a USB to TTL Serial Converter?First, Let’s Cover Some BasicsWhat is TTL Serial Communication?So, What’s Serial Communication?Why Doesn’t My Computer...
How to Use an LDR (Light Dependent Resistor) in MCU ApplicationsWhat Is an LDR (Light Dependent Resistor)?How Does an LDR (Light Dependent Resistor) Work?Why Use an LDR (Light Dependent Resistor)?Where LDRs (Light Dependent Resistor) Are UsedCommon (Light Dependent...
Making Music with PIC10F322 : Twinkle Twinkle Little StarCreating the MelodySteps to Create the MelodyThe Circuit:The Code:Have a Project or Idea!?Seeking Bespoke Technology Solutions?jamie@jamiestarling.com Making Music with PIC10F322 : Twinkle Twinkle Little Star In...
Sound Generation with PIC10F322 NCO and XC8: Emulating the IBM PC/XT BeepThe IBM PC/XT BeepUnderstanding the NCO (Numerically Controlled Oscillator)Key Features of the NCO:Implementing the IBM PC/XT Beep with PIC10F322 and XC8The Circuit:The Code:Have a Project or...
In a previous post, we discussed setting up the PIC10F322 ADC to read the internal temperature sensor. While the primary use of this sensor is to monitor the die’s temperature to ensure it operates within its thermal limits, there are creative ways to utilize...
PIC10F322 Internal Temperature Module The PIC10F322 microcontroller is equipped with an internal temperature indicator module that measures the operating temperature of the silicon die. This feature is crucial for ensuring that the microcontroller operates within its...
SetupHigh-Level OverviewDetailed ExplanationHardware ConfigurationThe Circuit…The CodeFuture ImprovementsSummaryHave a Project or Idea!?Seeking Bespoke Technology Solutions? In this tutorial, we will create a light-activated switch using the PIC10F322 microcontroller...
PIC10F322 ADC and PWM for LED Brightness ControlOverviewThe CircuitAnd now… for the code.How the Code WorksSummaryHave a Project or Idea!?Seeking Bespoke Technology Solutions? PIC10F322 ADC and PWM for LED Brightness Control In this guide, we will explore how to...
Getting Started with ADC on PIC10F322 Using XC8Enabling and Using the ADCStep-by-Step ProcessConfigure the Port:Configure the ADC Module:Select ADC input channel:Turn on the ADC module:Start ADC Conversion:Wait for ADC Conversion to Complete:Read the ADC...
Why Replace __delay_ms()?The CircuitSetting Up Timer0 and InterruptsHow the Code WorksAdvantages of Using Interrupt-Based Delay TimerSummaryHave a Project or Idea!?Seeking Bespoke Technology Solutions? In this post, we will explore how to create an interrupt-based...
Implementing interrupts on PIC10F322 using the XC8 compiler is straightforward. This guide provides a quick overview to help you get started. Defining the Interrupt Function To handle interrupts, you need to define an interrupt function (also known as an interrupt...
Replacing the 555 Timer with PIC10F322: Cascaded Timer ApplicationsCascaded Timer OverviewThe CircuitXC8 Code for Cascaded TimerHave a Project or Idea!?Seeking Bespoke Technology Solutions? Replacing the 555 Timer with PIC10F322: Cascaded Timer Applications In this...
How to Build Basic Astable Circuits with PIC10F322 NCO as a 555 Timer AlternativeUnderstanding the NCOSetting Up the NCO for a 500kHz OutputChanging the FrequencyAdditional ConsiderationsExample CodeSummaryHave a Project or Idea!?Seeking Bespoke Technology...
PIC10F322 Applications: Replacing 555 Timer with PIC10F322 for Basic Astable CircuitsOverviewXC8 Code for Basic Astable CircuitExplanation of the CodeAdjusting the Pulse Width and FrequencySummarySeeking Bespoke Technology Solutions? PIC10F322 Applications: Replacing...
Introduction to Timer0 on PIC10F322Timer0 ModesCounter Mode:Timer Mode:Timer0 PrescalerPractical Example: LED Blinker Using Timer0Code OverviewLogic Scope ViewCircuitThe CodeExplanation of the CodeTimer0 Calculation ExampleSummaryHave a Project or Idea!?Seeking...
How to Use PIC10F322 for Basic Monostable Circuits: A 555 Timer AlternativeWhy Use PIC10F322 Instead of a 555 Timer?The Monostable CircuitAbout The CircuitXC8 Code for the Monostable CircuitAdjusting the Pulse DurationSummaryHave a Project or Idea!?Seeking Bespoke...
Understanding and Implementing PWM with the PIC10F322 Using XC8PWM Output PinsPWM Setup InstructionsUnderstanding PWM TermsHow PWM WorksAbout the PIC10F322 PWM ModuleSetting Up PWM on PIC10F322Calculating PWM Duty CycleHere is the logic analyzer on the 33% duty...
Creating a Trigger-Activated Dual Alternating Flasher with PIC10F322 for Model Train Level Crossing LightsPIC10F322 Project OverviewThe CircuitXC8 Code for Trigger-Activated Dual Alternating FlasherExplanation of the CodeSummaryHave a Project or Idea!?Seeking Bespoke...
PIC10F322 Button Debounce Tutorial : Step-by-Step XC8 CodeHow Debouncing WorksExplanation of the Debouncing ProcessThe CircuitDebouncing CodeHow to Use This CodeTroubleshootingSummaryHave a Project or Idea!?Seeking Bespoke Technology Solutions? PIC10F322 Button...
What Are Weak Pull-Up Resistors?Setting Up Weak Pull-Up ResistorsExample CodeThe CircuitXC8 Code for Weak Pull-Up ResistorsHow It WorksTroubleshootingSummaryHave a Project or Idea!?Seeking Bespoke Technology Solutions? Understanding and Using Weak Pull-Up Resistors on...
OverviewInternal Oscillator FrequenciesXC8 Code to Generate Clock Reference Output on PIC10F322Have a Project or Idea!?Seeking Bespoke Technology Solutions? This guide demonstrates how to generate a clock reference output on PortA.2 of the PIC10F322 microcontroller...
A Simple Traffic Light Controller Using PIC10F322 and XC8The Traffic Light Circuit based on PIC10F233XC8 Code for Traffic LightCustomizing the TimingSum it upHave a Project or Idea!?Seeking Bespoke Technology Solutions? A Simple Traffic Light Controller Using...
The CircuitXC8 Code for Dual Alternating FlasherHow to Customize the Blink IntervalSummaryHave a Project or Idea!?Seeking Bespoke Technology Solutions?jamie@jamiestarling.com Looking for a way to create eye-catching model train level crossing lights? This guide...
Blinking an LED on a microcontroller is often considered the “Hello World” program for embedded systems. It’s a great starting point for learning how to control hardware with software. This guide provides the XC8 code and circuit setup to blink an...
Simplifying Your PIC10F322 Projects with a Standard Header FileCreating the Header FileContents of the Header FileBenefits of Using a Standard Header FileHave a Project or Idea!?Seeking Bespoke Technology Solutions? Simplifying Your PIC10F322 Projects with a Standard...
How to Set a Pin as an Output on the PIC10F322 Using XC8Overview of I/O Pins and RegistersStep-by-Step InstructionsConfiguring a Single Pin as an OutputConfiguring Multiple Pins as OutputsConfiguring All Pins as OutputsConfiguring All Pins as OutputsImportant...
Understanding the TRISA Register on the PIC10F322 in XC8Basics of the TRISA RegisterConfiguring Pin RA0 as an OutputDisable Analog Functionality:Set the Pin Direction:Set the Pin High:Important Note about Pin RA3Example CodeSummaryHave a Project or Idea!?...
The Evolution of MCU Programming : From ASM to CThe Shift to CPortability:Efficiency:Ease of Learning:Readability:Industry Relevance:Summing It UpHave a Project or Idea!?Seeking Bespoke Technology Solutions? The Evolution of MCU Programming : From ASM to C When I...
Understanding and Configuring the PIC10F322 System Clock Speed Upon reset or power-on, the PIC10F322 microcontroller defaults to a system clock speed of 8MHz. This default setting remains until you modify it in your code. Default Clock Speed and OSCCON Register When...
PIC10F322 Configuration Bits for XC8 You’ve just written your first XC8 program for the PIC10F322 and uploaded it to the chip, but nothing happens. The issue might be that you haven’t set up the Device Configuration Bits correctly. Proper configuration of...