]> git.gag.com Git - hw/altusmetrum/log
hw/altusmetrum
5 months agoUse murata 10nF cap for seeed
Keith Packard [Wed, 26 Feb 2025 19:00:01 +0000 (11:00 -0800)]
Use murata 10nF cap for seeed

The johnson is export restricted

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoAdd seeed part numbers for screws and USB connector
Keith Packard [Mon, 24 Feb 2025 21:52:10 +0000 (13:52 -0800)]
Add seeed part numbers for screws and USB connector

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoadd footprint for the 3-pin 1/4" phone jack possibly for QuantiMotor
Bdale Garbee [Wed, 12 Feb 2025 19:44:36 +0000 (12:44 -0700)]
add footprint for the 3-pin 1/4" phone jack possibly for QuantiMotor

5 months agoadd footprint for PCB-mounted 5-pin XLR possibly for QuantiMotor
Bdale Garbee [Wed, 12 Feb 2025 19:30:25 +0000 (12:30 -0700)]
add footprint for PCB-mounted 5-pin XLR possibly for QuantiMotor

5 months agofix clearance on CC1200 footprint
Bdale Garbee [Wed, 12 Feb 2025 16:05:41 +0000 (09:05 -0700)]
fix clearance on CC1200 footprint

5 months agodata sheets for PCB mounted variants of QuantiMotor sensor connectors
Bdale Garbee [Wed, 12 Feb 2025 16:05:20 +0000 (09:05 -0700)]
data sheets for PCB mounted variants of QuantiMotor sensor connectors

5 months agoAdd separate jlcpcba target to include the BOM
Keith Packard [Wed, 12 Feb 2025 07:23:02 +0000 (23:23 -0800)]
Add separate jlcpcba target to include the BOM

Return the jlcpcb target to just providing the PCB files. The new
jlcpcba file also includes the BOM.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoSort tab-separated output files by refdes as primary key
Keith Packard [Wed, 12 Feb 2025 06:46:47 +0000 (22:46 -0800)]
Sort tab-separated output files by refdes as primary key

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoSwitch field order of tab-separated partslist files
Keith Packard [Wed, 12 Feb 2025 06:39:11 +0000 (22:39 -0800)]
Switch field order of tab-separated partslist files

Make refdes first, like it was in the good old days

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoAdd 'diff-pref' tool to show preferred-parts.ods differences
Keith Packard [Wed, 12 Feb 2025 06:00:59 +0000 (22:00 -0800)]
Add 'diff-pref' tool to show preferred-parts.ods differences

Converts git versions to csv and diffs those

Usage:
diff-pref diff working copy and HEAD
diff-pref <rev> diff working copy and <rev>
diff-prev <rev-a> <rev-b> diff two revisions

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoAdd --warn-only flag to partslist-vendor
Keith Packard [Wed, 12 Feb 2025 05:42:24 +0000 (21:42 -0800)]
Add --warn-only flag to partslist-vendor

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoAdd JLCPCB Part # column and sample entry for 0.1uF 0402 caps
Keith Packard [Wed, 12 Feb 2025 05:42:03 +0000 (21:42 -0800)]
Add JLCPCB Part # column and sample entry for 0.1uF 0402 caps

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoAdd jlcpcb BOM generation
Keith Packard [Wed, 12 Feb 2025 05:29:18 +0000 (21:29 -0800)]
Add jlcpcb BOM generation

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoWarnings or errors for parts not in db. Build pref csv only once.
Keith Packard [Wed, 12 Feb 2025 04:45:01 +0000 (20:45 -0800)]
Warnings or errors for parts not in db. Build pref csv only once.

Emit errors (or warnings with --warn-only) when filling parts from the
preferred DB.

Libreoffice doesn't like being run in parallel, so build the
preferred-parts.csv file only once and then use it in each of the
parts list generator rules.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoAdd 50mil5pin part for EasyMini debug connector
Keith Packard [Wed, 12 Feb 2025 04:43:27 +0000 (20:43 -0800)]
Add 50mil5pin part for EasyMini debug connector

This is always no-load, but having something here means we get
checking when building production files.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoMerge branch 'ods-parts' of ssh://git.gag.com/scm/git/hw/altusmetrum into ods-parts
Bdale Garbee [Wed, 12 Feb 2025 02:33:07 +0000 (19:33 -0700)]
Merge branch 'ods-parts' of ssh://git.gag.com/scm/git/hw/altusmetrum into ods-parts

5 months agoupdate deps to use the .ods
Bdale Garbee [Wed, 12 Feb 2025 02:32:48 +0000 (19:32 -0700)]
update deps to use the .ods

5 months agoFix units. Mostly lower case only units
Keith Packard [Tue, 11 Feb 2025 04:32:18 +0000 (20:32 -0800)]
Fix units. Mostly lower case only units

mhz -> MHz, etc.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agobin: Do case-insensitive matching for preferred parts
Keith Packard [Tue, 11 Feb 2025 04:31:40 +0000 (20:31 -0800)]
bin: Do case-insensitive matching for preferred parts

This covers MHz vs mhz and other case-changes.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoPass fillparts parameters on the command line
Keith Packard [Tue, 11 Feb 2025 01:14:46 +0000 (17:14 -0800)]
Pass fillparts parameters on the command line

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agobin: Add argument handling to fillparts programs
Keith Packard [Tue, 11 Feb 2025 01:13:17 +0000 (17:13 -0800)]
bin: Add argument handling to fillparts programs

This creating output files inside the applications so that errors
don't end up leaving output files lying around after make finishes.

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoRemove tab-separated version of preferred parts list
Keith Packard [Mon, 10 Feb 2025 22:44:16 +0000 (14:44 -0800)]
Remove tab-separated version of preferred parts list

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoSwitch to using preferred-parts.ods in makefile fragments
Keith Packard [Mon, 10 Feb 2025 22:44:38 +0000 (14:44 -0800)]
Switch to using preferred-parts.ods in makefile fragments

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agoAdd ODS formatted version of preferred parts database
Keith Packard [Mon, 10 Feb 2025 22:44:00 +0000 (14:44 -0800)]
Add ODS formatted version of preferred parts database

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agobin: Add python programs to handle CSV (and ODS) formatted parts files
Keith Packard [Mon, 10 Feb 2025 22:43:14 +0000 (14:43 -0800)]
bin: Add python programs to handle CSV (and ODS) formatted parts files

Tools necessary to transition from tab-separated file to a spreadsheet

Signed-off-by: Keith Packard <keithp@keithp.com>
5 months agobin: Add resistor divider calculator
Keith Packard [Mon, 10 Feb 2025 22:42:41 +0000 (14:42 -0800)]
bin: Add resistor divider calculator

Signed-off-by: Keith Packard <keithp@keithp.com>
6 months agofix mask clearance on plated slots in 11071 footprint
Bdale Garbee [Wed, 5 Feb 2025 22:34:11 +0000 (15:34 -0700)]
fix mask clearance on plated slots in 11071 footprint

6 months agoadd 12k resistor for TeleMega v7.0
Bdale Garbee [Fri, 24 Jan 2025 23:31:48 +0000 (16:31 -0700)]
add 12k resistor for TeleMega v7.0

6 months agoupdate "default" 11071 footprint with version that Seeed can use too
Bdale Garbee [Fri, 24 Jan 2025 23:15:55 +0000 (16:15 -0700)]
update "default" 11071 footprint with version that Seeed can use too

6 months agometadata updates for TeleBT BOM
Bdale Garbee [Fri, 17 Jan 2025 20:35:05 +0000 (13:35 -0700)]
metadata updates for TeleBT BOM

7 months agometadata update for next TeleMega build
Bdale Garbee [Fri, 13 Dec 2024 00:45:07 +0000 (17:45 -0700)]
metadata update for next TeleMega build

8 months agoadd metadata for parts used in QuantiMotor v2p1
Bdale Garbee [Wed, 4 Dec 2024 17:12:03 +0000 (10:12 -0700)]
add metadata for parts used in QuantiMotor v2p1

8 months agostuff needed as I update QuantiMotor
Bdale Garbee [Wed, 27 Nov 2024 03:16:05 +0000 (22:16 -0500)]
stuff needed as I update QuantiMotor

8 months agoadd footprint for Pi Zero under QuantiMotor board
Bdale Garbee [Sun, 17 Nov 2024 00:02:33 +0000 (17:02 -0700)]
add footprint for Pi Zero under QuantiMotor board

8 months agoadd 16.5k resistor for QuantiMotor v2
Bdale Garbee [Sat, 16 Nov 2024 17:29:10 +0000 (10:29 -0700)]
add 16.5k resistor for QuantiMotor v2

10 months agoadd 0.5mm to PCB standoff height to ensure no LEDs are proud of panel surface telelco-v3.0
Bdale Garbee [Mon, 16 Sep 2024 17:26:41 +0000 (11:26 -0600)]
add 0.5mm to PCB standoff height to ensure no LEDs are proud of panel surface

11 months agochange how panel parts are combined to fix LCD and ALS pocket depths
Bdale Garbee [Sat, 7 Sep 2024 21:47:50 +0000 (15:47 -0600)]
change how panel parts are combined to fix LCD and ALS pocket depths

11 months agoincrease depth of LCD cavity to match reduced pcb standoff height
Bdale Garbee [Fri, 6 Sep 2024 19:02:55 +0000 (13:02 -0600)]
increase depth of LCD cavity to match reduced pcb standoff height

11 months agoreduce pcb standoff height by 1mm to get LED and ALS more deeply into panel
Bdale Garbee [Fri, 6 Sep 2024 18:47:51 +0000 (12:47 -0600)]
reduce pcb standoff height by 1mm to get LED and ALS more deeply into panel

11 months agoreverse pins on phototransistor-npn to match part used on TeleLCO
Bdale Garbee [Tue, 27 Aug 2024 01:37:57 +0000 (19:37 -0600)]
reverse pins on phototransistor-npn to match part used on TeleLCO

11 months agoupdate TeleLCO label to have a line segment between drag led and switch
Bdale Garbee [Sun, 25 Aug 2024 04:45:35 +0000 (22:45 -0600)]
update TeleLCO label to have a line segment between drag led and switch

11 months agoadd hole in TeleLCO panel for automatic light sensor
Bdale Garbee [Sun, 25 Aug 2024 04:41:33 +0000 (22:41 -0600)]
add hole in TeleLCO panel for automatic light sensor

12 months agoadd small SMT push button switch footprint, horizontal USB A to pref parts
Bdale Garbee [Wed, 31 Jul 2024 23:03:42 +0000 (17:03 -0600)]
add small SMT push button switch footprint, horizontal USB A to pref parts

12 months agoadd right-angle USB connector for QuantiMotor
Bdale Garbee [Wed, 31 Jul 2024 22:57:40 +0000 (16:57 -0600)]
add right-angle USB connector for QuantiMotor

12 months agoadd symbol for a 4x2 header, used on QuantiMotor RJ45 header "just in case"
Bdale Garbee [Fri, 26 Jul 2024 22:59:12 +0000 (16:59 -0600)]
add symbol for a 4x2 header, used on QuantiMotor RJ45 header "just in case"

12 months agocapture data sheet for little push switches
Bdale Garbee [Fri, 26 Jul 2024 22:59:01 +0000 (16:59 -0600)]
capture data sheet for little push switches

12 months agoadd symbol for Abracon RJ45 with magnetics
Bdale Garbee [Fri, 26 Jul 2024 22:57:44 +0000 (16:57 -0600)]
add symbol for Abracon RJ45 with magnetics

12 months agoadd symbol and footprint for SMT push switch to be used on QuantiMotor
Bdale Garbee [Fri, 26 Jul 2024 22:56:55 +0000 (16:56 -0600)]
add symbol and footprint for SMT push switch to be used on QuantiMotor

12 months agoadd footprint generator for Abracon RF-45 with magnetics and LEDs
Bdale Garbee [Wed, 17 Jul 2024 05:07:35 +0000 (23:07 -0600)]
add footprint generator for Abracon RF-45 with magnetics and LEDs

13 months agoinclude the non-plus version of Omega 2S in pref parts
Bdale Garbee [Sun, 7 Jul 2024 00:39:55 +0000 (18:39 -0600)]
include the non-plus version of Omega 2S in pref parts

13 months agoinclude both vertical and horizontal (right-angle) QuantiMotor USB A connectors
Bdale Garbee [Sun, 7 Jul 2024 00:21:58 +0000 (18:21 -0600)]
include both vertical and horizontal (right-angle) QuantiMotor USB A connectors

13 months agoright-angle USB connector alternative for QuantiMotor
Bdale Garbee [Sun, 7 Jul 2024 00:17:00 +0000 (18:17 -0600)]
right-angle USB connector alternative for QuantiMotor

13 months agoUse 100mil-led symbol for TH phototransistor
Keith Packard [Tue, 2 Jul 2024 05:53:14 +0000 (22:53 -0700)]
Use 100mil-led symbol for TH phototransistor

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoFlip pins on NPN phototransistor
Keith Packard [Tue, 2 Jul 2024 05:52:26 +0000 (22:52 -0700)]
Flip pins on NPN phototransistor

Make them match the LEDs using the same FP

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoAdd TEPT data sheet
Keith Packard [Tue, 2 Jul 2024 05:49:41 +0000 (22:49 -0700)]
Add TEPT data sheet

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoupdate NHD-C0216CZ.py for Python 3
Bdale Garbee [Tue, 2 Jul 2024 05:43:34 +0000 (23:43 -0600)]
update NHD-C0216CZ.py for Python 3

13 months agoMerge branch 'master' of ssh://git.gag.com/scm/git/hw/altusmetrum
Bdale Garbee [Tue, 2 Jul 2024 05:39:55 +0000 (23:39 -0600)]
Merge branch 'master' of ssh://git.gag.com/scm/git/hw/altusmetrum

13 months agoupdate pref parts for impending QuantiMotor proto build
Bdale Garbee [Tue, 2 Jul 2024 05:39:38 +0000 (23:39 -0600)]
update pref parts for impending QuantiMotor proto build

13 months agoAdd TEPT5700 NPN phototransistor to preferred-parts
Keith Packard [Tue, 2 Jul 2024 05:09:44 +0000 (22:09 -0700)]
Add TEPT5700 NPN phototransistor to preferred-parts

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoAdd NPN phototransistor symbol
Keith Packard [Tue, 2 Jul 2024 04:57:28 +0000 (21:57 -0700)]
Add NPN phototransistor symbol

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoFound a random 7S.py fp generator on my machine
Keith Packard [Tue, 2 Jul 2024 05:18:23 +0000 (22:18 -0700)]
Found a random 7S.py fp generator on my machine

I have no idea if it's correct or not ...

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoAdd simpler pfet symbol
Keith Packard [Wed, 22 May 2024 02:41:21 +0000 (19:41 -0700)]
Add simpler pfet symbol

Regular p-channel FET symbol

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agoAdd footprint for NHD-C0216CZ display
Keith Packard [Tue, 2 Jul 2024 05:22:48 +0000 (22:22 -0700)]
Add footprint for NHD-C0216CZ display

13 months agopartslist-vendor: Support "seeed_part_number" field
Keith Packard [Thu, 2 Nov 2023 04:33:24 +0000 (21:33 -0700)]
partslist-vendor: Support "seeed_part_number" field

This allows us to leave the existing 4ucon parts in place while
substituting more common part numbers when generating seeed quotes.

Signed-off-by: Keith Packard <keithp@keithp.com>
13 months agodatasheet for RJ45 with magnetics for possible QuantiMotor use
Bdale Garbee [Sat, 29 Jun 2024 00:45:18 +0000 (18:45 -0600)]
datasheet for RJ45 with magnetics for possible QuantiMotor use

13 months agorename datasheet directory for Abracon
Bdale Garbee [Sat, 29 Jun 2024 00:43:25 +0000 (18:43 -0600)]
rename datasheet directory for Abracon

13 months agoadditional and updated Onion Omega2S documentation
Bdale Garbee [Thu, 27 Jun 2024 21:10:57 +0000 (15:10 -0600)]
additional and updated Onion Omega2S documentation

13 months agoupdated 1.5k 0402 metadata for availability
Bdale Garbee [Tue, 11 Jun 2024 02:46:53 +0000 (20:46 -0600)]
updated 1.5k 0402 metadata for availability

14 months agoupdate TeleLCO panel label for moved LEDs
Bdale Garbee [Sun, 9 Jun 2024 00:50:42 +0000 (18:50 -0600)]
update TeleLCO panel label for moved LEDs

14 months agoupdate TeleLCO 3d printable panel for updated LED locations, et al
Bdale Garbee [Sat, 8 Jun 2024 22:57:54 +0000 (16:57 -0600)]
update TeleLCO 3d printable panel for updated LED locations, et al

14 months agoAdd STM32L151V8T6A to preferred-parts
Keith Packard [Sat, 1 Jun 2024 23:00:08 +0000 (16:00 -0700)]
Add STM32L151V8T6A to preferred-parts

SoC used for TeleFireEight v2.1

Signed-off-by: Keith Packard <keithp@keithp.com>
14 months agoupdate pref parts for TF8 build
Bdale Garbee [Sat, 1 Jun 2024 22:19:05 +0000 (16:19 -0600)]
update pref parts for TF8 build

14 months agoadd command line to include auto-generated pnp refdes layers in seeed zip
Bdale Garbee [Wed, 29 May 2024 17:04:21 +0000 (11:04 -0600)]
add command line to include auto-generated pnp refdes layers in seeed zip

17 months agothicken base plate to 5mm so heat-set inserts don't protrude past plastic
Bdale Garbee [Thu, 29 Feb 2024 21:40:41 +0000 (14:40 -0700)]
thicken base plate to 5mm so heat-set inserts don't protrude past plastic

17 months agoset 'provided' status to 'no' by default for all currently known parts
Bdale Garbee [Wed, 21 Feb 2024 21:02:10 +0000 (14:02 -0700)]
set 'provided' status to 'no' by default for all currently known parts

17 months agoadd SOT-23 2N2907A to known parts list
Bdale Garbee [Wed, 21 Feb 2024 21:01:23 +0000 (14:01 -0700)]
add SOT-23 2N2907A to known parts list

17 months agoadjust telelco panel design to snug board eliminating gaps around LCD, etc
Bdale Garbee [Tue, 20 Feb 2024 20:12:47 +0000 (13:12 -0700)]
adjust telelco panel design to snug board eliminating gaps around LCD, etc

17 months ago.gitignore update, etc
Bdale Garbee [Tue, 20 Feb 2024 20:06:51 +0000 (13:06 -0700)]
.gitignore update, etc

17 months agodata sheet for AD7997, ADC to be emulated by LPC11U14 SOC on QuantiMotor
Bdale Garbee [Fri, 16 Feb 2024 07:15:37 +0000 (00:15 -0700)]
data sheet for AD7997, ADC to be emulated by LPC11U14 SOC on QuantiMotor

17 months agoneed an n-fet symbol with SOT23 compatible pin numbers, different than TO-220
Bdale Garbee [Thu, 15 Feb 2024 02:22:36 +0000 (19:22 -0700)]
need an n-fet symbol with SOT23 compatible pin numbers, different than TO-220

17 months agosymbol for tiny MOSFET that might work on TeleMicro
Bdale Garbee [Thu, 8 Feb 2024 19:01:46 +0000 (12:01 -0700)]
symbol for tiny MOSFET that might work on TeleMicro

17 months agosymbol for Onion Omega2S SOM
Bdale Garbee [Thu, 8 Feb 2024 18:58:26 +0000 (11:58 -0700)]
symbol for Onion Omega2S SOM

17 months agoinitial design for TirePyro rear panel insert
Bdale Garbee [Thu, 8 Feb 2024 18:49:01 +0000 (11:49 -0700)]
initial design for TirePyro rear panel insert

17 months agoupdated IR sensor datasheet
Bdale Garbee [Thu, 8 Feb 2024 18:47:43 +0000 (11:47 -0700)]
updated IR sensor datasheet

17 months agodelete old copy of symbol in wrong directory
Bdale Garbee [Thu, 8 Feb 2024 18:47:05 +0000 (11:47 -0700)]
delete old copy of symbol in wrong directory

17 months agodatasheet and symbol for dual FET used on pipower
Bdale Garbee [Thu, 8 Feb 2024 18:45:42 +0000 (11:45 -0700)]
datasheet and symbol for dual FET used on pipower

17 months agoremaining part metadata for current QuantiMotor design
Bdale Garbee [Thu, 8 Feb 2024 18:43:27 +0000 (11:43 -0700)]
remaining part metadata for current QuantiMotor design

18 months agoadding/updating some parts for QuantiMotor
Bdale Garbee [Tue, 6 Feb 2024 21:02:16 +0000 (14:02 -0700)]
adding/updating some parts for QuantiMotor

18 months agofirst cut at updating TeleLCO panel design for graphic LCD
Bdale Garbee [Tue, 6 Feb 2024 20:58:06 +0000 (13:58 -0700)]
first cut at updating TeleLCO panel design for graphic LCD

18 months agofix permissions
Bdale Garbee [Tue, 6 Feb 2024 05:49:43 +0000 (22:49 -0700)]
fix permissions

18 months agoconvert Python footprint generators to Python 3
Bdale Garbee [Tue, 6 Feb 2024 05:48:28 +0000 (22:48 -0700)]
convert Python footprint generators to Python 3

18 months agomigrate all remaining Python v2 footprint generates to v3
Bdale Garbee [Fri, 2 Feb 2024 06:45:22 +0000 (23:45 -0700)]
migrate all remaining Python v2 footprint generates to v3

18 months agouse lepton-sch2pcb instead of assuming geda-gaf still exists
Bdale Garbee [Fri, 2 Feb 2024 06:44:59 +0000 (23:44 -0700)]
use lepton-sch2pcb instead of assuming geda-gaf still exists

18 months agochange USB connector we use with Seeed to Amphenol part that's cheaper
Bdale Garbee [Fri, 2 Feb 2024 06:44:16 +0000 (23:44 -0700)]
change USB connector we use with Seeed to Amphenol part that's cheaper

18 months agofix typos in pref parts list
Bdale Garbee [Thu, 1 Feb 2024 06:32:02 +0000 (23:32 -0700)]
fix typos in pref parts list

18 months agosymbol for BAT54C common cathode diode pair
Bdale Garbee [Mon, 29 Jan 2024 01:51:27 +0000 (18:51 -0700)]
symbol for BAT54C common cathode diode pair

18 months agodatasheet for dual diodes in SOT-23
Bdale Garbee [Mon, 29 Jan 2024 01:43:06 +0000 (18:43 -0700)]
datasheet for dual diodes in SOT-23

18 months agorename symbol directory to match datasheet directory
Bdale Garbee [Mon, 29 Jan 2024 01:32:58 +0000 (18:32 -0700)]
rename symbol directory to match datasheet directory

18 months agocomplementary dual FET
Bdale Garbee [Mon, 29 Jan 2024 01:23:10 +0000 (18:23 -0700)]
complementary dual FET

18 months agoneed a 3x2 (6 pin) header symbol for Raspberry Pi power hacking
Bdale Garbee [Sun, 28 Jan 2024 23:43:42 +0000 (16:43 -0700)]
need a 3x2 (6 pin) header symbol for Raspberry Pi power hacking