Arduino Vidor CAN bus support

Arduino have just announced a bunch of new boards, including one with an on board FPGA chip (plus a SAMD21 Cortex-M0+, plus an ESP32 WiFi and Bluetooth Module). A Field Programmable Gate Array (FPGA) chip is possibly the most impressive piece of electronics going. They are essentially a way of creating entirely custom digital electronic circuits (resistors and transistors) all inside a tiny chip, and completely reprogrammable – genius!

See more about the Arduino Vidor CAN bus support after the break.

Continue reading

Motorola G6 Amazon Exclusive – Delayed, Where is it?

So, over two weeks ago now, I ordered the Motorola G6 from Amazon. The Amazon Exclusive version has 4GB RAM (an extra GB over the standard) and 64GB internal storage (as opposed to the 32GB on the standard). At the time, it was available for Pre-order, and said it would be dispatched on Wednesday the 16th May (although I’m sure when I first looked at it, it was due on the 9th May). So, I pre-ordered, bought a case, spare USB C charging cables, and screen protector, signed up for prime (there was a 1 week offer) and looked forward to receiving my new Motorola G6 on Thursday the 17th…

Continue reading

ESP8266 Arduino `.text’ will not fit in region `iram1_0_seg’ Error

I’ve been writing some software for a Wifi based CAN data logger for the ESP8266 in the Arduino platform, and have been getting a bit of a strange error. It appeared to be related to using the std::string functions in my code – and although I have used this in other sketches without issue, I suddenly received the following error as soon as I simply declared a std::string variable:

c:/users/scott/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\Scott\AppData\Local\Temp\build525647f6f8500d071cfab5cccf314276.tmp/ESPCANLogger.ino.elf section `.text' will not fit in region `iram1_0_seg'

collect2.exe: error: ld returned 1 exit status

See how to fix it after the break.

Continue reading

ILI9341 and XPT2046 TFT display on ESP8266

For my own future reference more than anything else, to get the ILI9341 (either Adafruit or otherwise) working on the ESP8266 using the Arduino development environment isn’t completely straightforward. I knew I had this working previously, but couldn’t find the info again, so am copying it here.

See the details after the break.

Continue reading

Thoughts on Graphical/Visual Programming Languages

I dont see a lot of information on personal blogs/diy projects regarding the use of Visual Programming Languages, but this is what I use in my current role as a Control System Engineer developing engine control and test systems. I actually call them graphical programming languages, so if I use the terms interchangably here then I’m actually talking about the same thing. We use visual programming languages for engine ECU control code and Test Cell control code (Simulink + Stateflow and Labview respectively). I believe graphical programming languages are pretty widely used in the automotive industry, and appear to have massive buy in from plenty of other industries too. I think its easy to see why.

Continue reading

Separated Rotary Engine

This is a pretty interesting concept – very similar to a ‘split cycle’ engine – basically the rotary version. A split cycle engine has the benefit of being able to split the compression and expansion cycles of a traditional internal combustion engine. This allows for different geometries in the combustion and expansion chamber, allowing for things such as very high expansion ratios verses compression ratios, and also potentially volume combustion in the case of this particular engine.

It looks as though this engine would still suffer some of the difficulties of traditional rotary engines, but still a very interesting concept!

ESP8266 Successor – ESP32 released with CAN bus supportĀ 

So, the interesting little ESP8266 WiFi SoC finally has a younger brother which appears to be even more capable. Among other expansive updates, the 32 bit Dual Core microcontroller still supports WiFi, but also Bluetooth Low Energy, a DAC, many more ADCs, GPIO pins, etc. etc. Lots of good details here: 

Continue reading