Bitcoin Forum
May 04, 2024, 10:00:18 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 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 »
  Print  
Author Topic: Official FutureBit Apollo BTC Software/Image and Support thread  (Read 39510 times)
End_The_Fed_42
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
October 21, 2022, 10:23:51 AM
 #1701

Does this also work with Ledger?
I did a little research and it looks like I need Satstacks for Ledger Live to connect to the node?
I don't use Ledger Live, but it seems that such a bridge is required, yes. You could also just use a better Bitcoin wallet software like Electrum or Sparrow and connect your Ledger to that software.

The main question I have is: Can I connect to the node from my desktop or do I always have to go directly on the miner's OS with screen, keyboard, mouse, ledger etc... to interact with the blockchain? Since the miner is not in the same room as my desktop that would be ideal.
First of all, you have a web GUI; so the miner dashboard that you get when connecting a screen to the Apollo, is also displayed by visiting the miner's IP from any browser in the same network.
To 'interact with the blockchain' in terms of querying blocks and stuff like that, indeed installing electrs is what's going to allow you to do that.

I do have another question concerning the Apollo, when I connected via SSH I saw the line [302 security updates available....]. Should I do the updates? I read that you should be careful on which updates you do because it can brick the miner.
If you run the latest Futurebit OS, you can do the updates via:
Code:
sudo apt update
sudo apt upgrade

Just don't do distro-upgrades like sudo apt dist-upgrade. Don't do that! Cheesy

I run the latest Futurebit OS and when I run those commands to upgrade the miner stops working. I can only get it working again by reflashing the card.
1714816818
Hero Member
*
Offline Offline

Posts: 1714816818

View Profile Personal Message (Offline)

Ignore
1714816818
Reply with quote  #2

1714816818
Report to moderator
1714816818
Hero Member
*
Offline Offline

Posts: 1714816818

View Profile Personal Message (Offline)

Ignore
1714816818
Reply with quote  #2

1714816818
Report to moderator
Activity + Trust + Earned Merit == The Most Recognized Users on Bitcointalk
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
MrMik
Member
**
Offline Offline

Activity: 199
Merit: 37


View Profile
October 21, 2022, 02:00:36 PM
 #1702

I run the latest Futurebit OS and when I run those commands to upgrade the miner stops working. I can only get it working again by reflashing the card.

I suppose it is possible to clone the SD card after it is working properly?

Is it possible to boot to USB on the Orange Pi and use Clonezilla to make a backup image of the SD card?

How do you get to the BIOS while it boots up?
Jota_US
Newbie
*
Offline Offline

Activity: 49
Merit: 0


View Profile
October 21, 2022, 02:46:36 PM
Last edit: October 21, 2022, 11:07:08 PM by Jota_US
 #1703

Does this also work with Ledger?
I did a little research and it looks like I need Satstacks for Ledger Live to connect to the node?
I don't use Ledger Live, but it seems that such a bridge is required, yes. You could also just use a better Bitcoin wallet software like Electrum or Sparrow and connect your Ledger to that software.

The main question I have is: Can I connect to the node from my desktop or do I always have to go directly on the miner's OS with screen, keyboard, mouse, ledger etc... to interact with the blockchain? Since the miner is not in the same room as my desktop that would be ideal.
First of all, you have a web GUI; so the miner dashboard that you get when connecting a screen to the Apollo, is also displayed by visiting the miner's IP from any browser in the same network.
To 'interact with the blockchain' in terms of querying blocks and stuff like that, indeed installing electrs is what's going to allow you to do that.

I do have another question concerning the Apollo, when I connected via SSH I saw the line [302 security updates available....]. Should I do the updates? I read that you should be careful on which updates you do because it can brick the miner.
If you run the latest Futurebit OS, you can do the updates via:
Code:
sudo apt update
sudo apt upgrade

Just don't do distro-upgrades like sudo apt dist-upgrade. Don't do that! Cheesy

I run the latest Futurebit OS and when I run those commands to upgrade the miner stops working. I can only get it working again by reflashing the card.

OK so it makes sense why my miner is not working anymore... Will have to reflash the card then.
So we are bound to leave those security updates to not update?

EDIT: Looks like after flashing the card the updates are not missing anymore. Seems like flashing the card with the new img is better than just updating through the Apollo web UI.
MrMik
Member
**
Offline Offline

Activity: 199
Merit: 37


View Profile
October 21, 2022, 11:17:59 PM
 #1704

Could anyone point me to an updated (or better updating) chart of sats/Th/s?

As in : How many Sats did 1Th/s earn per day and how much today?

Similar to the static chart shown here:
https://minerdaily.com/2021/07/06/btc-miner-earnings-sats-versus-usd-per-terahash/

I want an easy way to assess if my Sats mined are in the right ballpark.

For now, my Apollo seems to be generating about 1000 Sats / day while mining on Turbo with very little downtime.
n0nce
Hero Member
*****
Offline Offline

Activity: 882
Merit: 5818


not your keys, not your coins!


View Profile WWW
October 21, 2022, 11:23:24 PM
 #1705

Thank you for your answer, I did the updates. Problem now is the miner does not mine anymore. The node is running but the miner starts but does not hash and then shuts down
I am now looking to install electrs, however in your guide you say sometimes to log into bitcoin user. Is it necessary to do this step with the Apollo or can I just do everything with futurebit user
Does the issue persist? Have you tried rebooting after those updates?
You can replace my bitcoin user with futurebit, yes. Technically, in my setup, that user is less privileged so it's a little bit more secure, but it's still fine.

I run the latest Futurebit OS and when I run those commands to upgrade the miner stops working. I can only get it working again by reflashing the card.

I suppose it is possible to clone the SD card after it is working properly?

Is it possible to boot to USB on the Orange Pi and use Clonezilla to make a backup image of the SD card?

How do you get to the BIOS while it boots up?
Yes, just plug the microSD into a different computer and make an ISO of it, e.g. using the dd command.
These little SBCs don't have a graphical BIOS that you can boot into.

For now, my Apollo seems to be generating about 1000 Sats / day while mining on Turbo with very little downtime.
These were roughly my numbers, as well. Looks fine.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
MrMik
Member
**
Offline Offline

Activity: 199
Merit: 37


View Profile
October 21, 2022, 11:28:35 PM
 #1706

These were roughly my numbers, as well. Looks fine.

Thank you!
MrMik
Member
**
Offline Offline

Activity: 199
Merit: 37


View Profile
October 21, 2022, 11:33:08 PM
 #1707

I am about to start designing and printing a bottom cover for the Apollo BTC.

I want to protect the fragile bits down there and improve air entry and maybe bring the WiFi antenna outside of the metal housing to improve reception.

Has this already been done? If so, maybe point me to it, that would be great.
MrMik
Member
**
Offline Offline

Activity: 199
Merit: 37


View Profile
October 21, 2022, 11:39:22 PM
 #1708

How can I shut down the Apollo BTC without connecting the HDMI monitor?

It will boot up and connect to WiFi and VPN automatically and reliably now, so I'm ready to put it somewhere other than near my workstation.

What happens during a grid power outage?

How many power outages can the Apollo take before shutting down the fan in a hot state fries something?
MrMik
Member
**
Offline Offline

Activity: 199
Merit: 37


View Profile
October 22, 2022, 04:36:26 AM
 #1709

Could anyone point me to an updated (or better updating) chart of sats/Th/s?

I found one:
https://data.hashrateindex.com/chart/bitcoin-hashprice-index

Unfortunately it show that this source of pristine Sats is quickly dwindling away.  Sad
MrMik
Member
**
Offline Offline

Activity: 199
Merit: 37


View Profile
October 22, 2022, 11:31:33 AM
Merited by n0nce (1)
 #1710

I am about to start designing and printing a bottom cover for the Apollo BTC.

The newbies section is so full of interesting links, I cannot concentrate on finding the answer to how I can post a picture.

Anyway, I'm quite certain that I have landed in the right place here for now and stuff will work itself out.

My OpenScad skills are not sophisticated, but I am persistent and use repetition when required to get the result I want, eventually.
https://openscad.org/

So until I figure out more visually pleasing ways to communicate here, I shall post the OpenScad code for rendering and 3D printing a bottom cover for the Apollo BTC.

This is the first attempt, it takes a bit of paint off the Apollo, but warranties fade as soon as I receive an interesting thingamabob, then they vanish.

So don't print this just yet... Grin

But seriously, I feel so much better when picking up my 'Polli' since I have installed the bottom cover to stop me from putting my paws through it's squishy innards!

This bottom cover needs somewhat skilled application of hot melt glue after printing - not a finished product! And takes some paint off your precious.....

Paste the following in to OpenScad if interested:

Code:
$fn=30;


// 20221022 making Polli bottom cover

// dimensions:
// 155mm x 104mm outer
// 131.6mm x 100.5mm inner

// screwless press fit design

// Rear USB and ETH connectors: Continuous cutout 5mm from bottom and side and stretching to 55mm from side
// Front LED light starts 17mm from bottom
// make 15mm high from bottom with cutouts for connectors
// side connectors and antenna hole cutout: 20mm to 90mm from rear side edge and 4mm from bottom (included // 6VDC hole: 23.6mm from side edge;' 10.9mm wide; 7.7mm high; 5.2mm from bottom edge)

// purpose: Protection from physical damage
// better air entry
// Wifi antenna outside


union(){// All of Polli bottom cover

difference(){// remove bits from cube above zero line

cube([160, 109, 17.5]);//the part above ground level that slides onto the original housing; adding 2.5mm each side for wall thickness

translate([2.5,2.5,2.5])
cube([155, 104, 17.5]);// removing the space where the Polli body will be


// side connectors and antenna hole cutout: 20mm to 90mm from rear side edge and 4mm from bottom (included // 6VDC hole: 23.6mm from side edge;' 10.9mm wide; 7.7mm high; 5.2mm from bottom edge)
translate([67.5,-47.5,6.5])
cube([70, 50, 17.5]);//Cutout for side connectors and antenna


// Rear USB and ETH connectors: Continuous cutout 5mm from bottom and side and stretching to 55mm from side
translate([110,7.5,7.5])
cube([50, 50, 17.5]);//Cutout for rear USB and ETH connectors

union(){// making lots of holes (9mm optimised) in bottom plate

translate([0,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([9,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([18,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([27,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([36,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([45,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([54,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([63,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([72,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([81,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([90,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([99,4.5,0])
union(){//one row of holes

translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes
translate([108,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([117,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([126,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([135,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([144,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes











}
// End union making up to 150 holes (9mm optimised) in bottom plate



// 131.6mm x 100.5mm inner
translate([14.5,4.5,0.4])
cube([131,100,2.5]);// thinning out the perforated area


}
// End difference remove bits from cube above sero line


}
// End of union all of Polli bottom cover
crypto_curious
Full Member
***
Offline Offline

Activity: 924
Merit: 175


View Profile
October 22, 2022, 01:44:58 PM
 #1711


I am about to start designing and printing a bottom cover for the Apollo BTC.



Interesting.
n0nce
Hero Member
*****
Offline Offline

Activity: 882
Merit: 5818


not your keys, not your coins!


View Profile WWW
October 22, 2022, 05:25:32 PM
Merited by MrMik (1)
 #1712

How can I shut down the Apollo BTC without connecting the HDMI monitor?
Plug in its IP address in a browser on another device on the same network, and access the web interface. It has a shutdown option somewhere up top, if I remember correctly.

What happens during a grid power outage?
Not great, because microSD cards are susceptible to corruption; especially when power is cut like that. I've had issues with Raspberry Pis because of that. When the power comes back, if there is no corruption, it will just boot back up and start the services as usual.
Worst-case, you reflash the microSD and set it up again.

How many power outages can the Apollo take before shutting down the fan in a hot state fries something?
I don't think anyone can give you an exact number for this.. Grin Consumer electronics are usually not tested / made for 'taking X power outages'; that's what uninterrupted power supplies are made (and rated) for.

The newbies section is so full of interesting links, I cannot concentrate on finding the answer to how I can post a picture.
GUIDELINE ON POSTING IMAGES (WITH SIZE ADJUSTMENTS), HYPERLINKS
[...]

Please, also consider reading: https://bitcointalk.org/index.php?topic=703657.0 (rule 12, in particular)

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
crypto_curious
Full Member
***
Offline Offline

Activity: 924
Merit: 175


View Profile
October 22, 2022, 11:26:08 PM
 #1713

What happens during a grid power outage?
Not great, because microSD cards are susceptible to corruption; especially when power is cut like that. I've had issues with Raspberry Pis because of that. When the power comes back, if there is no corruption, it will just boot back up and start the services as usual.
Worst-case, you reflash the microSD and set it up again.

Cannot reproduce this. I have Raspberry Pi 1 (original old one), with random SD card, USB bluetooth dongle, serving my car as phone bluetooth to audio jack adapter, to provide my car with bluetooth music. Raspberry turns on when car starts, and abruptly shuts down when car is stopped. That was like 1000s unclean shutdowns already and Raspberry remains 100% functional.
Linux has got this covered, RaspPi and Orange Pi are utilizing Ext4 journaling filesystem which handles unclean shutdowns very well. Your must be some edge case.
satosato42
Newbie
*
Offline Offline

Activity: 11
Merit: 1


View Profile
October 23, 2022, 03:04:48 AM
 #1714

Is there an API or some way for you to stop or start the mining on the futurebit?

My Futurebit is powered by my solar panels and batteries but they are not enough to power the Futurebit all day if it's mining the whole time. Therefore, I was thinking of creating a python script that can query my inverter to see when battery state of charge reaches a certain level and then stop the Futurebit from mining and not start it again until the state of charge rises to a certain level.
100knot2dae
Member
**
Offline Offline

Activity: 100
Merit: 29


View Profile
October 23, 2022, 10:01:11 AM
 #1715

Is there an API or some way for you to stop or start the mining on the futurebit?

My Futurebit is powered by my solar panels and batteries but they are not enough to power the Futurebit all day if it's mining the whole time. Therefore, I was thinking of creating a python script that can query my inverter to see when battery state of charge reaches a certain level and then stop the Futurebit from mining and not start it again until the state of charge rises to a certain level.
Don't think there is an API for that, but you could always kill the miner process and fire it up again via script.
MrMik
Member
**
Offline Offline

Activity: 199
Merit: 37


View Profile
October 23, 2022, 12:34:19 PM
 #1716



Interesting.
Thanks for posting the picture while I cannot do this myself, yet!

Below is the OpenScad code for the next iteration of the bottom cover for the Apollo BTC.

It's printing at the moment so I'm not entirely certain it will fit, but it should be very close.

Depending on what part of the code is disabled (*), you can render a bottom cover by itself, or the feet for the bottom cover which lift it up to make space for a Noctua NF-A6x25 FLX 60x25mm Premium Fan. No specific reason for choosing this fan, except that I have one lying around.

I'm not certain if it's best to have the fan blow or suck, neither where exactly to place it. I think I'll mount it so that it will blow air upward.
I have a cable adapter for low noise left over, I guess it's just a resistor in the cable, and plan to splice the fan into the 12v supply.

Code:
$fn=30;


// 20221022/23 making Polli bottom cover

// dimensions:
// 155mm x 104mm outer
// 131.6mm x 100.5mm inner

// screwless press fit design

// Rear USB and ETH connectors: Continuous cutout 5mm from bottom and side and stretching to 55mm from side
// Front LED light starts 17mm from bottom
// make 15mm high from bottom with cutouts for connectors
// side connectors and antenna hole cutout: 20mm to 90mm from rear side edge and 4mm from bottom (included // 6VDC hole: 23.6mm from side edge;' 10.9mm wide; 7.7mm high; 5.2mm from bottom edge)

// purpose: Protection from physical damage
// better air entry
// Wifi antenna outside

translate([0,0,5])// to visually separate cover and legs
union(){// Main part of Polli bottom cover -DISABLE (*) TO RENDER LEGS

difference(){// remove bits from cube above zero line

*cube([160, 109, 17.5]);//the part above ground level that slides onto the original housing; adding 2.5mm each side for wall thickness FIRST PRINT- TOO SMALL
cube([160.5, 109, 17.5]);//the part above ground level that slides onto the original housing; adding 2.5mm each side for wall thickness


union(){// Peg holes for legs for Polli Bottom Cover

union(){// Pegs

translate([12,3.5,0])
cylinder(h=2.5,r=2.5);

translate([3.5,12,0])
cylinder(h=2.5,r=2.5);

translate([147,3.5,0])
cylinder(h=2.5,r=2.5);

translate([157,13,0])
cylinder(h=2.5,r=2.5);

translate([147,105.5,0])
cylinder(h=2.5,r=2.5);

translate([157,96,0])
cylinder(h=2.5,r=2.5);


translate([12,105.5,0])
cylinder(h=2.5,r=2.5);

translate([3.5,96,0])
cylinder(h=2.5,r=2.5);
}
// End union pegs

translate([0,0,-45])
difference(){// Making 1 leg

cube([20,20,45]);

translate([7,7,0])
cube([20,20,45]);

}
// End difference making first

translate([140.5,0,-45])
difference(){// Making 1 leg

cube([20,20,45]);

translate([-7,7,0])
cube([20,20,45]);

}
// End difference making 1 leg

translate([140.5,89,-45])
difference(){// Making 1 leg

cube([20,20,45]);

translate([-7,-7,0])
cube([20,20,45]);

}
// End difference making 1 leg

translate([0,89,-45])
difference(){// Making 1 leg

cube([20,20,45]);

translate([7,-7,0])
cube([20,20,45]);

}
// End difference making 1 leg







}
// End of union Peg holes for legs of Polli Bottom Cover


*translate([2.5,2.5,2.5])
cube([155, 104, 17.5]);// removing the space where the Polli body will be FIRST PRINT- TOO SMALL

translate([2.5,2.5,2.5])
cube([155.5, 104, 17.5]);// removing the space where the Polli body will be - This size is for use with or without a Noctua NF-A6x25 FLX 60x25mm Premium Fan
// Hole spacing: 50mm; hole size 4.4mm diameter



// side connectors and antenna hole cutout: 20mm to 90mm from rear side edge and 4mm from bottom (included // 6VDC hole: 23.6mm from side edge;' 10.9mm wide; 7.7mm high; 5.2mm from bottom edge)
translate([67.5,-47.5,6.5])
cube([70, 50, 17.5]);//Cutout for side connectors and antenna


// Rear USB and ETH connectors: Continuous cutout 5mm from bottom and side and stretching to 55mm from side
translate([110.5,7.5,7.5])
cube([50, 50, 17.5]);//Cutout for rear USB and ETH connectors

*translate([-2,0,0])
union(){// making lots of holes (9mm optimised) in bottom plate DISABLE FOR PRINTING WITH FAN

*translate([0,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([9,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([18,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([27,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([36,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([45,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([54,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([63,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([72,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([81,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([90,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([99,4.5,0])
union(){//one row of holes

translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes
translate([108,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([117,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([126,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([135,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

*translate([144,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes











}
// End union making up to 150 holes (9mm optimised) in bottom plate

translate([-2,0,0])
union(){//  Making fewer holes for use with fan (9mm optimised) in bottom plate

*translate([0,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([9,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

*translate([10,37.5,0])
cylinder(5,4.5,4.5);

*translate([10,47.5,0])
cylinder(5,4.5,4.5);

*translate([10,57.5,0])
cylinder(5,4.5,4.5);

*translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

*translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([18,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

*translate([10,37.5,0])
cylinder(5,4.5,4.5);

*translate([10,47.5,0])
cylinder(5,4.5,4.5);

*translate([10,57.5,0])
cylinder(5,4.5,4.5);

*translate([10,67.5,0])
cylinder(5,4.5,4.5);

*translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([27,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

*translate([10,27.5,0])
cylinder(5,4.5,4.5);

*translate([10,37.5,0])
cylinder(5,4.5,4.5);

*translate([10,47.5,0])
cylinder(5,4.5,4.5);

*translate([10,57.5,0])
cylinder(5,4.5,4.5);

*translate([10,67.5,0])
cylinder(5,4.5,4.5);

*translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([36,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

*translate([10,27.5,0])
cylinder(5,4.5,4.5);

*translate([10,37.5,0])
cylinder(5,4.5,4.5);

*translate([10,47.5,0])
cylinder(5,4.5,4.5);

*translate([10,57.5,0])
cylinder(5,4.5,4.5);

*translate([10,67.5,0])
cylinder(5,4.5,4.5);

*translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([45,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

*translate([10,27.5,0])
cylinder(5,4.5,4.5);

*translate([10,37.5,0])
cylinder(5,4.5,4.5);

*translate([10,47.5,0])
cylinder(5,4.5,4.5);

*translate([10,57.5,0])
cylinder(5,4.5,4.5);

*translate([10,67.5,0])
cylinder(5,4.5,4.5);

*translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([54,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

*translate([10,37.5,0])
cylinder(5,4.5,4.5);

*translate([10,47.5,0])
cylinder(5,4.5,4.5);

*translate([10,57.5,0])
cylinder(5,4.5,4.5);

*translate([10,67.5,0])
cylinder(5,4.5,4.5);

*translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([63,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([72,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([81,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([90,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([99,4.5,0])
union(){//one row of holes

translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes
translate([108,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([117,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([126,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

translate([135,4.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

*translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

*translate([144,-0.5,0])
union(){//one row of holes
translate([10,7.5,0])
cylinder(5,4.5,4.5);

translate([10,17.5,0])
cylinder(5,4.5,4.5);

translate([10,27.5,0])
cylinder(5,4.5,4.5);

translate([10,37.5,0])
cylinder(5,4.5,4.5);

translate([10,47.5,0])
cylinder(5,4.5,4.5);

translate([10,57.5,0])
cylinder(5,4.5,4.5);

translate([10,67.5,0])
cylinder(5,4.5,4.5);

translate([10,77.5,0])
cylinder(5,4.5,4.5);

translate([10,87.5,0])
cylinder(5,4.5,4.5);

translate([10,97.5,0])
cylinder(5,4.5,4.5);
}
// End union 1 row of holes

}
// End union making fewer holes for use with fan (9mm optimised) in bottom plate


union(){// Fan mount holes - disable for fan-less cover
translate([40.75,55.75,0])
cylinder(h=10, r=25);// Big hole for fan

translate([15.75,30.75,0])
cylinder(h=10, r=2.2);

translate([15.75,30.75,1])
cylinder(h=10, r=5);// recess for rubber mount

translate([15.75,80.75,0])
cylinder(h=10, r=2.2);

translate([15.75,80.75,1])
cylinder(h=10, r=5);// recess for rubber mount

translate([65.75,30.75,0])
cylinder(h=10, r=2.2);

translate([65.75,30.75,1])
cylinder(h=10, r=5);// recess for rubber mount

translate([65.75,80.75,0])
cylinder(h=10, r=2.2);

translate([65.75,80.75,1])
cylinder(h=10, r=5);// recess for rubber mount

}
// End union fan mount holes

// 131.6mm x 100.5mm inner
translate([14.5,4.5,0.4])
cube([131,100,2.5]);// thinning out the perforated area


}
// End difference remove bits from cube above zero line



// Adding fan mount reinforcements
difference(){// making mount holes in reinforcements
union(){// the reinforcing blocks to make part of the mesh thicker than 2 print layers = 0.4mm
translate([10,25,0])
cube([11.5,11.5,2.5]);

translate([10,75,0])
cube([11.5,11.5,2.5]);

translate([60,0,0])// central reinforcing block
cube([11.5,109,2.5]);
}
// End union reinforcing blocks

union(){// Fan mount holes
translate([40.75,55.75,0])
cylinder(h=10, r=25);// Big hole for fan

translate([15.75,30.75,0])
cylinder(h=10, r=2.2);

translate([15.75,30.75,1])
cylinder(h=10, r=5);// recess for rubber mount

translate([15.75,80.75,0])
cylinder(h=10, r=2.2);

translate([15.75,80.75,1])
cylinder(h=10, r=5);// recess for rubber mount

translate([65.75,30.75,0])
cylinder(h=10, r=2.2);

translate([65.75,30.75,1])
cylinder(h=10, r=5);// recess for rubber mount

translate([65.75,80.75,0])
cylinder(h=10, r=2.2);

translate([65.75,80.75,1])
cylinder(h=10, r=5);// recess for rubber mount

}
// End union fan mount holes

}
// End difference making mount holes for fan

}
// End of union all of Main PArt of Polli bottom cover


union(){// Legs for Polli Bottom Cover -DISABLE (*) TO RENDER BOTTOM COVER

union(){// Pegs
// pegs are 4.8mm diameter for 5mm diameter holes
translate([12,3.5,0])
cylinder(h=2.5,r=2.4);

translate([3.5,12,0])
cylinder(h=2.5,r=2.4);

translate([147,3.5,0])
cylinder(h=2.5,r=2.4);

translate([157,13,0])
cylinder(h=2.5,r=2.4);

translate([147,105.5,0])
cylinder(h=2.5,r=2.4);

translate([157,96,0])
cylinder(h=2.5,r=2.4);


translate([12,105.5,0])
cylinder(h=2.5,r=2.4);

translate([3.5,96,0])
cylinder(h=2.5,r=2.4);
}
// End union pegs

translate([0,0,-45])
difference(){// Making 1 leg

cube([20,20,45]);

translate([7,7,0])
cube([20,20,45]);

}
// End difference making first

translate([140.5,0,-45])
difference(){// Making 1 leg

cube([20,20,45]);

translate([-7,7,0])
cube([20,20,45]);

}
// End difference making 1 leg

translate([140.5,89,-45])
difference(){// Making 1 leg

cube([20,20,45]);

translate([-7,-7,0])
cube([20,20,45]);

}
// End difference making 1 leg

translate([0,89,-45])
difference(){// Making 1 leg

cube([20,20,45]);

translate([7,-7,0])
cube([20,20,45]);

}
// End difference making 1 leg

union(){// leg connectors
translate([0,0,-45])
cube([140.5,7,0.6]);

translate([0,102,-45])
cube([140.5,7,0.6]);

translate([0,0,-45])
cube([7,89,0.6]);

translate([153.5,0,-45])
cube([7,89,0.6]);

}
// END union leg connectors

}
// End of union Legs of Polli Bottom Cover

satosato42
Newbie
*
Offline Offline

Activity: 11
Merit: 1


View Profile
October 23, 2022, 01:41:07 PM
 #1717

Don't think there is an API for that, but you could always kill the miner process and fire it up again via script.

Interesting idea. How exactly would you recommend I kill the process? Just a regular `kill` command with the pid? If so, my script would have to make sure it first find the correct PID in order to then kill it. Or is there a better way?

Also, would killing the process like this cause any corruption or other issues?

Thank you for the help.
n0nce
Hero Member
*****
Offline Offline

Activity: 882
Merit: 5818


not your keys, not your coins!


View Profile WWW
October 23, 2022, 03:00:32 PM
 #1718

Don't think there is an API for that, but you could always kill the miner process and fire it up again via script.
Interesting idea. How exactly would you recommend I kill the process? Just a regular `kill` command with the pid? If so, my script would have to make sure it first find the correct PID in order to then kill it. Or is there a better way?
There is no API, no. You can find more information about this by using TryNinja's search engine and looking for 'API' in this topic: https://ninjastic.space/search?content=API&topic_id=5340015
As jstefanop is saying here, there is a file that's basically the API.

There is a script called miner_stop_all.sh that is called by the GUI when you stop the miner; it should be possible to just execute that instead of killing the process. miner_start_all.sh starts it back up.
Source here: https://github.com/jstefanop/Apollo-Miner-Binaries/blob/main/linux-aarch64/miner_start_all.sh and here: https://github.com/jstefanop/Apollo-Miner-Binaries/blob/main/linux-aarch64/miner_stop_all.sh

Locate those in Futurebit OS and call as you wish.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
satosato42
Newbie
*
Offline Offline

Activity: 11
Merit: 1


View Profile
October 23, 2022, 03:18:26 PM
 #1719

There is no API, no. You can find more information about this by using TryNinja's search engine and looking for 'API' in this topic: https://ninjastic.space/search?content=API&topic_id=5340015
As jstefanop is saying here, there is a file that's basically the API.

There is a script called miner_stop_all.sh that is called by the GUI when you stop the miner; it should be possible to just execute that instead of killing the process. miner_start_all.sh starts it back up.
Source here: https://github.com/jstefanop/Apollo-Miner-Binaries/blob/main/linux-aarch64/miner_start_all.sh and here: https://github.com/jstefanop/Apollo-Miner-Binaries/blob/main/linux-aarch64/miner_stop_all.sh

Locate those in Futurebit OS and call as you wish.

Amazing information! Thank you so much! That's extremely helpful. Really appreciate it.
100knot2dae
Member
**
Offline Offline

Activity: 100
Merit: 29


View Profile
October 23, 2022, 05:03:00 PM
 #1720

There is no API, no. You can find more information about this by using TryNinja's search engine and looking for 'API' in this topic: https://ninjastic.space/search?content=API&topic_id=5340015
As jstefanop is saying here, there is a file that's basically the API.

There is a script called miner_stop_all.sh that is called by the GUI when you stop the miner; it should be possible to just execute that instead of killing the process. miner_start_all.sh starts it back up.
Source here: https://github.com/jstefanop/Apollo-Miner-Binaries/blob/main/linux-aarch64/miner_start_all.sh and here: https://github.com/jstefanop/Apollo-Miner-Binaries/blob/main/linux-aarch64/miner_stop_all.sh

Locate those in Futurebit OS and call as you wish.

Amazing information! Thank you so much! That's extremely helpful. Really appreciate it.
That is good info indeed. So if there already is a screen session running, you might send it the quit command like in the script on github. Or you do a kill -3 on the miner PID, that should have the same effect of a graceful shutdown. Whichever you prefer  Wink
Pages: « 1 ... 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 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!