forked from kevinboone/kevinboone.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRaspberry_Pi-groupindex.html
150 lines (102 loc) · 21.9 KB
/
Raspberry_Pi-groupindex.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Kevin Boone: Raspberry Pi</title>
<link rel="shortcut icon" href="https://kevinboone.me/img/favicon.ico">
<meta name="msvalidate.01" content="894212EEB3A89CC8B4E92780079B68E9"/>
<meta name="google-site-verification" content="DXS4cMAJ8VKUgK84_-dl0J1hJK9HQdYU4HtimSr_zLE" />
<meta name="description" content="%%DESC%%">
<meta name="author" content="Kevin Boone">
<meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=1">
<link rel="stylesheet" href="css/main.css">
</head>
<body>
<div id="myname">
Kevin Boone
</div>
<div id="menu">
<a class="menu_entry" href="index.html">Home</a>
<a class="menu_entry" href="contact.html">Contact</a>
<a class="menu_entry" href="cv.html">CV</a>
<a class="menu_entry" href="software.html">Software</a>
<a class="menu_entry" href="articles.html">Articles</a>
<form id="search_form" method="get" action="https://duckduckgo.com/" target="_blank"><input type="text" name="q" placeholder="Search" size="5" id="search_input" /><button type="submit" id="search_submit">🔍</button><input type="hidden" name="sites" value="kevinboone.me" /><input type="hidden" name="kn" value="1" /></form>
</div>
<div id="content">
<h1>Raspberry Pi</h1>
<div class="article-desc"><img class="article-list-image" src="img/chip.png"/><a href="74hc595.html">Using a shift register to control eight digital outputs with three GPIO lines on the Raspberry Pi</a><p>A simple and inexpensive shift register can be used to increase the digital output provision of a Raspberry Pi or microcontroller. This well-know technique is easy to apply, but has some limitations that require careful consideration.</p><p style="font-size: smaller">Categories: <a href="software_development-groupindex.html">software development</a>, <a href="C-groupindex.html">C</a>, <a href="embedded_computing-groupindex.html">embedded computing</a>, <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/chip.png"/><a href="adc.html">Using an I2C analog-to-digital converter chip with the Raspberry Pi, from the ground up</a><p>This article is about using an I2C analogue-to-digital device for applications like reading sensor values or monitoring backup batteries. With all the technical bits left in.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="electronics-groupindex.html">electronics</a>, <a href="embedded_computing-groupindex.html">embedded computing</a>, <a href="C-groupindex.html">C</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/chip.png"/><a href="adc_thermistor.html">Using an I2C analog-to-digital for temperature measurement on the Raspberry Pi</a><p>This article describes how to do simple temperature measurement with a Raspberry Pi, and I2C analog-to-digital converter, and a thermistor.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="electronics-groupindex.html">electronics</a>, <a href="embedded_computing-groupindex.html">embedded computing</a>, <a href="C-groupindex.html">C</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/display.png"/><a href="fbtextdemo.html">Using the FreeType library to render text nicely onto a Linux framebuffer</a><p>Writing graphical applications for minimal and embedded Linux systems can present a challenge. One of the problems is producing nicely-rendered text without the facilities that a graphical desktop would provide. This article describes how to use the FreeType library to render text to the Linux framebuffer.</p><p style="font-size: smaller">Categories: <a href="software_development-groupindex.html">software development</a>, <a href="C-groupindex.html">C</a>, <a href="Linux-groupindex.html">Linux</a>, <a href="embedded_computing-groupindex.html">embedded computing</a>, <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="get_deb.html">Extracting software from the Raspbian repository, for assembling a custom Linux image for the Raspberry Pi</a><p>Using the official Raspian repository to assist the construction of a custom Linux for embedded applications is quick and convenient, compared to building everything from source. However, this approach has certain hazards.</p><p style="font-size: smaller">Categories: <a href="Linux-groupindex.html">Linux</a>, <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/chip.png"/><a href="i2clevel.html">Why you can sometimes connect 3.3V and 5V I2C devices (and probably shouldn't)</a><p>On websites, and in hobbyist kits for Raspberry Pi and Arduino, you'll often see I<sup>2</sup>C devices connected that have different supply voltages. This is (usually) safe and, in non-critical applications, tends to work. But why?</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="electronics-groupindex.html">electronics</a>, <a href="embedded_computing-groupindex.html">embedded computing</a>, <a href="Pico-groupindex.html">Pico</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/lc0.png"/><a href="lc.html">Making tab-and-slot boxes for electronic prototypes. Or: how I stopped worrying and learned to love the laser</a><p>Some thoughts on my first experiments with the design of electronics enclosures for laser cutting.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="electronics-groupindex.html">electronics</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/mosfet.png"/><a href="mosfet.html">Why switching high currents using a MOSFET and a Raspberry Pi is not as straightforward as it looks</a><p>Using a single MOSFET transistor for power switching in microcontroller applications is simple and low-cost, but it often doesn't work as well as expected. Either the switched device doesn't run at full capacity, or the MOSFET gets hot. This article explains why.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="electronics-groupindex.html">electronics</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi-asm-00_introduction.html">ARM assembly-language programming for the Raspberry Pi</a><p>A series of simple, progressive examples that demonstrate the essential features of programming in ARM assembly language.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="software_development-groupindex.html">software development</a>, <a href="embedded_computing-groupindex.html">embedded computing</a>, <a href="assembly-groupindex.html">assembly</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi-boot-sd.html">Making a Raspberry Pi bootable SD card from a root filesystem</a><p>You've created a custom Linux installation for the Raspberry Pi. How do you turn that into a bootable SD card image that can be distributed?</p><p style="font-size: smaller">Categories: <a href="Linux-groupindex.html">Linux</a>, <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/button.png"/><a href="pi-button-pipe.html">Handling GPIO-connected switches robustly in C on the Raspberry Pi</a><p>It's surprisingly difficult to detect switch actuations in a robust way, dealing with contact bounce and other quirks. This article describes one approach to the problem in C.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="electronics-groupindex.html">electronics</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/button.png"/><a href="pi-button-to-kbd.html">Converting push-button events to keyboard events in the Raspberry Pi</a><p>The Raspberry Pi has a bunch of GPIO pins we can use to connect push-buttons. But how do we interface push-buttons to an application that expects only keyboard input?</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="electronics-groupindex.html">electronics</a>, <a href="Linux-groupindex.html">Linux</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/hc-sr04-03.jpg"/><a href="pi-hcsr04.html">Getting reasonably robust proximity measurements from an ultrasonic sensor on the Raspberry Pi</a><p>The HC-SR04 proximity sensor is an inexpensive and widely-used ultrasonic device. Connecting one to an HC-SR04 to a Raspberry Pi is a common educational exercise, but getting accurate, repeatable measurement of distance in a real application is actually quite difficult. This article explains why, and what can be done to improve matters.</p><p style="font-size: smaller">Categories: <a href="software_development-groupindex.html">software development</a>, <a href="C-groupindex.html">C</a>, <a href="embedded_computing-groupindex.html">embedded computing</a>, <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/chip.png"/><a href="pi-ina219.html">Monitoring an INA219 chip in a Raspberry Pi battery-backed power supply</a><p>Many battery-backed power supplies for the Raspberry Pi, and similar systems, use the INA219 current/voltage monitor IC. This device has an I2C interface by which the Pi can determine the battery voltage and current, and estimate the charge level and run-time. This article describes how to write C code that interacts with the INA219.</p><p style="font-size: smaller">Categories: <a href="software_development-groupindex.html">software development</a>, <a href="C-groupindex.html">C</a>, <a href="embedded_computing-groupindex.html">embedded computing</a>, <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/chip.png"/><a href="pi-lcd.html">Using an HD44780 LCD display module with the Raspberry Pi, from the ground up</a><p>In this article I explain how to construct, and program in C, an I<sup>2</sup>C interface to the popular HD44780 LCD display for the Raspberry Pi. Between the article and the accompanying source code, no technical details are concealed: I present the complete hardware design and every line of C code needed to operate it.</p><p style="font-size: smaller">Categories: <a href="software_development-groupindex.html">software development</a>, <a href="C-groupindex.html">C</a>, <a href="embedded_computing-groupindex.html">embedded computing</a>, <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/tux_disk.png"/><a href="pi-nas.html">Raspberry Pi as a networked storage (NAS) device</a><p>How to construct a custom networked storage (NAS) unit based on a Raspberry Pi and two mirrored USB hard drives -- and why you might want to.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi-servo.html">The costs and benefits of software pulse-width modulation on the Raspberry Pi</a><p>The Raspberry Pi doesn't offer much in the way of analog outputs, or even hardware controlled PWM. Software-controlled PWM is an alternative in some applications, but it needs to be used carefully, if inefficiencies are to be avoided.</p><p style="font-size: smaller">Categories: <a href="software_development-groupindex.html">software development</a>, <a href="C-groupindex.html">C</a>, <a href="embedded_computing-groupindex.html">embedded computing</a>, <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi4why.html">Raspberry Pi 4 -- is it good news for experimenters and enthusiasts?</a><p>Faster, more of everything, same price -- what's not to like?</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi_audio.html">Rolling your own minimal embedded Linux for the Raspberry Pi -- part four: audio</a><p>This article is part of a series on building a customer Linux installation for a Raspberry Pi-based appliance. It explains how to install and set up the minimum software to get audio playback working.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="Linux-groupindex.html">Linux</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi_boot_shell.html">Rolling your own minimal embedded Linux for the Raspberry Pi -- part one: booting to a root shell</a><p>This article is part of a series on building a custom Linux installation for a Raspberry Pi-based appliance. It explains how to make a bootable SD card with Pi firmware, a Linux kernel, and a shell. It's about as minimal as a Linux system can be.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="Linux-groupindex.html">Linux</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi_case.html">Prototyping a large Raspberry Pi case</a><p>Using high-density vinyl board to construct a practical prototype case without specialist tools or materials</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi_desktop_media.html">Yet another desktop Raspberry Pi media player</a><p>Using a Raspberry Pi as a media player is by no means a new idea. However, using one as a self-contained hifi component is not common, and requires a bit of work.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="hifi-groupindex.html">hifi</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi_early_init.html">Rolling your own minimal embedded Linux for the Raspberry Pi -- part two: early initialization</a><p>This article is part of a series on building a customer Linux installation for a Raspberry Pi-based appliance. It explains how to obtain and install fundamental utilities for use in a system with a read-only filesystem, and no package manager.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="Linux-groupindex.html">Linux</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi_minimal.html">Rolling your own minimal embedded Linux for the Raspberry Pi</a><p>Introducing a series of articles on building a custom Linux installation for the Raspberry Pi, for appliance applications.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="Linux-groupindex.html">Linux</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi_peli_thumbnail.jpg"/><a href="pi_peli.html">Peli Protector case as a rugged enclosure for a Raspberry Pi-based field terminal</a><p>Peli cases have a reputation of robustness, and look like a promising way to implement a rugged terminal using a Raspberry Pi.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/chip.png"/><a href="pi_relay.html">Switching a couple of amps with a Raspberry Pi and a relay</a><p>Switching loads of an amp or two with a Raspberry Pi or a microcontroller can be accomplished using a small number of inexpensive components. Suitable circuits are widely published, but the details of operation are not always described.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="electronics-groupindex.html">electronics</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi_remote_access.html">Rolling your own minimal embedded Linux for the Raspberry Pi -- part three: services and remote access</a><p>This article is part of a series on building a customer Linux installation for a Raspberry Pi-based appliance. It explains how to set up a system which hitherto only boots to a root shell, to a network-aware installation with service management.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="Linux-groupindex.html">Linux</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi_waveshare_usb.html">Powering a Raspberry Pi from an attached Waveshare USB HAT</a><p>Attaching high-capacity hard disks has always been a bit of a problem for the Raspberry Pi. In this article I describe a simple modification to a Waveshare USB HAT, that allows it to power both the attached drives and also the Pi itself.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="electronics-groupindex.html">electronics</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi_wooden_case_thumbnail.jpg"/><a href="pi_wooden_case.html">A Raspberry Pi and touchscreen case that anybody can make</a><p>This is a design for a robust, wooden enclosure for a Raspberry Pi, battery power supply, and touchscreen, that can be made using hand tools.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="embedded_computing-groupindex.html">embedded computing</a>, <a href="electronics-groupindex.html">electronics</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi_x.html">Rolling your own minimal embedded Linux for the Raspberry Pi -- part five: X</a><p>It's entirely possible to run simple, X-based applications in an appliance-based Linux installation: you just have to dispense with the graphical desktop and all its baggage. This article explains how.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="Linux-groupindex.html">Linux</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="pi_zero_terminal.html">Using a Pi Zero and throw-away parts to provide a serial terminal for retrocomputing projects</a><p>Many retrocompting projects are designed to be used with a serial terminal. It's easy to emulate a terminal using a desktop workstation, but more authentic to use a dedicated serial terminal. Real VT52-style terminals are expensive, and difficult to transport because they use CRTs. VGA and small HDMI monitors, however, are dirt cheap, as are USB keyboards. This article is about using a Raspberry Pi Zero with a custom Linux to convert a cheap monitor and keyboard into a serial terminal.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="retrocomputing-groupindex.html">retrocomputing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="rpi_touchscreen.html">Using the Raspberry Pi official 7-inch touch-screen in embedded applications</a><p>The official Raspberry Pi 7-inch touchscreen is a useful and well-designed piece of equipment but, if you're using it in a custom (hardware and/or software) build, you'll notice a lack of any relevant technical information. This article tries to supply some of that information.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="electronics-groupindex.html">electronics</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<div class="article-desc"><img class="article-list-image" src="img/pi.png"/><a href="rpi_undervoltage.html">Why does my Raspberry Pi project keep displaying the 'lightning bolt' undervoltage indicator?</a><p>The Raspberry Pi is widely used as part of a more complex electronic project or construction. There's a misconception that such a construction can be powered from the same cheap, nasty USB charger that is suitable to power a Pi on its own. Attempting to do this often leads to undervoltage situations. This article explains why, and what constructors can do about it.</p><p style="font-size: smaller">Categories: <a href="Raspberry_Pi-groupindex.html">Raspberry Pi</a>, <a href="electronics-groupindex.html">electronics</a>, <a href="embedded_computing-groupindex.html">embedded computing</a></p>
</div>
<p><span class="footer-clearance-para"/></p>
</div>
<div id="footer">
<a href="rss.html"><img src="img/rss.png" width="24px" height="24px"/></a>
<span class="last-updated">Last update Nov 05 2024
</span>
</div>
</body>
</html>