The question has been: If I buy such a 50 Watt cheap laser cutter from China, how many Watts does it really have? I have read all these stories that usually what is advertised is only the theoretical maximum I could get, and will not be realistic at all. This article is about how I tuned the machine and how much I got out of it.
I love the Arduino ecosystem, and it is great for getting something up and running quickly for a ‘proof of concept’. But it stops at that point.
I think it should be obvious why Arduino (code and libraries) should not be used for professional work. Especially the lack of proper debugging support makes it nearly impossible to solve the problems of the real world.’printf()’ style of debugging is simple, but it is a huge waste of time. I have seen too many student projects failing because the inability to properly debug the system and solve the problems.
Even equally important for professional work is the topic of IP and licensing. Be aware of the licensing terms and conditions as pointed out by above article. If not, your product easily get GPL’d which might not want you want.
Happy Arduinoing 🙂
There are people around me who think I’m crazy. And they are probably right. Who else would buy a machine from someone he does not know. I have to pay upfront. It is not clear how things will get delivered, what gets delivered, or if it gets delivered at all. Up to the point I can lose the money I have spent. Best of all: that machine is dangerous enough to potentially kill me. And it has the potential to put my home on fire too. Well, that sounds like an exciting weekend project, or not?
I believe in ‘life-long-learning’. With this I continue to learn and discover new things every day. I’m writing tutorials to give something back to the community from which I have learned so much.
On top of this, I receive emails on a nearly daily basis, asking for help. Many articles have the origin in such requests or questions. I prefer questions or comments in a public forum, because that way I feel all others can benefit from it. Last week Alessandro contacted me with this:
I hope this find you well! I’m starting to using ARM processors, but I find them quite complicated on the configuration side. I started in the past with PIC micro (PIC16) with asm, and I found them quite straightforward to be configured (clock, IO, peripherals, …). Then I moved myself on C language, and on PIC18 without any big issues.
Now I would really like join the ARM community, I see that these processors are what I’ve always looking for, on energy, calc power, peripherals, and FINALLY on IDE (editor, toolchain and utilities)… AMAZING!!!”
The topic is about how to start learning developing for ARM. Alessandro agreed to make this public, so I thought this might be a good topic for an article?
For me, the available software and tools are the primary key decision factor why I select a particular silicon vendor. Without good software and tools, a microcontroller only ‘sand in plastic case’, even if it is the best microcontroller in the world. I do have several probably excellent microcontroller boards, and they are only getting touched by more durst over the months and years.
Space is a hostile environment. Sending hardware to space means putting it under irradiation tests: exposing the object to radiation and see what happens :-). For this, under the lead of the ETHZ (Mathematical and Physical Geodesy), we had the opportunity to put the CubETH payload board under a proton beam. The test facility is at the Paul Scherrer Institute (PSI) in Villigen, Switzerland:
Questions from students or readers of my articles are a great source for all kind of articles. And here is the ‘question of this week’: “What is realtime debugging”?
It’s a good question because the topic of ‘realtime’ and ‘debugging’ was a topic in the lectures this week. So this question gives me the opportunity to combine the two things of ‘realtime’ and ‘debugging’, I love it :-).
The concept of Linux (Open Source, broad developer base and broad usage) is a success story. While there is a lot of diversity (and freedom) in the Linux world, Linux is Linux and again Linux :-). And the world has (mostly) standardized on Linux and its variants on the high embedded system side.
On the other side, the ‘middle and lower end’ Embedded world is fragmented and in many aspects proprietary. So it was no surprise to me when the Linux Foundation announced the ‘Zephyr’ project back in February 2016:
“The Linux Foundation Announces Project to Build Real-Time Operating System for Internet of Things Devices. Open source Zephyr™ Project aims to deliver an RTOS; opens call for developers to help advance project for the smallest footprint IoT devices.“
Ζεφυρος (Zephyros) is the Greek good of spring and the west wind. Obviously this inspired the logo for the Zephyr project:
“Testing leads to failure, and failure leads to understanding” – Burt Rutan
One of the biggest road blocks (beside of closed source) using the BLE (Bluetooth Low Energy) stack from NXP is that it requires expensive tools to compile and build the stack. The good news is that I have now the NXP BLE stack for the Mikroelektronika Hexiwear ported to Eclipse and GNU gcc build tools for ARM 🙂
The good thing with failure is: it is an opportunity to learn :-).
So here is a case: For a STEM roadshow (see “MINTomat: World’s Most Complicated Bubble Gum Automata?“), we have produced in a rush an autonomous robot with a shiny printed 3D cover:
This post is a bit off-topic. No, this is not one of my deep technical tutorials. It is not about all the muddy bits in hardware, and it is not about shiny and great tools. This post is about you all: WordPress counted 15’000 comments for McuOnEclipse!
Happy Commenting 🙂
PS: special thanks to Kevin P. and Jim T.: this blog would not exist without you!
In “ARM Cortex-M, Interrupts and FreeRTOS: Part 1” I started with the ARM Cortex-M interrupt system. Because the ARM implementation cann be very confusing, I confused myself and had to fix and extend the description in Part 1 :-). Thank for all the feedback and comments!
Originally I wanted to cover FreeRTOS in Part 2. Based on the questions and discussions in Part 1 I thought it might be a good idea to provide visual examples.
When I have hit ‘publish’ for this post, the McuOnEclipse blog exists for exactly 0x888888 seconds. Or almost. I admit there might be a latency of a few seconds. But hey, that’s still a good (hexadecimal) number! :-).
I would like to reach out about what you would like to see on McuOnEclipse in a not too distant future:
- What do you like the most?
- About what should I write more?
- Any other subject or topic you would like to see?
Add a comment if you have anything else on your mind.
Happy Polling 🙂
Getting a board from a distributor like Farnell/Element14/Mouser (add your own distributor) means that chances are high that the default firmware on it is written years from now because the inventory has not been updated, or because boards are still produced with that original firmware (because of testing?). So what happens if I use board with a firmware developed pre-Windows 8/10 area?
It might work, but chances are high that the bootloader and firmware is not ready for the ‘modern age’, and as a result the board might be bricked. If you still have a Windows 7 machine around (I do!), you are lucky. If not, then you need to read this article….
I’m using the FRDM-KL25Z in my classes, and that board is very popular: low price (<$15), reasonable features (48 MHz ARM Cortex M0+, 128 KByte of FLASH, 16 KByte of RAM), and many tutorials elsewhere and on McuOnEclipse :-).
For the next (Fall) semester I’m looking for alternative boards, and one is the Freescale (now NXP) FRDM-KL27Z:
I’m using Processor Expert components for nearly every Freescale (now NXP) projects: for S08, S12, ColdFire, DSC and especially all the different NXP Kinetis devices. Not only because it makes software development fast and easy and allows re-use of software, but as well because Processor Expert has a good way to pack and distribute software components. Unfortunately Processor Expert is not any more included for the new Kinetis devices (see “First NXP Kinetis SDK Release: SDK V2.0 with Online On-Demand Package Builder“). So I have looked into an alternative and hopefully vendor neutral way to build and distribute software packages using CMSIS-Pack.