How to create file to flash to core

I received notice that my Spark BrewPi will arrive tomorrow. I already have a Spark Core and need to upload latest code to it. I did this back in January, but now having some issues with getting the Make command to work. What directory do I run Make from, or better yet, can I just download a compiled file? I have tried running Make from Brewpi/firmware/platform/spark and Brewpi/spark-fimware/build and I keep getting errors such as no such file or directory. I have all the core and all of the BrewPi folders cloned into c:/Brewpi.

You can download the latest compiled binary from

But to address your specific build problem: I just reviewed the and noticed that it didn’t mention about switching to specific branches. Please pull the brewpi/firmware repo, check out the “develop” branch and see the info on branches in the readme! That should get you up and running :slight_smile: let me know how it goes!

That’s where I hit the wall. I followed the directions from another thread about compiling issues, but I get this error when I try to switch when I get to here “git checkout feature/hal”. Error: pathspec ‘feature/hal’ did not match any files known to git.

It sounds like you didn’t fully clone the repo? Try running git fetch --all in the spark-firmware directory and then retry the checkout feature/hal.

No luck there either. It returns “Fetching origin” “Fetching spark”, but I get the same error when try to check out feature/hal

It you type git branch from the spark-firmware directory what do you see? Also git remote -v

*master for first, then origin fetch
origin push
spark fetch
spark push

master for first, then origin fetch

Might be a typo Assuming should be BrewPi not BrePi ?

yes, typo.Should be BrewPi

can you confirm you’ve ran git fetch -all? And also please check your git version and upgrade if it’s older than 1.9.x.

The answers here talk about how to check out remote branches -

If you just want to flash our pre-compiled binary to your virgin core, it might be easier to use the spark cloud api:

Scroll down all the way to the bottom:

Please not that we compile our code without cloud support, so you cannot flash via the cloud once our binary is flashed. However, you should be able to boot into recovery mode (by holding mode for 10 seconds) and then flash via the cloud.

I just downloaded the file and flashed through a prompt. Seems to be working now, other than a temperature display bug (v 0.2.7). Does not display same temp on the web as the touchscreen. Probably a conversion issue.

How big is the difference?
The temp on the web interface is filtered, the temp on the hardware test screen is read from the sensor directly.

Both temps on the touchscreen read 73.3 F, and on the web:76.9 and 85.6. I switched out to other temp sensors and they came back with even different temps on the web, even though at 73.3 on the touchscreen.

It seems to have something to do with the device slot it is assigned to.

I think this is the same thing I was running into. On the touch screen all my sensors were not in the order that you would think they are plugged in from left to right. So I check the numbers and double check the UI to what i was assigning them too. Or Maybe its a different. But I had to unplug them and then plug them back in and reassign them and it worked.

Ah, I can see why this is confusing, the device config UI needs work. Device slot should be hidden and handled automatically.

  • The 4 ports on the controller are connected in parallel. There is no order, they are all on the same bus. The devices are shown in the order in which they are discovered, which depends on their onewire address if multiple are discovered in the same search. Sensors are identified by address, not where you plug them in.

  • Device slot is just a location to store the device. It has nothing to do with hardware, it just has to be unique.

Notice the values on the maintenance panel compared to web readout. Maintenance panel agrees with touchscreen.

Are you running 0.2.6 or 0.2.7?

That the time is printed over Temp Control OFF is a bug, but I don’t know why yet. It might be a result of unreliable serial communication in version 0.2.6. The same unreliable communication might be responsible for the web page LCD not updating or receiving incorrect values?

The temperatures in your web interface are read from installed devices. Detected devices are not installed devices. Can you try removing your installed devices, by setting their function to none and clicking apply?

The temperatures on the LCD should show --.-

Then you can refresh the list and install the detected devices again.
But make sure you are running 0.2.7. The script reports the version when it starts.

0.2.7. It would not update to --.- when checking “none” and clicking apply. I unplugged it and it reset automatically and then showed --.-. It even went back to C when it was in F before I unplugged. It has something to do with the device slot. I can get a different temp displayed from slot 0 and slot 2, by about 3 degrees F on the same temp probe. Maybe it is applying some conversion factor through the update that is causing the different display variances.