acme-camera: environmental, solar, software design, boot plan and component slides

40e5716 · Gabriel Morell · 2026-10-13 18:37

3 files +132 -4

Files changed

modified content/presentations/acme-camera.md
+132 −4
@@ -77,11 +77,16 @@ to support Infrared and Visible Spots for lighting areas for improved visibility
77 77
78 78 ---
79 79
80 −# Power Subsystem
80 +# Environmental
81 +
82 +- Temperature
83 +- Luminosity
84 +
85 +---
81 86
82 −nPM1300 PMIC
87 +# Power Subsystem
83 88
84 −- Battery Charge Controller
89 +- Battery Charge Controller & Guage
85 90
86 91 <iframe src="https://diogramos.neiam.co/embed/oUXMw7KPyT-jBwSnzi-s3QGE?mode=frame"
87 92 width="900" height="500" style="border:0" loading="lazy"
@@ -89,6 +94,13 @@ nPM1300 PMIC
89 94
90 95 --
91 96
97 +## What about solar?
98 +
99 +Let us set an expectation that expect that any input power source provides 5v regulated power,
100 +solar included <!-- .element: class="fragment" -->
101 +
102 +--
103 +
92 104 ## Solar Charge Controller
93 105
94 106 - TI bq25504
@@ -98,8 +110,124 @@ nPM1300 PMIC
98 110 width="900" height="500" style="border:0" loading="lazy"
99 111 ></iframe>
100 112
101 −Note: nPM1300 does not provide the MPP support for the solar cells so we need an external IC to properly do it
113 +Note:
114 +nPM1300 does not provide the MPP support for the solar cells so we need an external IC to properly do it
102 115
103 116 ---
104 117
105 118 # Software Design
119 +
120 +<iframe src="https://diogramos.neiam.co/embed/TFsxET9ChIDsRyjTAIE3FDtP?mode=frame"
121 + width="900" height="500" style="border:0" loading="lazy"
122 + ></iframe>
123 +
124 +Note:
125 +mcuctl sets the motion and light mode on the embedded mcu
126 +powerctl controls the power domain for the battery charger and reads the fuel guage
127 +portalctl provides the initial configuration UI and subsequent status web portals
128 +cameractl reads frames and dispatches them to whatever has been configured
129 +configctl is the source of truth that gets configuration requests
130 +
131 +---
132 +
133 +# Boot Plan
134 +
135 +<iframe src="https://diogramos.neiam.co/embed/C0ICOZGl94HAS7JuVHy8OjPN?mode=frame"
136 + width="900" height="500" style="border:0" loading="lazy"
137 + ></iframe>
138 +
139 +Note:
140 +Uses an A+B boot that only changes the boot target once we've booted successfully and connected to the backend
141 +
142 +---
143 +
144 +# Component : Broker
145 +
146 +- MQTT
147 +
148 +Note: on unix socket for the ability to have granular security
149 +
150 +---
151 +
152 +# Component : MCUctl
153 +
154 +```rust
155 +enum MotionDetectionMode {
156 + OnlyPIR,
157 + PIRWakesRadar,
158 + OnlyRadar,
159 + Off
160 +}
161 +```
162 +
163 +```rust
164 +enum LightControlMode {
165 + DuskDawn,
166 + Motion{cooldown: u32},
167 + Off
168 +}
169 +```
170 +
171 +Note:
172 +Talks to MCU and sets/gets the motion detection and light settings
173 +
174 +---
175 +
176 +# Component: Powerctl
177 +
178 +```rust
179 +enum Power {
180 +}
181 +```
182 +
183 +Note:
184 +Collects power usage data, rundown and fuel guage from the PMIC
185 +
186 +---
187 +
188 +# Component: Portalctl
189 +
190 +Note:
191 +Interactive wireless authentication and cloud configuration
192 +
193 +---
194 +
195 +# Component: Cameractl
196 +
197 +Note:
198 +Reads frames from the camera and decides to do further processing depending on Config
199 +
200 +---
201 +
202 +# Component: Configctl
203 +
204 +Note:
205 +Source of truth for various configurations set from the portal
206 +- Network configuration
207 +- Display Name
208 +- Cloud Configuration
209 +- On-Device Processing Configuration
210 +
211 +--
212 +
213 +# Component: Infctl
214 +
215 +Note:
216 +This one is -- because it's a bonus one that we may not get into
217 +Configures on-device inference using NPU hardware available in modern camera SOCs
218 +
219 +---
220 +
221 +# Metrics
222 +
223 +- Performance given envelope configuration
224 +
225 +_leading to insights for better_ <!-- .element: class="fragment" -->
226 +
227 +- Battery Life across a fleet <!-- .element: class="fragment" -->
228 +
229 +---
230 +
231 +# Instrumentation
232 +
233 +- Collection of combined environmental, fuel guage

Parents: 091184f