Archive

Posts Tagged ‘firmware’

Tevo Tarantula 3D Printer’s Large Dual Extruder Auto Bed Level Sensor Firmware Upgrade

July 17th, 2017 No comments

What a title. Just a quick update on the Tevo I am reviewing. I didn’t want to upgrade the firmware, but I read so many posts on Facebook about it I took the plunge. I didn’t like was the firmware that came with it. It only did a 3 point level, and seemed to go outside the build plate dimensions. The first 2 printers I have reviewed were Marlin, so it was what I am most familiar with.

I used Jim Brown’s Marlin fork as a base. It was missing dual extruder and auto level sensor in the pre-configured profiles. It took a while, but I was able to add the extra features. The auto bed level sensor connects to where the normal Z end stop sensor is connected. I would like to warn you to warm your bed for 5 minutes for the best reproducible results. I tested several times from cold to hot, and can see variances. After it is warm, it does well and only varies in the thousands of a mm. I also found out I made and dumb mistake, and I never set the power supply to my country’s proper voltage. It was messing everything up including the auto level.

Testing the auto level as it warms up. You can see variances and the metal expands.

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.340 +0.292 +0.317 +0.380
Recv: 1 +0.418 +0.342 +0.338 +0.392
Recv: 2 +0.494 +0.408 +0.381 +0.396
Recv: 3 +0.545 +0.457 +0.442 +0.499

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.307 +0.277 +0.308 +0.379
Recv: 1 +0.392 +0.327 +0.336 +0.372
Recv: 2 +0.492 +0.390 +0.367 +0.391
Recv: 3 +0.519 +0.447 +0.446 +0.488

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.302 +0.254 +0.298 +0.367
Recv: 1 +0.369 +0.313 +0.321 +0.369
Recv: 2 +0.459 +0.376 +0.348 +0.380
Recv: 3 +0.492 +0.431 +0.424 +0.473

Here you can see after letting it warm up they are relatively consistent.

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.019 -0.302 -0.492 -0.598
Recv: 1 +0.108 -0.259 -0.490 -0.618
Recv: 2 +0.186 -0.202 -0.468 -0.625
Recv: 3 +0.221 -0.171 -0.444 -0.606

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.013 -0.302 -0.488 -0.591
Recv: 1 +0.097 -0.261 -0.488 -0.615
Recv: 2 +0.173 -0.206 -0.466 -0.614
Recv: 3 +0.205 -0.177 -0.442 -0.601

Recv: Bilinear Leveling Grid:
Recv: 0 1 2 3
Recv: 0 +0.004 -0.299 -0.483 -0.576
Recv: 1 +0.094 -0.255 -0.490 -0.615
Recv: 2 +0.163 -0.210 -0.466 -0.612
Recv: 3 +0.190 -0.186 -0.445 -0.600

This is a 16 point level so it takes a little bit of time but I think it is worth it.

To help with setting your sensor height you may want to look here. But in retrospect it might not be necessary. Set your sensor height just barely above the nozzle height and adjust with the Z offset in the menu’s. First initialize your EEPROM under Control at the bottom. Then go to Control -> Motion Z-offset. A negative number brings the head down and positive up. Print a small cube see how much closer to the bed you need to be. Adjust the offset until you get a good distance. Then store with Control -> Store Settings to lock it in.

I tested movement in X, Y, and Z directions, and they were spot on as well as the extruders. I homed then did a 100mm move and checked with my caliper. This was done in all directions. For the extruder I disconnected the bowden tube, then heated up the hotend due to protection then extruded 100mm of filament.

Here are the 2 separate files. Full is full Arduino 1.6.8 portable setup and ready. Pretty much run it, connect printer and upload. The second is just the configuration files. If you need the configuration I assume a write up is not necessary.

  1. Full
  2. Only Configuration

First connect your printer to your PC, and let Windows find the drivers. In device manager you should see it show up under comm ports. The first time I plugged it in I had to right click and tell windows to update the drivers. It went to the web, and found and updated them. Next, start Arduino then navigate to the Marlin directory, then open Marlin.ino. Ensure you have the correct board, processor, and port selected, then press the arrow pointing to the right to upload.

Once uploaded add G28 to home then G29 in your slicer.

You’ll find the first part of review in “2017 Tevo Tarantula Dual Extruder 3D Printer Review – Part 1: Assembly and First Prints” post..

I would like to thank Gearbest for sending this printer. If you are interested, you can purchase it on their store for $418.59 includding worldwide shipping. If you use TEVODUAL coupon, price will go down to $349.99. Note that there are various models of Tevo Tarantula with 200×200 or 200×280 (large) beds, single or dual extruder, with or without auto-leveling, and the one reviewed here is the higher end model with all a large bed, dual extruder for bi-color prints, auto-leveling, and flexible filament.

How to Use Octoprint on Orange Pi Lite Board, Amlogic S905X and S912 TV Boxes

July 11th, 2017 7 comments

Karl here. This was article originally going to be how to setup Octoprint 3D printer server on an Orange Pi Lite. But after looking and running through the instructions it seemed like it would be too much so I created an img to simplify things. I also explored running Octoprint on an Amlogic S905x or S912 device and it turned out to be an even better solution. You get a case, power supply, and eMMC flash storage.

What is Octoprint?

I use Octoprint mainly for its ability to start and stop prints without having to use an sd card. Time lapse is also a nice feature. And one last thing is that I setup a pushbullet notification when it is complete. For a full list of features check out http://octoprint.org/.

What is needed?

Orange Pi Lite Kit – Click to Enlarge

Octoprint Setup

Common Instructions

  • Download Orange Pi Lite img from here and Amlogic img from here.
  • Burn to your micro SD card with Win32DiskImager, dd, or Etcher..

Credentials

Login: root password: octoprint
Login: cnx password: cnx

Hostname

Orange Pi Lite: orangeocto.local
Amlogic: amlogicocto.local

Amlogic Instructions

  1. Boot and find the update app
  2. Click Select
  3. Choose the aml_autoscript.zip
  4. Click Update
  5. Then Update again
  6. Once it boots log in with root and run “sudo /root/install.sh”
  7. Now we need to see if WiFi is working. Run “nmtui”. This should be self explanatory, and if you see your access point stop. Don’t bother to connect. Exit run “shutdown” wait for it shutdown, remove the SD card, and pull the power and power back on. You can skip the next few steps in this section.
  8. If you did not see your access point exit out of “nmtui” and run the command “sudo modprobe wifi_dummy” repeat looking for access point in step 7.
  9. If you still don’t see your access point run the command “sudo modprobe dhd” repeat looking for the access point in step 7.
  10. If you have to modprobe either to get wifi working once you boot from the internal storage log in with root and run the command “sudo nano /etc/rc.local” and add your “sudo modprobe xxxxxx“ command before exit 0. Cntrl X then y then enter to exit nano and save. Reboot and continue.

Orange Pi Lite Instructions

  1. Connect a keyboard and connect to a monitor or tv
  2. Login with root
  3. Run the command “sudo cfdisk /dev/mmcblk0”
  4. Delete /dev/mmcblk0p1 with the arrow keys
  5. Make a new one and it should fill in the full size of your sd card.
  6. Then finally write. It will prompt you are you sure and type out yes.
  7. Arrow over to quit and enter.
  8. Reboot with the command “sudo reboot” and wait for the Orange Pi to reboot.
  9. Log back in with root and run the command “sudo resize2fs /dev/mmcblk0p1
  10. Reboot again with the command “sudo reboot” and wait for the Orange Pi to reboot.

Remaining Octoprint detup instructions common to all devices

  1. Log back in and run the command “nmtui” to connect to your network. This should be self explanatory. After connecting to wifi if you choose to set a static IP address quit and go back in to nmtui and edit the connection to set the IP address. When setting the IP address suffix the IP address with a /24 to denote a 255.255.255.0 subnet mask
  2. Finally quit and run the command “shutdown” and wait for it to turn off.
  3. Move the Octoprint server and connect to your printer.
  4. To log in open your browser and navigate to http://x.x.x.x:5000 or orangeocto.local:5000 or amlogicocto.local:5000.
  5. Run through the setup it is self explanatory and in settings add /home/pi/OctoPrint/ as your git update path.

Notes

I really recommend setting static IP addresses through your router if it has the ability. Or you can use the .local address above if you have zeroconf/avahi on your machines .

I also recommend the Amlogic server. You get a board, enclosure, power supply, and eMMC flash to run off of. You still need an SD card to get started, but it is not permanent. I ran into trouble on Orange Pi Lite, but it does work. I think the Orange Pi Lite board I received is flakey.

You have a lot of headroom on these to provide other services, e.g.. home automation, media server with no transcoding, NAS, Minecraft server, or anything else that runs on Linux.

Big thanks to balbes for making Linux work,  Jean-Luc, and Armbian forum members who tested Orange Pi Lite version.

Tested on

  • X96 1/8 S905X with wifi dummy
  • X96 2/16 S905X with wifi dummy
  • Tanix TX 5 Pro S905X with dhd
  • Yoka KB2 S912 with wifi dummy

It looks like Realtek (RTLxxxx) WiFi chips need the wifi dummy, and Ampak (apxxxx) chips need the dhd.

Cura

Cura 2.6 came out just just recently with the ability to connect directly to Octoprint. It is really cool feature.

To setup login to octoprint and grab API key.

Then open Cura 2.6 and go to manage printers. Highlight printer and press Connect Octoprint.

Add an Octoprint instance, set preferences, and input API key.

Now you can start prints directly from Cura and monitor prints.

Click to Enlarge

I would really like to thank Gearbest for sending the Orange Pi Lite board, power supply, and SD card, as well as Amlogic boxes and 3D printers from previous reviews. If you decide to do this project yourself, please think about ordering from Gearbest through our links. It helps us out to continue to experiment with different hardware and provide these articles.

Sonoff B1 is an $18 Hackable WiFi RGB LED E27 Light Bulb based on ESP8285 WiSoC

July 4th, 2017 6 comments

Earlier this year, I wrote about an ESP8266 based RGB LED “AI Light” lightbulb that was hacked to run ESPurna open source firmware. That’s all good, except some people tried to get one, and ended with a different hardware. So if you’d like something that’s more of a “sure thing”, ITEAD Studio has designed Sonoff B1 dimmable RGB LED E27 light bulb based on ESP8285 processor, and with a “4 pads” to allow for custom firmware flashing.

Sonoff B1 hardware specifications:

  • Typical Lumen Output – 600lm
  • Beam Angle – 120 degrees typ.
  • Color Temperature –  2800K-6500K & RGB full color
  • Connectivity – WiFi 802.11 b/g/n @ 2.4GHz
  • Power Supply – 90-260V AC 50/60Hz via E27 base
  • Power Consumption – Light off: 0.5W Max; rated power: 6W
  • Temperature Range – Operating: 0ºC~ 40ºC; storage: -20ºC~ 80ºC
  • Operating Humidity – 5%-90% RH

Sonoff B1 with stock firmware can be controlled using the usual eWelink Android / iOS app to turn the light on and off, define timers, select the color, and/or dim the light. The aopp also supports 4 scenes for resting, reading, partying and casual use that you can customize as you wish. The LED bulb is also compatible with Amazon Alexa, and Google Assistant services so you can use voice commands to control the light instead. Bear in mind that you may need to wait a little longer to get custom firmware working for it, unless you are willing to get your hands dirty. But this looks so similar to “AI Light”, that I’d expect a port not to be too difficult.

You can purchase Sonoff B1 light bulb for $18 + shipping on ITEAD Studio website.

H3Droid Android Firmware is Designed for Allwinner H3 Boards & Devices

June 30th, 2017 3 comments

Allwinner H3 boards such as Orange Pi PC and NanoPi NEO are mostly interesting due to their ability to run Linux and control I/Os, and while they also support Android, most people wanting to run Android are better served with TV boxes instead, as they come with enclosure, power supply, HDMI cable, and an IR remote control. That does not mean there’s no use case for Android on development boards, and that’s why probably KotCzarny, and other developers, have decided to work on H3Droid project to provide better Android images for Allwinner H3 boards and devices than the firmware released by manufacturers.

Some of the improvements include “sane DRAM/CPU settings”, support for Custom recovery system, Google Play Store and more USB network adapters, as well as the removal of apps and feature unusable for people outside out China. You’ll also be able to access the board via SSH if you add your public key to the image. You’ll need a Linux computer (or board) to install the image, as it relies on an installer and there are a few steps to complete the installation on the SD card:

  1. Download image from one of the mirrors
  2. Extract the tar file (tar -xf filename.tar) in a folder with enough space to hold the contents (~450MB)
  3. Update 00_conf file to set OUTDEV variable. It should contain either device or plain file path (ex: OUTDEV=/dev/mmcblkX or OUTDEV=/dev/sdX or OUTDEV=/some/path/to/somefile.img)
  4. Copy your PUBLIC SSH key(s) to the install folder (Optional, but required to have root access via SSH) (ex: cp /root/.ssh/my_key.pub ./)
  5. Execute 10_init_new_card.sh to write image to your SDCard or somefile.img (in case of a file, you can use it later with dd/etcher/winimager to write to real device)
  6. Note: run only 10.. script, other files are meant to be called from it in order. (for example 20.. prepares partitions.dat used in 30..)

[Update: A Windows installer called H3ii is now available]

The FAQ indicates that the image has been tested on Orange Pi PC, Orange Pi Plus 2E, Orange Pi PC Plus, and Orange Pi Lite, but it should also work on other Allwinner H3 boards as long as you change the FEX file (script.bin). Also note that the first boot may take a while, and H3droid is still considered beta with for example Bluetooth, and power off not working yet, and a few other bugs still lingering. If you try the image on your board, you can provided feedback on #H3droid IRC channel on Freenode, or via the website. There’s also a forum thread on Orange Pi forums.

Canonical Releases Ubuntu Core 16 for Raspberry Pi 3 Compute Module

June 29th, 2017 No comments

Now that Canonical has refocused its development efforts on Cloud and IoT, Ubuntu Core has become even more important for the company, which has just released Ubuntu Core 16 for the Raspberry Pi 3 Compute Module, which is better suited for industrial projects than Raspberry Pi boards, for example thanks to the more resilient built-in storage of CM3 module.

Ubuntu Core was already supported on Raspberry Pi 2 & 3, Intel Joule, DragonBoard 410c, Intel NUC, and Samsung Artik boards, as well as KVM to run Ubuntu Core in a virtual environment.

One of the advantages of running Ubuntu Core is the availability of snaps and branded app stores, making it easy to provide updates, and promote app for the platform. Screenly is one commercial project that will take advantage of Ubuntu Core on CM3 module for their digital signage applications. You’ll find instructions to get started with Ubuntu Core on Raspberry Pi 3 Compute Module on Ubuntu Developer website.

WeTek and Ugoos Release Android 6.0 Marshmallow Firmware for their Amlogic S905 TV Boxes

June 20th, 2017 7 comments

While there are many models of TV boxes on the market, there are only a few companies that will provide firmware updates over time for their products. Two of those companies are WeTek and Ugoos, both of which recently released Android 6.0 Marshmallow firmware for their Amlogic S905 TV boxes.

I actually reported about WeTek working on Android 6.0 for Hub TV box last year, but at the time it was still a beta version. The company has now released weOS 3.1 firmware with Android 6.0 for both WeTek Hub and WeTek Play 2 with the following changelog:

  • System
    • Kernel Fixes
    • Streaming apps in 4K
    • Improved Auto refresh rate system for Kodi
    • Improved DRM playback
  • Apps
    • Added Kodi 17.3, update
    • Updted Aptoide Store, Google Apps and File Manager
  • WeTV (Play 2 only)
    • Added XMLTV for Sat
    • PG Fixes for ATSC
    • Now allows ATSC-T and ATSC-C

Most people can get the updates via OTA, but in case you need to manually install weOS 3.1, the firmware can also be found in the forums. Note that you can’t go back to Android 5.1 after upgrading to Android 6.0.1.

WeTek was not the only company to announce an update to Android 6.0, as Ugoos has just released firmware v1.1.1 for their AM1 and AM2 models with the following changelog:

  • NEW
    • Android 6.0.1
    • Added support Kodi 17 function “Adjust display refresh rate”
    • Improved HDMI self-adaptation function (Settings -> Playback settings)
    • Added fractional frequencies for HDMI self-adaptation function
    • Added support HLS for HDMI self-adaptation function
    • Added video frames to screenshots
    • Added CPU watchdog
    • (for AM1) Added ability to power on from Ugoos orange remote controller
    • (for AM2) Added ability to power on/off
    • (for AM2) Added choice of actions for sleep timer and power key on RC (Display -> Daydream -> Power key action)
    • Added Debug Settings (Ugoos settings -> System -> Debug Settings)
    • New Ugoos update service
  • FIXES
    • Fixed support HDMI passthrough function in Kodi 17
    • Fixed cursor rotation
    • Fixed touch screens support
    • Other improvements

It’s unclear whether the Android 5.1 to Android 6.0 update is available via OTA, but the company did release firmware files for both TV boxes in the blog post.

Google’s Project Treble To Allow Easier & Faster Updates to a New Android Versions

May 13th, 2017 10 comments

If you’ve ever purchase a phone with Android X, you may have noticed it takes a long time to get an update to Android Y after Google officially release the latest version. The reason it takes so long, except on Google’s own hardware, is that the latest Android version needs to be update by the Silicon vendor, which then sends a BSP to manufacturers, who in turn brings their own tweaks, with in some cases telecom carriers involved in the last step, before delivering the update the end users.

This is normally a time-consuming and costly process for all parties involved. One of the reasons is that while the higher level app API is fairly stable, the Android framework (middleware) interface to the Vendor’s implementation may change greatly between different major Android versions. Google is aiming to fix that with Project Treble, starting with Android O, by providing a stable vendor interface between versions.

That means we get from the point where the silicon vendor and manufacturers need to adapt their implementation of the interface to the Android OS framework for each release to becoming able to reuse the implementation with no or few modifications for each releases thanks to Treble.

That could save months of work, and for smaller manufacturers could make the difference between providing an update to a new Android version, or providing none. Project Treble also involves a Vendor Test Suite (VTS), similar to the Compatibility Test Suite (CTS) for the app developer API, to ensure forward compatibility with the vendor implementation.

Since Treble has only started being implemented in Android O, end users will only be able to see the benefits with the update from Android O to Android P sometimes in 2018 or 2019 depending on the release schedule for their device.

How to Reinstall Android Firmware on Realtek RTD1295 TV Boxes

March 16th, 2017 16 comments

I started playing with Beelink SEA I TV box nearly two weeks ago, but I soon realized there was a big problem, while I could get an IP address with both Ethernet or WiFi, I could not access Internet, nor the local network with the box, and even ping would not work. So I contact Beelink to find a solution, and they believed I may have a problem with the firmware on my box, and recommended to re-flash it.

Great. I asked the firmware, and the company eventually provided me with two files:

Those are baidu link which may be slow to download outside of China, so the company also provided a mirror later. The customer representative told me those were “Lines brushes Pack” firmware, and after lots of email back and forth. I finally got proper instructions which should work for Beelink SEA I, but also other Realtek RTD1295 boxes such as Zidoo X9S or Eweat R9 Plus. Note that this method is only useful in case something really goes wrong, as the device normally support OTA firmware updates.

First you’ll need a Windows computer or laptop, and a USB male to USB male cable., before following the firmware recovery instructions they use at the factory.

  1. Download setup.exe
  2. Click on setup.exe to install Microsoft Visual C++ 2012 and .NET Framework 4.6.
  3. Now reboot as instructed, and right click on setup.exe to run it as an administrator, and install rtk_usb_mp_tool. If you don’t run it as Administrator you’ll run into permissions issues and the installation will fail.
    This will also install the USB drivers for “USB REDIRECTION” device. By default, this is install in {HOME}/rtk_usb_mp_tool directory
  4. Now you can start the program “rtumdfsample.exe”

    The window size is about 1300 x 900, and cannot be resized, so I allow you to curse or (gently) bang your head on the wall if you run this on a netbook or laptop with 1366×768 resolution or lower. You’ll feel better 🙂
  5. Now insert the USB cable between your computer and the USB 3.0 port of the device, and turn on the box. The display on the box should always show “boot”, and the top logo should change from the yellow fear to a green Android once you device is detected over USB.
  6. Now Click on “Open” button in the Install section of the user interface, to load the firmware file (in my case SEAI_101M0_16G_20170225.img).

    Click to Enlarge

    The top left icon will turn red, and update the firmware.

  7. Once it gets to 100%, you are done. Disconnect the USB cable, and restart the device into your freshly burned firmware.

The goods news is that networking works, I get the weather forecast within the launcher. The bad news is that the display turns off after 5 seconds, until I disconnect and reconnect the HDMI cable, and goes off again 5 seconds. At least the firmware update method worked…