When you run a Bitaxe, Understanding the Bitaxe Mining Log is key to being successful. Your devices logs produce a detailed visualization of what’s happening under the hood. For newcomers, this scrolling text can be overwhelming. In this guide, we’ll break down a sample Bitaxe mining log line by line; from the moment the miner starts up (initialization), through frequency tuning, connecting to a mining pool, submitting shares, and the ongoing ASIC job activity. By the end, you’ll know exactly what each part of the log means and why it matters. We’ll use a friendly, step-by-step approach with examples, so even if you’re new to mining, you can follow along.
Figure: Sample Bitaxe mining log output, showing various stages (initial setup, pool connection, and mining activity). Each section below will explain these lines in detail.
1. Initialization
When a Bitaxe miner first boots up, it performs hardware checks and connects to your network. The initialization part of the log shows these startup steps. Here are some example log lines you might see during initialization, and what each one means:
-
₿ (993) bitaxe: Welcome to the bitaxe - hack the planet!
– A friendly greeting from the miner’s firmware to confirm it’s powered on and running. The number in parentheses (here993
) is a timestamp or counter. Thebitaxe:
prefix shows the component issuing the message (in this case, the main Bitaxe program). -
₿ (993) bitaxe: I2C initialized successfully
– The miner successfully set up the I2C interface. I2C is a communication bus used to talk to the ASIC chip and other components. This log confirms the miner can communicate with the hardware (the ASIC chip) over I2C. -
₿ (1103) ADC: Calibration Success
– The ADC (Analog-to-Digital Converter) has calibrated correctly. The ADC is likely used for measuring sensor values like voltage or temperature. “Calibration Success” means the miner has initialized its sensors and they are ready to provide accurate readings. -
₿ (1353) wifi_station: wifi_init_sta finished.
– The miner’s Wi-Fi station mode has been initialized. In plain terms, the Bitaxe has finished setting up its Wi-Fi module to connect to your network. -
₿ (1363) TPS546: Initializing the core voltage regulator
– The miner is initializing the TPS546 regulator. This is a power management chip that provides the correct voltage to the ASIC. The log is indicating that it’s starting up the ASIC’s power supply. -
₿ (1363) TPS546: Device ID: 54 49 54 6d 24 41
– The miner has read the device ID from the TPS546 regulator. This string of numbers is an identifier for the regulator hardware, confirming it’s detected and communicating. (You don’t need to interpret these hex values; it’s mainly for debugging that the right chip is present.) -
₿ (5243) bitaxe: Connected to SSID: MBTC
– Success! The miner connected to the Wi-Fi network (SSID) named “MBTC”. Once you see a line like this, it means your Bitaxe is on the network with your provided Wi-Fi credentials. Soon after this, it will try to reach the mining pool.
What this means: The initialization section verifies that all systems are go. The miner boots, checks memory and sensors, starts networking, and makes sure the ASIC’s power and data lines are ready. If something fails here (for example, if Wi-Fi can’t connect or the ASIC isn’t detected), the log would show error messages. Otherwise, seeing “initialized successfully” and “Connected to SSID” means your Bitaxe is ready for the next steps.
2. Frequency Tuning
Once the hardware is up, the Bitaxe may adjust its mining frequency. Frequency tuning is the process of setting the ASIC chip’s clock speed (measured in MHz). Running the chip at the optimal frequency is crucial – too low and you’re not hashing fast enough, too high and you risk errors or overheating. The log lines in this phase show the miner testing or setting the frequency (and sometimes voltage) for the ASIC:
-
₿ (13853) bm1370Module: Setting Frequency to 518.75MHz (518.75)
– The miner is configuring the ASIC (BM1370 in this case) to run at 518.75 MHz. The number in parentheses is just a repeat of the frequency in a standardized format. This could be part of an automatic tuning process or simply setting the default frequency. -
₿ (13953) bm1370Module: Setting Frequency to 525.00MHz (525.00)
– The frequency was adjusted to 525.00 MHz. You can see it’s slightly higher than the previous value. Bitaxe miners often step through frequencies to find the highest stable value. This incremental change suggests the miner might be testing performance at 525 MHz after 518.75 MHz. -
₿ (14053) bm1370Module: Setting max baud of 1000000
– Now that the frequency is set, the miner is also adjusting the UART baud rate (communication speed) to 1,000,000. In simple terms, it’s speeding up the data link to match the faster hash rate. This ensures log data and commands can keep up with the ASIC’s output. -
₿ (14053) serial: Changing UART baud to 1000000
– A confirmation that the serial communication speed was indeed changed to 1 Mbaud. This is a technical detail, but it shows the miner aligning all systems (both the ASIC and the communication channel) to the chosen frequency.
Understanding the Bitaxe Mining Log and what this means: The Bitaxe is fine-tuning how fast the ASIC chip runs. You might see a sequence of “Setting Frequency to X MHz” messages if it’s trying multiple frequencies. If you have configured a specific frequency/voltage, the log will show those being applied. A successful frequency tune means the miner found a stable speed for hashing. If the frequency is too high, the miner might crash or show errors, so these log lines are useful to confirm that the chosen speed is working. Short-term dips or steps in frequency during startup are normal – the miner is just finding the sweet spot for operation.
3. Pool Connection (Stratum Protocol)
After setting up the hardware, the Bitaxe connects to a mining pool using the Stratum protocol. Stratum is the communication protocol that lets the miner receive work from the pool and send back results (shares). In this stage of the log, you’ll see messages about connecting to the pool’s server, subscribing, authorizing, and receiving jobs. Here’s what typical pool connection log lines look like:
-
₿ (14083) stratum_task: Connecting to: stratum+tcp://eusolo.ckpool.org:3333
– The miner is initiating a connection to the pool. In this example, it’s using the URLeusolo.ckpool.org
on port3333
via the Stratum TCP protocol. This line tells you which pool and port the miner is trying to reach (in this case, a solo mining pool). If this hangs or fails, you might have a network issue or a wrong pool address. -
₿ (14123) stratum_api: tx: {"id": 2, "method": "mining.subscribe", "params": ["bitaxe/BM1370/v2.4.5"]}
– The miner is sending a mining.subscribe request to the pool. This is the first part of the Stratum handshake. It basically says: “Hello, I’m a miner (specifically a Bitaxe with BM1370, firmware v2.4.5) and I want to subscribe for work.” The JSON structure in the log showsmethod
:"mining.subscribe"
and a user agent string identifying the miner. The pool will respond with subscription details (not fully shown here), including an extranonce and other parameters. -
₿ (14123) stratum_api: tx: {"id": 3, "method": "mining.authorize", "params": ["<user>", "<pass>"]}
– Next, the miner sends a mining.authorize message with your pool credentials. In many cases for Bitcoin pools, the username is a Bitcoin wallet address (or a username.worker format) and the password might be “x” or another pool-specific token. In our example, the log shows placeholders<user>
and<pass>
for simplicity. This step is basically logging the miner into the pool. If the authorization fails (wrong credentials), the log would show an error or the pool rejecting the login. -
₿ (14173) stratum_task: rx: {"params":[10000],"id":null,"method":"mining.set_difficulty"}
– The miner’s log received (rx
) a mining.set_difficulty message from the pool. This tells the miner the current share difficulty target. Here, the pool set the difficulty to 10000. That means any share the miner finds must have a difficulty score of 10000 or higher to be counted (we’ll explain shares and difficulty more later). The log even says:Set stratum difficulty: 10000
. Pools adjust the difficulty based on your miner’s hashrate – a smaller miner gets a lower diff so it can submit shares more often. -
₿ (14233) stratum_task: rx: {"params":["<job_id>","<prev_hash>","<coinbase1>","<coinbase2>",...],"id":null,"method":"mining.notify"}
– This line (truncated for brevity) is the mining.notify message, which provides a new mining job. The pool is sending the details of the block the miner should work on. In the actual log, this is a large JSON with fields like job ID, previous block hash, coinbase transactions, Merkle branches, version, nBits, and timestamp. You don’t need to parse all that as a beginner. What’s important is that whenever you seemining.notify
, the pool is giving your miner new data (usually when a new block is detected on the network or every so often to update the work). The Bitaxe will acknowledge this and start crunching numbers on the new job.
What this means: The pool connection section of the log confirms that your miner has reached the pool and is getting work. Key points to look for:
-
Subscribe/Authorize: These should succeed (no errors in log) – they establish communication and login.
-
Difficulty: The pool’s assigned difficulty (e.g., 10000 in our example) will influence how often you find shares. A higher number means shares are rarer (each share must be “better” to count). Beginners can simply note the number; the pool usually adjusts it automatically.
-
Notify (Jobs): Each
mining.notify
means new work. Right after connecting, you should see a notify with a job – that means your miner is officially mining on a job. If the log shows repeated attempts to connect or authorize without reaching a notify, there might be an issue (wrong pool URL, internet down, etc.).
Understanding the Bitaxe Mining Log allows you to see how the Bitaxe uses the Stratum protocol under the hood, but it conveniently prints human-readable messages for key events. Now that we’re connected and have a job, the miner will start hashing to find solutions!
4. Share Submission
Now we get to the exciting part: finding and submitting shares. As your Bitaxe works on the jobs from the pool, it tests many nonces (random values) to find a hash that is below the target. Most attempts fail (no share found), but occasionally the miner finds a hash that is good enough to be a share. A share is essentially a proof that the miner did work: it’s a hash solution that meets the pool’s easier difficulty target, even if it’s not hard enough to be a full block solution. The log highlights when this happens:
-
₿ (91684121) asic_result: Ver: 26234000 Nonce A24B061C diff 3344.2 of 3184.
– This line shows the miner found a result with difficulty 3344.2, which is above the pool’s target of 3184. In the formatdiff X of Y
, the first number (X) is the difficulty score of the found hash, and the second number (Y) is the current pool difficulty target. Since 3344.2 ≥ 3184, this result qualifies as a share. The log also provides the nonce value (A24B061C
in hex) and a “Ver” field (which is part of the block header version data). In simple terms: the miner found a share. This is the “lottery ticket” that’s worth submitting to the pool for verification. -
₿ (91684131) stratum_api: tx: {"id": 28880, "method": "mining.submit", "params": ["<user>", "680a3c28000010d1", "0700000000000000", "680c369d", "a24b061c", "06234000"]}
– Right after finding the share, the miner sends a mining.submit message to the pool. This log line is the JSON data of that submission. It includes your username (or wallet address) and all the pieces the pool needs to verify the share: the job ID, extranonce2, nTime, the Nonce, and the version/nbits. For example,"a24b061c"
in the params is the nonce (matching what the log reported above, just lowercase). In short, this line confirms the share is being submitted to the pool for credit.
If the share is valid, the pool will respond with a result indicating success. In many logs, you might see something like "result": true
in a returned message, meaning the pool accepted the share. The Bitaxe log might not explicitly say “Share accepted!” in plain text, but a true result or lack of error implies the share was good. (If a share is stale or invalid, the pool would respond with an error or "result": false
, which would also show up, but that’s uncommon if everything is configured correctly.)
What this means: A share submission is a positive sign – it means your miner is working and contributing valid work to the pool. For a beginner, the key takeaways are:
-
“diff X of Y” – Whenever the log prints an
asic_result
with a difficulty, compare the two numbers. If the first is larger than the second, a share was found. If it’s smaller, that attempt wasn’t a share (which is normal and happens countless times per minute). -
mining.submit – This log entry shows the miner actually sending the share to the pool. If you see these, it means your miner is successfully submitting work. Each submitted share is like one more lottery ticket handed to the pool – the more you submit (and the higher their diff), the more credit you earn in the pool’s reward system.
-
Pool acceptance – You might not always catch a
"result": true
in the logs, but you can check your pool dashboard to see if the share count went up. In solo mining, an accepted share just means proof of work done (you only “win” if a share happens to meet network difficulty – extremely rare). In pool mining, accepted shares accumulate toward your payouts.
In summary, the share submission section of the log is your miner saying, “I found something that meets the target! Here it is, pool!” It’s one of the most rewarding parts of the log to see as a new miner.
5. ASIC Job Activity
Between share submissions and new jobs, the Bitaxe log will be filled with lines showing the ASIC’s ongoing work. This is the continuous cycle of the miner: getting a job, hashing through nonces, and (usually) not finding anything until luck strikes. These log lines help you monitor that the miner is actually hashing and how close it’s getting to the target on each attempt. Let’s break down an example sequence:
-
Job start:
₿ (91681551) bm1368Module: Job ID: 18, Core: 4/14, Ver: 0519C000
– This indicates the ASIC has begun working on Job ID 18 (which corresponds to a particular mining.notify from the pool). The “Core: 4/14” part suggests the work is being done on a certain section of the ASIC (Bitmain chips have many cores doing work in parallel; here it might mean core 4 of 14, or some internal mapping of work units). The “Ver: 0519C000” is a piece of the block header (the version field) being used for this job. As a user, you don’t need to decode that – it’s mainly useful for developers – but it ties the next result to this job.-
₿ (91681551) asic_result: Ver: 2519C000 Nonce 3BD31708 diff 2828.6 of 3184.
– This is the outcome from that core’s work on Job 18. It tried a nonce (3BD31708
) and got a hash with difficulty 2828.6. The pool difficulty was 3184, so 2828.6 is below the target. That means this nonce was not a valid share (it wasn’t “good enough”). The log prints these results continuously. Don’t be alarmed by the fact it’s below target – miners will produce thousands of results that aren’t shares for every one that is. The important thing is that these lines show the miner is actively hashing. The number “diff 2828.6 of 3184” gives you an idea of how close that attempt was; in this case it was about 88% of the required difficulty.
-
-
Another attempt:
₿ (91681571) bm1368Module: Job ID: 18, Core: 48/11, Ver: 05776000
– Still on Job 18, another part of the ASIC (core 48 of 11 – the notation is a bit odd, but it’s likely just another internal thread) is reporting in with a new piece of work. It has a different version fragment now (05776000). This implies the miner is trying a different range of nonces or working on a different segment of the problem.-
₿ (91681581) asic_result: Ver: 25776000 Nonce FF310D60 diff 549.5 of 3184.
– Another result, with difficulty only 549.5, far below 3184. This nonce (FF310D60
) was a dud in terms of finding a share – its hash was nowhere near the target. You’ll see many low-difficulty results like this. They are completely normal and just indicate the miner is churning through possibilities. Low values like 500 or 100, etc., will appear frequently. Occasionally you’ll see one that’s a large percentage of the target (or even exceeding it, which becomes a share as discussed). It’s a bit like rolling a 100-sided die over and over – most rolls are somewhere in the middle, and you rarely hit 100.
-
-
Job change: When the pool sends a new job (new block or updated work), the Job ID in the log will change. For example, if you later see
Job ID: 30
instead of 18, that means a new mining.notify was received (perhaps a new block was found by someone, so the pool gave all miners a new job). The Bitaxe will then start logging results under the new Job ID. You might also see a line likeClean Jobs: clearing queue
around the time of a job switch, which just means it’s discarding any old work and focusing on the new job.
What this means: The ASIC job activity logs are the heartbeat of your miner. They are continuously printed to show that work is being done. Here’s how a beginner can use them:
-
Verify mining is active: If you see
asic_result
lines scrolling every second (or faster), the miner is hashing away. If these lines stop for a long time or you see nothing after the pool connection, something might be wrong (like the miner is idle or crashed). In normal operation, they keep coming non-stop. -
Gauge proximity: By glancing at the
diff X of Y
numbers, you can get a rough feel for how close or far your miner’s attempts are. Most will be much lower than the target. Once in a while you might see a result that’s, say, 90% of target (“diff 2900 of 3184” for example). That can be exciting but remember it’s still not a share until it crosses that threshold. It’s all random chance; a result of 100 or 200 is just as likely next even after a 2900. However, seeing a variety of values (big and small) indicates healthy, random hashing. -
Troubleshooting: If the log shows
asic_result
lines but you never see any above the target over many hours or days, it could mean the pool’s difficulty is set too high for your miner’s hashrate. For instance, if the target is 500000 and your miner’s typical results are in the low thousands, you might not submit shares often or at all. In that case, you’d use a pool with lower difficulty or a variable diff. The log gives you this insight directly by showing the numbers. -
Cores and technical info: You don’t need to deeply understand the “Core: X/Y” or “Ver: ______” parts to effectively use the logs. Just know they’re there to assist in low-level diagnostics. ASIC stands for Application-Specific Integrated Circuit, which is your mining chip – it has many cores doing computations in parallel. The log is essentially telling you which core found that particular hash result. All cores are working toward the same goal: find a nonce that yields a hash under the target.
In summary, the ASIC job activity logs are like a window into the miner’s brain. They show each “attempt” at guessing numbers. While 99.99% of those attempts fail to find a share (by design, mining is hard!), each line is proof that your Bitaxe is actively participating in the hunt for a valid block. By monitoring these lines, you can ensure your miner hasn’t gone idle and gauge its performance over time.
Glossary of Key Terms
-
ASIC (Application-Specific Integrated Circuit): A specialized chip designed for a specific task. In Bitcoin mining, an ASIC is a dedicated mining chip that performs SHA-256 hashing much faster and more efficiently than general-purpose CPUs or GPUs. Bitaxe devices use Bitcoin ASICs to achieve high hash rates with low power.
-
Nonce: Literally “number used once.” In mining, a nonce is a 32-bit number that miners repeatedly change in the block header to produce different hashes. By incrementing the nonce and hashing each time, the miner searches for a hash that meets the difficulty target. The nonce is the only part of the block header that varies in these attempts, so it’s essentially the miner’s lever for finding a valid solution.
-
Difficulty: A measure of how hard it is to find a valid hash for a block. The Bitcoin network sets a network difficulty that adjusts roughly every two weeks, aiming to keep blocks coming about every 10 minutes. Mining pools often use a lower share difficulty as well, which is an easier target so miners can find and submit shares more frequently. For example, a pool might set share difficulty to 1,024 while the network difficulty is trillions. Shares don’t change the network, but they track miners’ work.
-
Share: A potential block solution that meets the pool’s share difficulty but not necessarily the full network difficulty. Think of it as a partial win or a lottery ticket. Shares are used by pools to measure how much work each miner is contributing. When your Bitaxe finds a share, it submits it to the pool; if it’s accepted, it counts toward your contribution. Finding a share is not the same as finding a block – it’s much more common. Only a share that also meets the extremely high network difficulty would actually be a full block (jackpot!). Shares are valuable in pooled mining because they’re how you get credit (and eventually, payouts) for your work.
-
Stratum: A network protocol for mining that connects miners to pools. Stratum is lightweight and keeps communication efficient. Through Stratum, the pool sends jobs (block templates and target info) to the miner, and the miner sends back results (shares) to the pool. It replaced older protocols by minimizing bandwidth and latency. In the log, you see Stratum messages like
mining.subscribe
,mining.notify
, andmining.submit
– all of these are part of the Stratum protocol’s way of coordinating the mining process between your Bitaxe and the pool.
By Understanding the Bitaxe Mining Log, you’re well on your way to mastering your Bitaxe miner. The log might seem like a firehose of data at first, but now you can read it like a story: from the miner waking up, tuning itself, talking to the pool, and steadily working on finding that golden nonce!