Posts Tagged ‘arduino’

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.

1btn is a Battery Powered Open Source ESP8266 WiFi Button

July 8th, 2017 17 comments

If you have some WiFi power switch like Sonoff TH16 at home, you’d normally control them using a mobile app or a web interface. This is all good, but getting your phone, unlocking it, and launching the app to turn on or off an appliance is not the most efficient way to operate, and in some cases, some people in the household may not know how to use a smartphone. Physical WiFi buttons are the solution, but there aren’t so many for sale. We’ve seen previously it was possible to hack an Amazon Dash, but it’s not really that flexible, and 1btn could potentially be a better option, as it’s open source and based on Espressif ESP8266 WiSoC.

1btn specifications:

  • WiFi Module – ESP-12F based on Espressif ESP8266
  • MCU – Microchip Atmel ATmegaxx8 AVR MCU
  • Connectivity – 802.11 b/g/b WiFi up to ~50 meter range
  • USB – 1x USB port for charging and programming (via on-board USB to Serial chip)
  • Misc – User button, multi-color LED, power on/off switch
  • Expansion –
    • AVR MCU – 2x 8-pin headers with ADC, I2C, SPI, RESET, 3.3V, and GND signals
    • ESP8266 – 1x 8-pin header with GPIO, Tx/Rx signals, 3.3V and GND signals
  • Battery – Rechargeable 3.7V/500mAh battery
  • Dimensions – Around 60 mm side to side
  • Weight – ~50 grams

The hardware design files, mechanical design, and NodeMCU (Lua) based firmware can all be found on Github, releases under an MIT license. The button can be used to send an email, text message (via Twilio SMS), or a tweet, as well as invoke an URL action allowing to use all sort of APIs and services such as IFTTT.

The Atmel MCU is used to keep battery life under check, as the button will only connect to WiFi then you press the button. It takes about 5 to 7 seconds to wake up from sleep, and send the message, after which the button goes back to sleep. The battery will last around 300 presses before it needs to be recharged, or about 5 months if you use the button twice a day.

1btn sells on Tindie for $40 plus shipping. That’s a little more than expected, so tried to look for alternative beside Amazon Dash, and I found “ESP8266 IFTTT WiFI Button Dev Kit” – aka Abutton – on Aliexpress going for $13.43 shipped. The button can be re-programmed with custom firmware, and is based on Apixel  ESP8266 dev board with an ESP8266, but not MCU, so it has to rely on ESP8266 low power mode, so battery life is likely to be quite lower than 1btn. Talking about batteries, there are none, and instead there’s a compartment for 2 AA batteries. The Arduino or NodeMCU source code for Abutton can also be found on Github.

Click to Enlarge

WiFi is not exactly the ideal wireless solution for this, that’s maybe why Bluetooth buttons are much more common, and quite cheaper, so maybe having a ESP32 wireless power switch with WiFi and Bluetooth, plus a BT button would be both a better and cheaper solution. The only problem is that AFAIK ESP32 wireless switches don’t exist right now, except in board form factor, and not in a neatly packaged product like the Sonoff switch.

Husarion CORE2 STM32 Board for Robotics Projects Works with ESP32, Raspberry Pi 3, or ASUS Tinkerboard

June 30th, 2017 No comments

Husarion CORE2 is a board designed to make robotics projects simpler and faster to complete with pre-configured software and online management. Projects can start using LEGOs, before moving to 3D printed or laser-cut version of the mechanical parts without having to spend too much time on the electronics and software part of the project.

CORE2 and CORE2-ROS Boards – Click to Enlarge

Two versions of the board are available: CORE2 combining STM32 MCU with ESP32 WiFI & Bluetooth module, and CORE2-ROS with STM32 instead coupled to a Raspberry Pi 3 or ASUS Tinkerboard running ROS (Robot Operating System). Both solutions share most of the same specifications:

  • MCU -STMicro STM32F4 ARM CORTEX-M4 MCU @ 168 MHz with 192 kB RAM, 1 MB Flash
  • External Storage – 1x micro SD slot
  • USB – 1x USB 2.0 host port with 1A charging capability; 1x micro USB port for debugging and programming via FTDI chip
  • Expansion Headers
    • hRPi expansion header for
      • CORE2-ROS –  a single board computer Raspberry Pi 3 or ASUS Tinker Board
      • CORE2 – an ESP32 based Wi-Fi module
    • 2x motor headers (hMot) with
      • 4x DC motor outputs with built-in H-bridges
      • 4x quadrature encoder inputs 1 A cont./ 2 A max. current per output (2 A/4 A current when paralleled)
    • 6x servo ports with selectable supply voltage (5 / 6 / 7.4 / 8.6 V) 3 A cont./4.5 A max. current for all servos together
    • 6x 6-pin hSens sensor ports with GPIOs, ADC/ext. interrupt, I2C/UART, 5 V out
    • 1x hExt extension port with 12x GPIO, 7x ADC, SPI, I2C, UART, 2 x external interrupts
    • 1x CAN interface with onboard transceiver
  • Debugging – DBG SWD (Serial Wire Debug) STM32F4 debug port; micro USB port for serial console
  • Misc – 5x LEDs, 2x buttons
  • Power Supply – 6 to 16V DC with built-in overcurrent, overvoltage, and reverse polarity protection
  • Dimensions – 94 x 85 mm

On the software side, Husarion provide a set of open source libraries for robots as part of their hFramework, using DMA channels and interrupts internally to handle communication interfaces. The company has also prepared tutorials dealing with ROS introduction, creating nodes, simple kinematics for mobile robot, visual object recognition, running ROS on multiple machines, and SLAM navigation. CORE2 board can also be programming using the Arduino IDE, and finally Husarion Cloud allows you to securely create a web user interface to control the robot, and even program the robot firmware from a web browser.

That means you can program your robot using either the Web IDE, or offline with an SDK plus Visual Studio Code and the Husarion extension. The development work flow is summarized above.

CORE2 boards can be used for a variety of projects such as robotic arms, telepresense robots, 3D printers, education robots, drones, exoskeletons, and so on. If you want to learn about robots, but don’t have LEGO Mindstorms and don’t feel comfortable making your own mechanical parts yet, ROSbot might be a good way to start with CORE2-ROS board, LiDAR, a camera, four DC motors with encoders, an orientation sensor (MPU9250), four distance sensors, a Li-Ion battery (3 x 18650 batteries) and a charger, as well as aluminum mechanics. It also happens to be the platform they use for their tutorials.


You’ll find all those items, and some extra add-on boards, on the CrowdSupply campaign, starting at $89 for CORE2 board with ESP32 module, $99 for CORE2-ROS board without SBC, and going up to $1,290 for the complete ROSbot with ASUS Tinker Board. Shipping is free to the US, and $8 to $20 depending on the selected rewards, with delivery scheduled for September 2017, except for ROSbot that’s planned for mid-October 2017.

μduino May Be the World’s Smallest Arduino Board (Crowdfunding)

June 29th, 2017 8 comments

OLIMEXINO-85S may have held the title of the world’s smallest Arduino (compatible) board for the last few years, being barely bigger than a micro SD card as it measures about 16.9 x 12.7 mm, but there’s a new mini champion in town with μduino board measuring just 12 x 12 mm.

μduino prototype

μduino board specifications:

  • MCU – Microchip Atmel ATMEGA32U4 8-bit AVR microcontroller @ 16 MHz with 2,560 bytes of RAM, 32KB flash, and 1024 bytes of EEPROM (Arduino Leonardo compatible)
  • I/Os
    • 6x Analog I/O ports
    • 14x Digital I/O ports (including Rx/Tx) including  7x PWM
    • 1x Analog reference voltage port
    • 1.27mm pitch
  • Programming / Debugging – 1x micro USB port; 6-pin ICSP programming ports (load custom bootloaders, program other boards, etc)
  • Misc – Status LED, reset button
  • Power Supply – 5V via micro USB port; 5V voltage regulator (accepts up to 16V DC);  2x 5V ports;  2x ground ports
  • Dimensions – 12x 12 mm with 2 mounting holes (prototype is 14×14 mm)

Sizes Comparison: Arduino UNO vs Arduino Nano vs μduino

The µduino board is said to be particularly suited for projects such as a mini quad-copter, a GPS logging module, small multimeters, heart rate monitors, and other wearables. The project has launched on Crowdsupply with a $5,000 US funding goal. While µduino may be the smallest Arduino board, it’s not quite the cheapest, as you’d need to pledge $18 to get the board with a micro USB cable. Shipping is free to the US, and $7 to the rest of the world, with delivery scheduled for the end of September 2017.

Via LinuxGizmos

MXCHIP AZ3166 IoT Developer Kit is Designed to Work with Microsoft Azure

June 25th, 2017 3 comments

MXCHIP is a Shanghai based company designing and manufacturing WiFi IoT modules such as EMW3165, which has now made a development board based on their EMW3166 STM32+ Cypress module – called MXChip AZ3166 – specifically designed for Microsoft Azure cloud computing platform.

Click to Enlarge

MXChip AZ3166 board specifications:

  • Wireless Module – EMW3166 WiFi module with STM32F412 ARM Cortex M4F MCU @ 100 MHz with 256KB SRAM,1MB+2MB SPI Flash, Cypress BCM43362 WiFi chip
  • Display – 128×64 OLED display
  • Audio – Audio codec, built-in microphone, and 3.5mm heaphone jack
  • Sensors – Motion sensor,  magnetometer, atmospheric pressure sensor,  temperature and humidity sensor
  • Expansion – Finger extension interface with 25 external I/O pins including GPIOs, I2C, I2S, UART, ADC, Reset, 3.3V, and GND
  • Debugging – DAP Link emulator
  • USB – 1x Micro USB port for power, programming, debugging
  • Misc – 2x user buttons;  1x RGB light; 3x working status indicator; IR emitter; Security encryption chip
  • Power Supply – 3.3V DC, maximum current 1.5A; 5V via micro USB port

The AZ3166 board is Arduino compatible can be used for prototyping IoT and smart device solutions using Visual Studio Code with Arduino Extension. Applications can  integrates with various services like Azure IoT Hub, Logic App and Cognitive Services. You’ll find more technical details on Microsoft’s Azure IoT Devkit and MXCHIP AZ3166 pages.

Visual Studio Code with Arduino Extension – Click to Enlarge

The board is not for sale yet, but you could get a preview board for free, if you can meet Microsoft’s “select criteria”.

Thanks to Freire for the tip.

NXP Unveils LPC84x ARM Cortex M0+ MCU Family, and LPCXpresso845-MAX Evaluation Board

June 23rd, 2017 No comments

NXP Semiconductors has expanded LPC800 series MCUs with the new LPC84x family of 32-bit ARM Cortex-M0+ microcontroller said to offer 10 times the performance, three times more power saving savings, and 50 percent smaller code-size than 8- or 16-bit microcontrollers.

Click to Enlarge

Key features of LPC84x MCU family (LPC844 / LPC845):

  • MCU Core – ARM Cortex-M0+ core @ 30 MHz with advanced power optimization
  • RAM – 16 kB RAM (Logic for Bit banding across all of SRAM)
  • Storage – 64 kB Flash, small 64-byte page size suitable for EEPROM emulation
  • Peripherals
    • Timers – 32-bit CTimer, WWDT, 4-channel multi-rate, SCTimer/PWM
    • Serial Interfaces – Up to 4x I2C, 2x SPI, up to 5x UART
    • Analog Interfaces – 12 ch, 12-bit ADC up to 1.2 Msps; 2x 10-bit DAC; comparator with external Vreg; 9-channel capacitive touch interface working in sleep and deep sleep modes
    • Up to 54 GPIOs
    • 25-ch DMA offloads core
  • Power Control
    • Five power modes
    • Power profile APIs for simple runtime power optimization
    • Fast Access Initialization Memory (FAIM) for low power boot @ 1.5 MHz
  • Clock Generation Unit with Free Running Oscillator
  • Packages – LQFP64, LQFP48, HVQFN48 and HVQFN33

The LPC84x MCUs target applications typically making use of 8- or 16-bit MCUs such as sensor gateways, gaming controllers, motor control, fire & security, climate control, lighting, etc.. The company has already provided code samples that can be used in MCUXpresso, Keil, and IAR IDEs, as well as a datasheet, and a user guide for the microcontrollers on the product page.

Click to Enlarge

NXP also unveiled LPCXPresso845-MAX development board (OM13097) to help quickly evaluating the new MCUs. The board comes with the following key features:

  • LPC845 MCU
  • On-board CMSIS-DAP (debug probe) with VCOM port, based on LPC11U35 MCU
  • Debug connector to allow debug of target MCU using an external probe
  • Red, green and blue user LEDs;  Target ISP and user/wake buttons; Target reset button
  • LPCXpresso expansion connector
  • DAC output via speaker driver and speaker
  • Arduino connectors compatible with the “Arduino UNO” platform
  • Pmod compatible expansion header
  • Prototyping area

NXP did not disclose pricing for LPC84x MCUs, but it should be priced competitively against 8-bit micro-controllers. LPCXpresso845-MAX development board (OM13097) can be purchased for $19 directly on NXP website.

GR-LYCHEE Development Board to Combine Renesas RZ/A1LU Processor, ESP32 Module, and a VGA Camera

June 23rd, 2017 9 comments

Japanese semiconductor vendors have mostly stayed away from the maker market, at least outside Japan, as most people would be hard-pressed to come up with a hobbyist development board powered by processor or micro-controller from Toshiba, Sony, Renesas or other Japanese companies, despite the three aforementioned names being in the top 20 semiconductors companies. I can only remember having written about Fujitsu F-Cue 96Boards, as well as Renesas GR-PEACH mbed board since I started this blog 7 years ago. Renesas seems to be the only company to have a real community behind with their “Gadget Renesas” pink-colored development boards, and the latest and seventh board is GR-LYCHEE powered by Renesas RZ/A1LU ARM Cortex-A9  processor, and equipped with a WiFi & Bluetooth module, and a camera.

GR-LYCHEE Prototype – Click to Enlarge

Renesas GR-LYCHEE board preliminary specifications:

  • Micro-processor – Renesas RZ / A1LU (R7S721030VCFP 176-pin QFP) ARM Cortex-A9 Processor  @ 384 MHz with 3MB on-chip SRAM
  • Storage – 8 MB flash+ micro SD card
  • Connectivity – 802.11 b/g/n WiFi, Bluetooth 4.1 LE via ESP32 wireless module
  • Audio – 3.5mm audio jack (heaphone + mic)
  • USB – 1x USB host port
  • Camera – 1x camera interface for VGA (640×480) camera
  • Expansion – Arduino UNO headers
  • Debugging & Programming – 1x micro USB port, JTAG interface
  • Misc – 32.768 Hz RTC clock, 2x user buttons, reset button, 4x user LEDs
  • Power Supply – 5V via 1x micro USB port; operating voltage: 3.3 V / 1.18 V

The board is mbed compatible so at launch you’ll be able to use the mbed compiler with the board. The board is still in beta version, documentation is still being worked on, and launch is scheduled for the end of November 2017. While most Gadget Renesas’ users are likely in Japan, Renesas also organized events in India, ASEAN, and Oceania with GR-PEACH board earlier this year as you’ll find out by visiting the community’s English page.

Documentation and more details about GR-LYCHEE board should eventually surface in the product page (in Japanese only for now).

Microchip based Orange LoRa Explorer Kit Connects to Orange’s own LoRaWAN Network

June 19th, 2017 No comments

You’d think Telecom operators with all infrastructure in place would focus their IoT efforts on LTE Cat M1 or LTE Cat NB-IoT, but Orange has setup its own LoRa network in France with the aim of achieving national coverage by December 2017, at which time they’ll also test interconnection and roaming with other European operators. The company has also launched the LoRa Explorer Kit based on Microchip solutions, and designed by SODAQ.

Click to Enlarge

Orange LoRa Explorer Kit specifications:

  • MCU – Microchip Atmel SAMD21 ARM Cortex M0+ MCU @ 48 MHz with 256KB flash, 32KB RAM, up to 16KB EEPROM by emulation
  • Storage – 4Mbit serial flash (Microchip SST25PF040C)
  • Connectivity
    • Microchip RN2483A LoRa module + PCB antenna
    • Microchip RN4871 Bluetooth 4.2 module (BLE) with ceramic antenna
  • Security – Microchip ATECC508A1 crypto chip to securely store LoRa keys.
  • USB – 1x micro USB port for charging and programming
  • Expansion – “Arduino M0” compatible headers with 10-bit ADC, 20x GPIOs, I2C, etc…
  • Misc – MCP97001 temperature sensor; RGB LED
  • Power Supply – 5V vai micro USB; 3.7 LiPo battery; on-board rechargeable coin cell battery;  Microchip MCP 73831 Charge controller
  • Dimensions – 40 x 25 mm

The board can be programmed with the Arduino IDE. The page must have some information, but you must be a customer as it requires a login to access it. The company claims you’ll get access to user guide, sample codes, and Orange libraries. Systev blog explains how to get started in details with Explorer board and Orange LoRa network. Beside the hardware, you’ll also get 6 months free access to the Live Objects platform for device and data management, and 6 months free connectivity through the “IoT Connect Low Power” service, which would then costs 1€ to 2€ per month per object depending on volume.

You’ll find a few more details on Orange Explorer LoRa kit product page, and you can purchase the kit for €83,49 including 21% VAT on SODAQ shop.

Thanks to Tirguy for the tip.