Tag Archives: Programming

The Art of Representing Floating-Point Numbers as Integers

1,209 

0

fixedpointformat

Mário Ribeiro writes:

Have you been using float or double variables to perform mathematical operations on embedded systems without a Floating-Point Unit (FPU)? You are doing it wrong! That’s incredibly inefficient.

An FPU is an hardware block specially designed to carry on arithmetic operations on floating point numbers. Even though the C/C++ code may work without an FPU, it’s always much faster to use hardware designed for a specific purpose, like this one, instead of relying on a software implementation, something that the compiler will do for you, knowing the hardware restrictions you have but not in an efficient manner. Essentially, it will generate a lot of assembly code, greatly increasing the size of your program and the amount of time required to complete the operation. Thus, if you don’t have an FPU available and you still want to perform those arithmetic operations efficiently you’ll have to convert those numbers to fixed-point representation. Integers! But how? By scaling them. Let’s see how that scaling value may be determined.

The Art of Representing Floating-Point Numbers as Integers – [Link]

FlashProg – USB serial flash memory programmer

flashprog-prototype-small1-600x398

Dilshan Jayakody published a new project, the FlashProg – a USB serial flash memory programmer:

FlashProg is USB base flash memory programmer to work with 3.3V serial flash memory devices. This programmer is specifically design to read, program and configure 25x series, serial flash memory devices which are commonly used to store BIOS in PC mainboards.
Originally we design this project to read and program BIOS of Foxconn G31MXP mainboard. Our version of G31MXP contains Macronix MX25L8005 8M-Bit serial flash memory and we use this programmer to load some of our custom BIOS to this serial memory.

FlashProg – USB serial flash memory programmer – [Link]

Introducing Node-RED

Screen-Shot-2015-02-06-at-3.48.04-PM

Node-RED is a visual programming interface for the Internet of things. It doesn’t require coding experience, making it easy to connect your physical things to the cloud.

Node-RED is based on Node.js. The Node-RED application runs as a web server, and you customize and manipulate functional “flows” from any computer’s browser, local or remote. The server application can run on an inexpensive device like the Raspberry Pi.

Take Your Beans to the Cloud! LightBlue Bean Supports Node-RED, Brings Easy Creation of Internet-Connected DIY Projects Without Coding Experience

  • Provides Simple, Visually-Driven Project Development for Students, Hobbyists, Creatives, Prototypers
  • Interact with Low Cost Beans via Internet for Home Automation/Monitoring, Robotics, Class Projects, Art Installations, Point of Purchase Displays, More
  • Build Internet-Triggered Devices that Tweet, Post to Facebook

Introducing Node-RED – [Link]

Embrio: A visual programming environment for Arduino

embrio-screenshot-1-600x278Embrio

Embrio, create Arduino programs without writing code:

Easy To Use -Make programs by adding and connecting nodes. No coding necessary!

Real Time Connection -Work with a live connection to your Arduino, see how your program works as you build it!

Powerful -While easy to use, Embrio is a powerful development tool that you won’t outgrow as your skills develop.

Embrio: A visual programming environment for Arduino – [Link]

Windows Bean Loader Enables Wireless Arduino Programming from Surface Pro Tablets

win_bean_loader_1

SAN FRANCISCO and MINNEAPOLIS, January 26, 2015 — Punch Through Design, a hardware and software development firm that brings Bluetooth Low Energy hacking to the masses, has released the Windows Bean Loader, the first-ever wireless Arduino programming app for Windows users. Using the loader app, Windows-based developers and hobbyists can easily upload code to their LightBlue Bean and experience the power of Bluetooth Low Energy, without cables or a physical connection to the LightBlue Bean.

“The LightBlue Bean represents a new method of wirelessly interacting with prototypes and projects; says Colin Karpfinger, founder and CEO, Punch Through Design. Previously, only Mac OS X and iOS users could program their Beans, and now we are extending that functionality to Windows users.

The full-featured app, available from the Windows Store, fills a void for Windows-based developers and DIYers looking to create smartphone-controlled devices.

Windows Bean Loader Enables Wireless Arduino Programming from Surface Pro Tablets – [Link]

Flash several hundred of ATMegas using a CNC

IMG_2801

by pleasantsoftware.com:

For a project of mine, I need to flash several hundred of ATMegas.

I use a special programming connector, which sits on the SMD chip and connects directly to the ISP and power pins on the chip.

My first attempt to ease the flashing process was to mount the programming connector to a lever with some additional weight on it. That way, once the connector was in place, I didn’t need to hold down the connector manually during the flashing process.

The PCBs come in panels of 40 (10 x 4 PCBs per panel) with milled slots in between each PCB. So to make the positioning of the PCBs under the connector a little easier (and more repeatable), I put two metal pins (with the same diameter as the milled slots) on the base of the lever.

Flash several hundred of ATMegas using a CNC – [Link]

RPi Board, a board to learn Python with the Raspberry Pi

DSC04607-1024x768

by jechavarria.com:

I’m continuing working with Juan Brito and Danny Macancela from the blog Desafio Ecuador, developing new boards to bring near the technology and programming languages. Our last work is a board to use with the Raspberry Pi and focused to learn Python. The board has the basic elements to start with this language. Also, with the develop of the PCB we remove the wiring, avoiding troubles with connections, inversion polarity…So with this board you only focused in the software develop, because the hardware side will work!

RPi Board, a board to learn Python with the Raspberry Pi – [Link]

STM32 Programming Tips and Tricks

stlinkgreycablewhite-1024x632

by embedded-lab.com:

I remember that once in the beginning I said that I don’t want to buy a programmer/debugger hardware for learning a new MCU like the STM32 and also STM32s already come with built-in bootloader to facilitate programming via USART just like Arduino. Still the second is true. Well what about the first? To my own surprise I actually acquired a number of STM32-related stuffs since the time I started playing and exploring them. I actually bought both ST-Link 1 and 2 programmer-debuggers and several STM32 boards from Waveshare Electronics (http://www.wvshare.com). I believe learning new stuffs is more valuable than anything else.

STM32 Programming Tips and Tricks – [Link]

Programming an ATMega128

20140604_234359-600x450

Chris Holden of NerdClub shares his tips on how he successfully program an ATMega128:

Finally got an ATMega128 chip coded and programmed successfully. The great news is it doesn’t require Arduino. The even better news is, we can use Oshonsoft to write the code! Yay.

[via]

Programming an ATMega128 – [Link]

Tag-Connect: The ICP Connector That Saves PCB Space & Cost Less

tag-connect-header-vs-icp

by Danny Mavromatis:

There are a lot of little details you need to think about when taking a project from PoC (proof-of-concept) to production. Most projects today have some form of onboard microprocessor and require you to flash your custom bootloader and/or program code onto it at some point. There are many ways this can be accomplished but the most common method is using an ICP (in-circuit programmer) connected to a 6-pin ICP header somewhere on the PCB. […]

Tag-Connect! I can’t remember exactly how I found out about this neat little connector, but I’ve been using it for a while and it’s actually very useful in a production environment. They provide the footprint for many of the popular PCB design programs so placing it is very straight forward. Pretty much just swap out the traditional header for the new tiny Tag-Connect version and you’re pretty much done.

Tag-Connect: The ICP Connector That Saves PCB Space & Cost Less – [Link]