This tutorial uses
vi to edit files this can be replaced with
nano or some other text editor.
Step 1: Connect the PiTFT to the Pi
You can connect the PiTFT before you start any of the other steps.
Step 2: Install and Configure OctoPrint
Follow the instructions form the OctoPrint website https://octoprint.org/download/
Step 3: Install Raspbian Desktop
Step 4: Install Dependencies
sudo apt-get install xinit
sudo apt-get install x11-xserver-utils
sudo apt-get install xserver-xorg-input-evdev
Step 5: Move 40-libinput.conf
sudo mv /usr/share/X11/xorg.conf.d/40-libinput.conf ~/
Step 6: Install PiTFT Drivers
Use the Easy Install method that Adafruit supplies
We’ve created a custom kernel package based of off Notro’s awesome framebuffer work, so you can install it over your existing Raspbian (or derivative) images in just a few commands. Our tutorial shows you how to install the software, as well as calibrate the touchscreen, display images such as from your PiCam and more!Adafruit
chmod +x adafruit-pitft.sh
- For the 3.5″ PiTFT select #4
- If you want the HDMI port on top like I do select #3
Would you like the console to appear on the PiTFT display?No
Would you like the HDMI display to mirror to the PiTFT display?Yes
Step 7: Uninstall Lightdm window manager
sudo dpkg -r --force-depends lightdm
Step 8: Install OctoPi-TFT
sudo dpkg -i octoprint-tft_stretch_1.1.git91fa718-1_armhf.deb
Step 9: Edit OctoPi-TFT Configuration File
Edit you configuration file.
sudo vi /etc/octoprint-tft-environment
This is what mine looks like. You will need to change the
OCTOPRINT_APIKEY to match yours. It can be found on the settings page in OctoPrint. I also removed the comments from here so it is easier to read.
Step 10: Reboot & Test
Step 11: Check /boot/config.txt
You can disregard this step if everything is working as expected. My display resolution wasn’t correct so I had to change the last line of the
/boot/config.txt file from
hdmi_cvt=720 480 60 1 0 0 0 to
hdmi_cvt=480 320 60 1 0 0 0.
sudo vi /boot/config.txt
I used these resources to put together this tutorial.
I have been doing audio editing for side project at work. These are long form audio recordings of an hour or more. I am using Adobe Audition to do my editing. After doing several of these, I noticed that I use two main functions frequently.
- ‘Ripple Cut’ -> ‘ Time Selection in All Tracks’
The ripple cut function either used a significant number of mouse clicks or keyboard shortcuts that required both hands. There are probably a few different potential solutions to this problem. I could have changed the keyboard shortcuts to something else, but I wanted this to be easy to use and I wanted to be able to use it on any computer.
I recently completed a project using that used the PyPortal to send keyboard commands to my computer to open applications. Also, I had purchased an Adafruit Trinket M0 recently and wanted to build a project with it, so I decided to build a mini keyboard that only had a few buttons.
- Adafruit Trinket M0
- Cherry MX1A-11NW – Pushbutton Switch
- G20 1.25 Space – Cherry MX Keys (next time I would go with G20 1 Space)
- Extra Long Durable Charging Cord (with data)
I modified the the Trinket IO Demo code. I removed some stuff that I didn’t need and had to make sure that holding down a key was treated the exact same as a single key press.
The first button is used for play/pause, the second button is used to do the ripple cut and the third button is used to do the silencing. This tool has made it so much easier to edit audio content.
Update – 18 Apirl 201
If you liked this, check out this much more detailed project by Glen Akins (@bikerglen)
I built a single ESC key keyboard for all those people with touchbar Macs. https://t.co/Shy225mIRY— Glen Akins (@bikerglen) April 18, 2019
I recently purchased a Creality Ender 3 3D printer. I bought this for several reasons:
- It is very affordable at $229 on Amazon.
- It had a lot of good reviews
- Is the Most Popular 3D Printer of Spring 2019
- There are lots of upgrades/mods for this printer
My interest was peaked when I saw the Raspberry Pi upgrade option under the possible upgrades/mods you could do to the Ender 3.
Let’s face it, we can’t be around to supervise our 3D printer 100 percent of the time. That’s why OctoPrint has become the standard for makers who want to monitor and control their 3D printer remotely. To run this terrific web interface, you need to purchase a Raspberry Pi board.
35 Must-Have Creality Ender 3 (Pro) Upgrades & Mods in 2019.
OctoPrint will allow you to control and observe your Creality Ender 3 from within a web browser. It’s 100 percent open source, which has led to a plethora of unique plugins created by the vast community. On the browser, you can watch prints through an embedded webcam feed, control print temperatures, obtain feedback on current print status, and even start and pause your printer no matter where you are.
I had an extra Raspberry Pi laying around and decided to give it a shot. The software that runs on the Pi is called OctoPrint. Installation and configuration is very straight forward and there are lots of help documents and tutorial videos. I am not going to get into any of the setup in this post, but below is the video that I found most helpful.
First Print with OctoPrint
I am currently using a simple USB webcam for the OctoPi. I want to upgrade it to use a mounted Raspberry Pi camera so that it follows the printer head. The video below is a time lapse that was captured using OctoPrint of the mount and case for the Pi camera being 3D printed.
PyPortal is a microcontroller that can be programmed using CircuitPython. It has a touchscreen and can be used as a emulate a keyboard and mouse. For this project, we will create a touchscreen with icons that will allow us to launch applications when pressed.
- Design: discussions how the touchscreen image and layout are created.
- Shortcuts: Create Keyboard Shortcuts to Launch Applications in macOS ( Windows)
- Code: CircuitPython code to be added to you PyPortal
The code and design files can be found on Github.
The PyPortal initializes rendering a background image that is .BMP (bitmap image). So I created a template background image that I could insert icons into using Adobe Illustrator. Using this file, I copied and pasted my icons on to the location I wanted and then deleted the while squares underneath.
In order to detect button presses we need to know the boundaries for each icon. The image below shows the pixel length to each border.
Columns are organized from left to right, from A to D. Rows are organized from top to bottom, from 1 to 3. Please see the below table.
We need to know this information in order to determine if an icon is pressed. A touch event returns an (x,y) point with (0,0) being the top left corner. All icons in column B can only be pressed if the x of the touch event is between 97.5 and 147.5. Likewise, all icons in row 1 can only be pressed if the y of the touch event is between 100 and 150. Therefore, if the touch event returns (100,130), then the icon located at B2 has been pressed.
The easiest way to launch applications using CircuitPython is by sending keyboard commands to your computer. In order to accomplish this on a macOS we need to create these keyboard shortcuts. This is fairly trivial on windows.
- Launch Automator on your mac
- Create a new “Quick Action”
- File -> New -> “Quick Action” -> Choose
- Under actions search for “Launch Application”
- Drag “Launch Application” into the window
- From the drop down list select the application that you want to open
- Switch the “Workflow Receives” drop down to “no input”
- Save your quick action
- Either CONTROL+S or File -> Save
- Close Automator
- Create the keyboard shortcut to activate the “Quick Action” you created
- Go to Settings -> Keyboard
- Click on the Shortcuts tab
- Select Services
- Scroll to the General section near the bottom.
- Highlight the “Quick Action” you created and click the Add Shortcut button.
- Press the keyboard keys that you want to set the shortcut to.
- I used “ALT+CONTROL+SHIFT+COMMAND+[FIRST LETTER OF APP]” for each of my shortcuts. I did this because I knew there would be no other shortcuts using this combination.
The code has comments throughout and they should explain everything. If you have questions please feel free to email me or DM me on twitter. You will need to copy the below code as code.py in the root of your PyPortal as well as you BMP icon file. Please update the below code with your keyboard shortcuts and the name of your BMP icon file.
Update: Check out this Instructable –Legend of Zelda Bartop Arcade Cabinet
In an old episode on Hak5, Wess Tobler (@Dankiswess) did segment on making a MAME bar top arcade cabinet. This segment inspired me to make my own MAME (Multiple Arcade Machine Emulator) arcade cabinet, so I began doing research on different MAME cabinet designs. Bartop Arcade had many different designs and templates for bar top arcades. Below is the design and template that I based my MAME cabinet off of.
Items need for the build phase:
- 1 – 4’x8’x5/8″ MDF sheet
- Box of screws
- LCD Monitor (I used a 19″ LCD that I had lying around)
- Two Player Complete Do It Yourself Arcade Kit from X-Arcade
- A computer (I choose to use my existing Windows 7 tower)
- Table saw
- Drill with a 1 1/2″ drill bit.
For the build phase I used the template that I found from Bartop Arcade and cut out each piece. I decided against having a slide out drawer, so I had to make some slight modifications. Below is a picture of the cabinet about 90% into the build phase.
After cutting and assembling the exterior of the cabinet, I had to wire all the buttons. Once that was done it was onto the software configuration.
Not only was Hyperspin a superior looking front-end, it would allow me to run many different emulators including a NES and SNES emulator. Hyperspin does most of its configuration through GUIs and XML files. Below is a image of the cabinet 90% complete running PAC-MAN.
Hyperspin also allowed for configuring other applications to open from within it. I configured it to run Aussie Juke as one of the emulators. Also, after reading a comment by Moonlit on episode five of TheNewTech.tv, I decided to modify the registry entry for explorer.exe to boot to Hyperspin.
There are several things I have to do to complete this project. First, I need to finish the marquee. The marquee will end up being a Cylon eye covered by a tinted plexiglass. Second, I need to mount the PC hardware inside the cabinet.