RaspberryPi mod

Hi all,

I’ve been working on this project on and off for a long time now; Constantly changing directions. Basically, i’m working on replacing the control panel with a Raspberry Pi that allows you to control the bullet (Both via touch screen and Xbox controller), display graphs and store/send roast profiles to Roast World. I’ve designed some 3D models to allow the RaspberryPi case to fit on top of the existing control panel for easy detachment in case of RPi failure.

I’ve developed a C++ library for core Bullet control and the graphical application (under development) is also C++ based on the TouchGFX graphics library (Designer for Cortex-M originally).

There’s good potential for further mods that can be connected to the Pi and added to the graphical application. E.g. i’m thinking some kind of mechanical stirring of the beans as we see in larger roasters.

Here’s a short video of the start up screen - Features are limited right now because I’m working on integrating the new C++ library instead of the Python ZeroMQ server that ran previously which allowed me to control any number of Bullets in the same room and run identical profiles on each.

It’s been lonely, so i just wanted to share :slight_smile:

Best regards,
Martin

12 Likes

Well done on your Genesis device Martin, or should that be the M5 (based on your avatar!).

I have a few Pi sitting on a shelf and even a touch screen, and a 3D printer so if you’d like to be less lonely (I don’t pretend to code though) please continue to share (unless you plan to KickStarter all this and it’s all commercial NDA hush hush).

Khaaaan!

1 Like

Very cool! I also have Pi’s around and a couple of touch screens, and while I don’t have a lot of spare time right now I am an experienced programmer (many languages) so if you’re looking to share I would be interested too.
Will

1 Like

Hi Stuart!

Thanks! For now i’m definitely just looking to share things internally with the community. I really appreciate your offer to get involved and i promise you that i’ll provide a guide to getting your pi set up to talk to the Bullet. I’ll provide a small test-application we can use to verify that everything is working as expected: Sets preheat, runs through all roaster states while controling power, Drum and Fan, blinks the display and uses the speaker. I haven’t figured out how to do back-to-back roasts … yet.

Let me know when you want to get started! :slight_smile:

Thanks a ton!
/Martin

Hi Will!

Thank you also for your offer to help! I’d looove to have some help with testing. The main reason for using that Raspberry Pi platform is that i expected a lot to have one. Initially you do not need a touch screen to test the bullet library i’ve created. It will just output information to the console.

Let me know when you want to start up and i’ll start writing a short guide on how to prepare the Pi for initial Bullet communication.

Thanks!

/Martin

1 Like

Let me leave a few initial steps here that you can try out on your raspberry pi when you have time (I just run Raspbian on mine so we’ll use apt-get to retrieve packages) :

Build and install libusb-1.0. The reason we’re building from source instead of using apt-get is simply that this is what i’ve done - To eliminate any issues due to discrepancy : I’m just going by memory here so let me know if you experience any issues:

  1. sudo apt-get install git
  2. git clone GitHub - libusb/libusb: A cross-platform library to access USB devices
  3. cd libusb
  4. ./autogen.sh (You may also need to apt-get install automake and autoconf)
  5. ./configure
  6. make && make install

You should now have the libray installed in /usr/lib/libusb-1.0 and /usr/include/libusb-1.0/

2 Likes

@stuartmcknight, you just gave me the idea to do an LCARS inspired interface. Maybe it’ll be too clunky - I’ll give it a shot!

Would be awesome if I could replace the audio. “Roast has started” = “Engage!”

1 Like

Sunday morning scribblings. Just thinking about test application design (no graphs). May finish roast profile integration so you can use it for real roasts. Then just transfer roast profiles from pi via scp and upload to roast world.

Preheat screen with 1 degree adjustments able to send the proper preheat command. Next step is making the application more aware of the various states of the Bullet to support a standard roast flow.

Think i’ll call it a day - Added preheat state with drum and bean temp sensor readings. It also supports “Regulation” (The point where the Drum temp has been reached but the bean temp is lagging far behind) - And “Charge…”, but you can’t simulate those (by skipping states with PRS) so it’s not shown in this video:

I guess anything is possible here. I’m a shit designer/artist so if anyone wants to help with that :slight_smile:

1 Like

Here’s the test roast screen that can control Power, Fan and Drum. It also shows ROR, DT, BT, roast time. In the video i’ll switch focus to the bullet at some poiunt and you’ll see me controlling P,F,D using the pi. Next up is saving data to a profile and exporting it to RoastTime. And then graphs.

Trying to enlist some skilled graphics artists/designers :slight_smile:

Is this project still ongoing? Also, do you need a designer still?

2 Likes

I’m definitely interested to see where this is now too. If I tried doing this, it would just be a dry erase board taped to the control panel

bump for update

It’s 2023, anyone home?

1 Like

Hi,

I wasn’t able to find someone to help with the design, so I let it simmer for a while and then I never picked it back up. I’ve tried setting some people up with the Pi, but it’s turned out to be difficult to “package” as a product because you need to hook up the 7" display, etc, etc.

I’m not sure how viable it is. I think I’ll pick up work on it again soon. I’ll keep this thread updated. I definitely need to keep things simple - The graphics framework I used is not easy to code in or maintain if someone else was to help.

/Martin

4 Likes

Have you though about using ChatGPT? I’ve seen it do amazing things, and it’s capable of coding now.

I’m not sure it’s capable of more complicated/convoluted tasks since it’s not a well known framework, but I could give it a shot :slight_smile:

1 Like

I’m no programmer, but talking to my buddy who is, he says the best way to use it for programming is to break up the task into workable pieces. I.e. not asking it to write a script to control a bullet from a Pi, but to create a startup script, then integrate a screen, then Bluetooth, etc etc.

1 Like

It seems this project may have died out based on inactivity, but couldn’t the graphics issue be solved by just running the interface through a web application served up on the Pi? Lots of people can code for web applications as compared to some esoteric graphical framework. This is a very interesting project. Would love to see where it can go.

1 Like