This is the circuit used for the first modules in the course and is developed from the initial introductory page as the course progresses.
Note: It's designed so you can program it in circuit using ICSP without removing the programmer and its designed so you can go back to any course module without changing the hardware again.
c programming course 1st part 16F88
Item Part Description Qty IDs
1 10u electrolytic capacitor 2 C1 C3
2 100n Capacitor 3 C2 C4 C5
3 1u electrolytic capacitor 4 C6 C7 C8 C9
4 DB9F-90 Dtype connector 9 way RS232 on PC COM port 1 CN1
5 2.1mm jack Power Connector socket showing NC connection 1 CN2
6 1N4001 diode 1 D1
7 RED Light emitting diode 6 D2 D3 D4 D5 D6 D7
8 1N4148 diode 1 D9
9 1x4 Header 4 way 1 HD1
10 Push button push button normally open 2 PB1 PB2
11 100 resistor 1 R10
12 10k resistor 2 R1 R2
13 1k resistor 7 R3 R4 R5 R6 R7 R8 R9
14 16F88 Microcontroller 1 U1
15 MAX232CP RS232 level translator 1 U2
16 LM7805C 5V 1A voltage regulator 1 U3
You'll also need a serial cable and 9-way serial connector, a digital Serial USB interface (cheap) and wall power supply 8V or more (less than 20V - the higher the voltage the hotter the 7805 will get - best to get close to 7V).
The Arduino shiftOut() function can simply control many different serial interfaced chips. Find out how it works and how fast it operates.
A tutorial on using the ADS1115 precision 16 bit ADC for low power use.
Learn how to use the TP4056 properly. There's a right, and a wrong way, to use it to safely charge Lithium Ion batteries.
The MCP4922 chip is an SPI interfaced 12 bit DAC but how fast can it go? Find out here.
The MCP4725 chip is a 12 bit DAC with memory that outputs voltage that you can use for many dfferent purposes. Find out what they are in this page.
The MCP4728 chip is a four channel 12 bit DAC, with memory that outputs voltage that you can use for calibration, anywhere you want a fixed voltage.