4 ms·
To answer those comments suggesting that low level language would be more fitted, im going to report my own exprerience. Two years ago, i went to FOSDEM where
by netmonk 6y ago
To answer those comments suggesting that low level language would be more fitted, im going to report my own exprerience.
Two years ago, i went to FOSDEM where i met Gordon the creator of Espruino. I was curious about those littles devices and decided to buy one.
Back at home, i started to play with my little device (pixl.js) and i was very enthousiast to use Chrome interface to start coding little program in Javascript, uploaded instantly via bluetooth on the device. It was fun, it was entertaining, and after a few keystrokes i was able to monitor room temperature, and display it on the lcd screen (which is totally useless i admit).
But the more i played with it, the more i became curious of MCU ecosystem, given the fact that im also a mechanical keyboard enthousiast, where teensy and stm32u2 have a central place in this community (esp. when you want to build your own keyboard).
So little by little, my Espruino experience gave me confidence to continue the travel, and after two years, i migrated mostly over ESP32 and RISCV mcu, coding in C, using vscode/platform.io, clone tones of github repo, trying to understand all the hardware concept, such as bus, serial, spi, i2c, timer, scheduling, packet radio with lora (running my own ttn gw, or controlling drone with opensource project such as ExpressLRS).
Espruino opens to me a new fertile world of MCU, helped me to step up the entry barrier and last year at FOSDEM, i meet again Gordon and thank him warmly for all of this.
(signed: a +20 years linux sysadmin, who always wanted to code a little)
- Fnoord 6y ago> [...] i was able to monitor room temperature, and display it on the lcd screen (which is totally useless i admit). How is that useless? We've been using such a device for a long time in society (replacing the mercury ones). Sure, nowadays with smarthome you can do it on a smartphone as well. In my household we use a Honeywell for this (non-smart) and we have a smart device under it which shows the current weather and the forecast. Furthermore, I bought an Enviro+ [1] plus a RPi Zero a while ago, but I still gotta implement/install it. [1] https://opencircuit.nl/Product/Enviro-plus-for-Raspberry-Pi https://opencircuit.nl/Product/Enviro-plus-for-Raspberry-Pi
- MivLives 6y agoI've been looking into this recently. The one complaint I've seen about the Enviro is that the pi's CPU throws off the temperature.
- netmonk 6y agoIt was more a figure of Style. I already had electronic temperatur sensor in my room. But anyway soon after, i switched to an esp32 and a bme680 to monitor temp/pressure/air quality/humidity, uploading data to thingspeaks though wifi, and graphing those data there.
- raxxorrax 6y agoAgreed. Same with Arduino and C++. If you buy a random developer board you have to also buy a programmer and learn the tool chain. This is an unnecessary barrier for dabbling around to see µC are interesting to you and you can still learn the principles about µC I/O. Even for professionals this can be interesting for prototyping (heh, not because JS is prototype based). Even with no perfectly efficient code modern µC are very powerful while using basically no energy. Their example processors are already very powerful and certainly can run a small interpreter with no problem: http://www.espruino.com/Order http://www.espruino.com/Order
- MivLives 6y agoThe other interesting thing I've noticed about some of the mechanical keyboards pcbs is that they'll just expose i2c headers even with an integrated controller (gergo is like this). It's semi popular to shove oleds on them. I've been watching form afar people attempting to add track balls. I'm curious if this will let a particularly dedicated and insane person/s port QMK to JS.
- lioeters 6y agoA high-level language like JavaScript certainly lowers the barrier to entry, and eases the learning curve. This year I started playing with Raspberry Pi, Arduino, various sensors and motors. So far I've mainly used Johnny Five ¹ on Node.js to orchestrate things. It was so simple to jump in, with an easy ubiquitous language, and I was able to spend time learning the actual hardware and developing the logic. For my needs, an interpreted language has been plenty capable. As I get deeper though, I'm finding a need for near real-time control (timing, to be precise), as performant as I can make it. For that, I'm (re)turning to C, a language I last used a couple dedades ago. It's tougher going but definitely rewarding. I'm so glad for the friendly introduction to the field, like Python and Arduino sketches. It reminds me of my pre/teen days, hacking at a personal (well, family) computer, getting familiar with a marvel of technology through exploration and discovery. ¹ https://github.com/rwaldron/johnny-five/ https://github.com/rwaldron/johnny-five/