This page gives you easy access to all the information
on the site.
Arduino
Projects: Use Amazing ICs to
Enhance your Projects. Find out how to use many
different chips from humidity sensors to
accelerometers, DACs and much more.
Arduino IOT: Learn how to connect your Arduino to the web and create web servers and control pins remotely from a web page interface.
Arduino Hardware: Everything you wanted to know about the Uno but were afraid to ask! Did you know there are FIVE unused features in the Arduino Uno?
Arduino
Interfaces: Learn how to interface push
buttons or rotary encoders. Also includes Charliplexing
(Save pins when driving LEDs)...and more.
Arduino
Displays: How to display Text or Graphics
with an Arduino. Should you use a text or a graphics
display? Find out the best Ones to Use.
Arduino Port Expanders: How to Increase the Number of Pins using a serial interface such as I2C or SPI. Some chips are far more capable than others - find out which in the link.
An
Arduino Reference: Your Essential Guide to
Arduino functions. They don't
always work the way you think. Find out the pitfalls,
and exactly how
these functions should be used, so you can avoid endless
debugging and
create your projects fast.
Arduino
IDE: The Simplest Guide to
using the IDE. How to Easily program the Arduino
Uno. How to get the
Bootloader into the
Arduino Chip and how to program chips that are not
included in the IDE.
ATtiny85: A Power Packed Arduino in a Tiny 8 Pin Chip. The smallest Arduino Chip! FOUR features you missed! Find How Good It is and how you can Easily program it over USB with no USB Hardware!
Arduino Temperature Sensors: Arduino Temperature Sensors For Simplified Measurement. How to use Arduino Temperature Sensors for Easy Temperature Measurement from standard room temperature to 1000's of Degrees Centigrade.
Arduino Current Sensors: Your Guide to Arduino Current Sensors for the Arduino. How to measure current from 100nA, to 3.2A, to 8.2A using three different types of sensor, simply by choosing the correct chip.
Arduino Voltage Sensors: The Easiest ADCs to use with Arduinos. ADCs are one of the most useful modules allowing you to easily read analogue voltages inside a digital system.
PCF8574:
This may
be the simplest (internal architecturally speaking) port
expander - easy to program and works very well.
There are no internal control
registers yet it has full bi-directional capability
(they call it quasi
bi-directional - but still useful). How is this magic
achieved?
Magnetometer
Tilt Compensation - how to use a HMC5883L or
QST5883L and an ADXL345 (accelerometer) to tilt
compensate a digital compass.
HMC5883L - How to use this
magnetometer as a compass (actually how to get any
reading out of it at all!).
INA219 - A
digital (I2C)
Current meter; Measuring current and power used. This is
for low volt
systems <=26V but gives highly accurate current
voltage and power
measurements.
ACS712 - A Hall Effect medium current (±5A, ±20A,±30A) measuring device which It can also withstand 2100Vrms!
ACS758 - A Hall Effect High current (50A~200A) measuring chip with analogue output. It can also withstand 700Vrms!
MCP4725 - A digital (I2C)
controlled DAC and a look at the related MCP4726.
MCP41010
- A
digital Potentiometer (SPI) with 8bit resolution is
actually a
controlled resistance that you can place anywhere in
your circuit.
MCP4728 - A 4 output
digitally controlled DAC (I2C).
MCP4922 - A two output
digitally controlled DAC (SPI). How fast does it go?
PCF8591 - A 4 input I2C ADC.
This is an ADC with 8 bit resolution and has a
differential input capability, and also includes a DAC.
TP4056 - How to use this
Lithium ion/poly battery charger the right way.
DW01A - Lithium ion/poly
battery protector. This is used in the TP4056 board.
ADXL345 - How to use the
ADXL345 accelerometer to measure roll and pitch.
ADS1115 - How to use this 16 ADC to measure 7.8uV. This is a precision device that you can use to make accurate measurements. It can even measure a small range of negative voltage - useful for sink/source current measurements.
MCP3008 - Find out if this ADC is as good as it claims. Do you need a 10 bit; 8 channel ADC with a high sample rate? This could be the right one. Find out how to optimize it for the best sample rate here.
AD9833 - Make a signal
generator using the DDS chip to 12.5MHz. Outputs sine,
square and triangle waves with a resolution of 0.1Hz.
MAX7219 - How to drive 8x8 led displays using this chip.
DS18B20 - Use the one-wire
thermometer to measure
accurate temperature; multi drop and long distance.
NTC Thermistor - How to get a fairly accurate and repeatable temperature reading using a thermistor.
DHT22 - Also DHT11 (lower spec) - Measure humidity and temperature.
TCS230 - Let your microcontroller see colour!
HD44780 - LCD display driving. Usually a 16 character by 2 line display but can be 20x4.
MCP23017 - A 16 bit port expander (I2C) with comprehensive interrupt system.
MCP23017 Interrupts - Using multiple MCP23017 with interrupts.
BMP280 - Barometric pressure measurement.
Battery Charger - How to charge standard AA batteries.
Pulse Rate - Measurement See your pulse rate using infrared sensors.
Rotary Encoder - How to use them and make even noisy ones behave!
Arduino Joystick
- Making the joystick easy to use with a useful library.
MAX6675 - How to measure
temperature from 0ºC to 1024ºC
Logic level
converter - How to convert logic levels using a
MOSFET Trick!
SSD1306 - How to write text
and graphics to this 1" display.
Fading RGB LED Arduino - How to fade an RGB LED while keeping the same colour during the fading.
ESP32 CAM - How to set it up, How to access the TF card, and how to Free up I/O!
Arduino IDE - A beginners guide to the Arduino IDE.
Arduino LED with button - A beginners tutorial on input/output using an LED and a button.
Arduino digitalRead
- A very useful starting point for reading buttons and eliminating
switch bounce (also see bounce in action and why it is a problem).
Arduino light sensor
- How to read a light sensor using an anlogue input pin - Also how
to convert the reading of from the resistive divider into a value of
resistance for the LDR (Light Dependent Resistor).
Arduino potentiometer LED - How to dim an LED with potentiometer as input to the Arduino Uno.
Arduino IR remote - How to read and transmit IR codes from an IR remote control.
Arduino servo with potentiometer - Learn how to control a servo using a potentiometer. Also learn how to calibrate it.
Arduino Humidity Sensor - Learn how to read humidity from the DHT11 sensor. Did you know it also reports temperature?
Arduino Ultrasonic Sensor - Learn how to wire up and use an HC SR04 ultrasonic distance measuring device with an Arduino.
Arduino Hall Effect Sensor
- Learn how to detect magnetic fields - there is a trick to using this
sensor (49e) as it can detect both N & S fields - so produces output
centered around the mid rail.
Arduino RFID reader - How to add RFID scanning to your projects.
Using a PIR sensor in your projects
- A passive Infrared Sensor can detect motion of warm objects such as
humans or animals - they are really sensitive and useful in burglar
alarm systems or wildlife photography etc. Find to use one using an
Arduino and detect motion easily.
An Infrared proximity sensor Using 3 components instead of KY-032 for a better Arduino proximity sensor that uses and IR remote receiver. The KY-032 is really bad!
RBG LED code running on Arduino - two ways to control one goes through standard colous. The other example lets you enter a hex code #rrggbb.
How to install and use the Digispark Attiny85
ATtiny
Programmer - How to program ATtiny series chips
using an Arduino Uno (or other Uno) as an ISP
programmer.
How
to unbrick an ATtiny chip - Includes turning the
ATtiny programmer into an High Volt Programmer
(HVP) with 4 components and a power supply as well as a
program to set
fuse values from the serial command line.
Arduino
Nano ISP - How to burn a
bare-board Arduino using an Arduino Nano. You end up
with about 4 components - just use a USB to serial
adapter and a 5V
power supply.
ATtiny Ultra Low
Power - If you are looking to get maximum use out
of a battery then you need
to know how to lower the power usage of an ATtiny chip.
Here you can see the effects of clock speed and supply
voltage and how to use Burst mode effectively.
Find out Why is switch
bounce bad. what causes switch bounce and how to
cure it!
Three switch
debouncing methods on Arduino : One is amazing and
not to be missed!
Arduino
Capacitive Sensor Sense objects using only a wire
and an ADC input.
Arduino ADC - How it
works; Find out its resolution and more.
Should you should divide by 1023 or
1024 in ADC calculations?
Arduino
voltage reference - The internal voltage reference
is often overlooked. Find out how to use it and make it
accurate and reliable.
Arduino Analog
Output - How to smooth PWM signals and create sine
waves.
Arduino EEPROM - How
to read and write EEPROM.
EEPROM has a lifetime - make sure you
don't use it up all at once!
Arduino simulated toggle
switch - How to create a toggle switch operation
using a standard single push button switch.
Arduino physical toggle switch - How to wire one up in two different ways and use them on Arduino.
Arduino PWM pins - The eight things you need to know about Arduino PWM pins.
What is I2C - Find out why you need it and how to use it.
I2C tutorial - A detailed look at I2C operation.
What language does Arduino Use - It's probably different to what you thought!
Arduino Hello World - What's really going on when you create the "hello World" text?
Arduino Print To Serial - What functions do you need and how does it work?
Arduino Serial Begin - Why do you need it? What does it do? Find out here!
Arduino Serial Available - What happens to serial input when the processor is overloaded?
Arduino Serial Read - it works but underneath there's a lot going on.
Arduino Absolute Value - is abs() simple - it should be! - there are pitfalls!
Arduino delay() - How to delay the processor so a human can see events!
Arduino digitalRead() - A beginners guide to reading switch button inputs and avoiding switch bounce problems.
Arduino
digitalWrite() - How to write a binary signal to
the 0-5V output pin.
digitalWrite
is a very useful generic function but you can operate 17
times faster
using direct write macros - all explained in the link
above.
Arduino
millis() - Time events using milliseconds without
stopping the processor.
Arduino
pulseIn() and pulseInLong() - How to measure pulse
inputs.
What is the difference between the two most popular IOT microcontollers: ESP32 vs ESP8266?
Fauxmo; Easily Emulate WeMo devices with simple code for custom smart home devices. Talk to your projects to control them. You can control relays and dimmable lights very easily with minimal code.
Arduino web server: How to serve pages from an ESP32. Is this all you need or is there a problem?
ESP32 Web CAM: How to use an AI Thinker Web cam board to steam video to a web page.
What is a WebSocket: Simply put it is the most useful protoco that allows instantaneous communication between a web page and your Arduino.
Full ESP32 WebSocket Server tutorial: Learn exactly how to implement WebSockets on an ESP32 for fully bi-directional data flow.
ESP8266 Arduino IDE
- Learn how to program an ESP8266 using the Arduno IDE.
NodeMCU Firmware -
Return the LUA scripting language back into an ESP8266.
ESPLorer
- How to use ESPLorer to upload lua scripts to an ESP
module.
NodeMCU Examples -
from simple LED blink to wifi use.
ESP-01 and ESP-01S: Confused about these variants? Which one is right for you?
Find out the exact differences between the ESP-01 and ESP-01S here and choose
the right one.
How to program an ESP01 (or ESP01S) using only an Arduino Uno and a few resistors.
PIC Introduction
- An introduction
to PIC
Microcontrollers.
PIC
Programming - All about programmers, ICSP and
ICPROG
PIC Compilers - Find out why you should use a PIC compiler.
Basic
compiler - learn about a free PICBSIC compiler.
PIC Tutorials - More formal tutorial information on microcontrollers and protocols.
Schematic
tool -A useful tool for drawing,
netlisting electronic schematic diagrams.
Books - Some useful books.
16F877 : 50MHz LCD frequencycounter.
16F877 : 50MHz 7 segment frequencycounter.
16F877 : LCD and Keypad using one 8 bit port (noglue logic).
Direct jump to locked page (needs unlock code)
16F88 : Ultrasonic range finding project.
16F88 : A Real Time Clock (DS1307) using I2C.
16F88 : Driving an LED dot matrix.
16F88 : Universal Infrared Receiver (UIR).
12F675 : Tutorial 12F675 : RS232 Serial transmitter12F675 : Serial Temperature Logger
12F675 : EEPROM Temperature logger
12F675 : Servo motor - serial control
Devices | ||
12F675 | 16F84 | |
Hardware | ||
PIC Introduction | ICSP | Interrupts |
Software | ||
MikroC compiler | ||
Protocols | ||
I2C | RS232 | Setting up RS232 |
SPI | ||
Techniques | ||
Frequency counting | Ultrasonic range finding | Software Tri PWM |
Multiplexing | CCP (capture) | Soft PWM |
Timer 1 (polled) |
All about programming PIC Microcontrollers.
PIC micro programming methods.
Frequency
counter techniques: Direct and Reciprocal counting
methods.
Simple multitasking method (works for 12F675 and larger).
Microcontroller Debugging methods (also general debugging methods).
Hardware interrupts - a short introduction.
How to use the MC78M05BDTRKG
voltage regulator.
A new C course showing you how to use C to program a
microcontroller (no
previous programming experience needed).
Pic
C Course (digital
download).
Comments
Have your say about what you just read! Leave me a comment in the box below.
Don’t see the comments box? Log in to your Facebook account, give Facebook consent, then return to this page and refresh it.