“limpkin” @ limpkin.fr wanted to program some thousand of MCUs so he decided to build his own programming bench. He writes:
As you may know I started the Mooltipass offline password keeper project more than 2 years ago. Together with a team of volunteers from all over the globe I created two Mooltipass devices which were successfully crowdfunded through Indiegogo and Kickstarter, raising a total of around $290k.
Through a secure mechanism it is possible to upgrade the firmware running on the Mooltipass units. On our latest device, the Mooltipass Mini, we implemented signed firmware updates, which involved storing inside the microcontrollers’ memory some cryptographic keys.
A Mass Programming Bench for ATMega32u4 MCUs – [Link]
Creating a smartphone application for your embedded products may be a high-cost process that consumes time and efforts. ImageCraft, a producer of high quality low cost embedded system tools, had developed “Smatr.IO” as a very cheap alternative solution that allows you to add a friendly user interface to any embedded project.
Smart.IO is a toolkit that helps you to create a compatible application with your product without the need of any experience in wireless technology or app development. It uses BLE (Bluetooth Low Energy) and it doesn’t require an Internet connection or data plan.
Smart.IO consists of three parts:
A Small Chip Module compatible with any microcontroller.
A Software API for creating Graphical User Interface (GUI) objects.
A Programmable Smartphone App that requires only a Bluetooth connection to use.
There is no need to write any wireless code, or write an app. All you need is to add the Smart.IO chip to your existing microcontroller-based design, then use the API to create GUI objects in your firmware.
The Smart.IO Chip Module
The Smart.IO chip module is only 25mmx14mm. It has a 10-pin headers which are easy to solder onto your PCB, or use in a prototype system. It interfaces with your host microcontroller using SPI pins, plus extra pins for interrupts for data notification. Smart.IO draws very little power, typically about 100mA, and much less during standby mode.
If you are an Arduino user, ImageCraft will provide an Arduino-compatible shield that comes with a Smart.IO chip module, so that Arduino users can start using it immediately.
The Smart.IO API
The API functions allow you to create GUI objects and to modify their values. A simple callback mechanism notifies your firmware of input changes. The API code will run in the Smart.IO chip firmware, and the host MCU only runs the API interface layer code, so it will not use the host MCU resources.
The Programmable Smart.IO App
The GUI elements incorporate solid, current user interface principles. The UI will look and work exactly the same way across all iOS devices, from the iPhone 5 to iPhone 7+, and all iPad devices, including the iPad Pro. An Android friendly UI is planned for Spring.
There is also a customized version of the app specific to your product and branding for an inexpensive one-time licensing fee including customized app logo and name and security key to ensure your product will only work with your app.
Secret key encryption is used to ensure secure pairing of the device and customized app. As Smart.IO does not use the Internet, there is no risk of your device being used for DDOS or other types of attacks through the use of Smart.IO.
Through the Kickstarter campaign, Smart.IO reached about $9,500 and pre-ordering is still open here. ImageCraft will start work on the Android version of the programmable app and set up a forum for Smart.IO users. A use case example of Smart.IO is available on the official page.
The Apple II personal computer, which stylized as Apple ][, is an 8-bit home computer and one of the first highly successful mass-produced microcomputer products. It was designed primarily by Steve Wozniak and developed with Steve Jobs. Apple ][ was introduced in 1977 at the West Coast Computer Faire by Jobs and was sold several million times till 1993.
Maximilian Strauch is a computer scientist, software developer, web designer and maker from Germany. In 2014 he wrote about implementing a software emulator for the complete Apple ][ computer system on a single Atmel AVR microcontroller unit (MCU) in his Bachelor thesis.
The microcontroller not only emulates the MOS 6502 processor, it also performs other tasks such as output display and input keyboard. A challenging task is to get the 20 MHz AVR controller run as the 1 MHz processor.
The final result of the thesis is a fully functional, battery powered and portable Apple ][ emulator.
This video shows the final prototype in action and demonstrates most of it’s features.
The layer diagram of the Apple ][ emulator consist of about 10 layers shown in the next figure.
Emulator Runtime Environment (ERE): Contains the source code which makes up the main (backend) GUI of the emulator in particular, the menus.
UI Framework / Display I/O: Some low level functions to control the LCD display (SSD 1289 controller) and functions to paint menus and backgrounds.
Keyboard I/O: Accepts key presses from the separate keyboard controller and provides some high-level functions to convert Apple ][ keystrokes into regular ASCII keycodes and some wait-for-keypress functions.
State I/O: The emulator supports saving the current state of the entire emulation including RAM and the processor registers. Therefore the execution can be saved and reloaded later to continue at the exact same execution state.
TWI / EEPROM: Provides physical layer support to talk to an EEPROM, e.g. two functions which utilize the AVR’s hardware support for I2C to talk to the 128KB I2C serial EEPROM from Microchip.
DSK I/O: Contains all high-level functions to read Apple ][ floppy disk images (5 1/2 inch floppy disks, normally 140 KB in total) and list that contained programs to load them into memory.
SD Library (3rd party): The emulator uses the Petit FAT File System Module by Elm Chan since it works out of the box. A further improvement could be to store states to the SD card.
6502 CPU Emulation: Advanced emulation of the MOS 6502 processor without support for illegal instructions (not originally defined) and the BCD mode.
By bringing the power of open-source and agile hardware design to the semiconductor industry, SiFive aims to increase the performance and efficiency of customized silicon chips with lower cost.
The Freedom E310 (FE310) is the first member of the Freedom Everywhere SoCs family, a series of customizable microcontroller SoC platforms, designed based on SiFive’s E31 CPU Coreplex CPU for microcontroller, embedded, IoT, and wearable applications. The SiFive’s E31 CPU Coreplex is a high-performance, 32-bit RV32IMAC core. Running at 320+ MHz.
SiFive recently announced the ‘HiFive1’, an open-source Arduino-compatible RISC-V development board that features the FE310 SoC. It is a 68 x 51 mm board consists of 19 Digital I/O pins, 9 PWM pins, and 128 Mbit Off-Chip flash memory. HiFive1 operates at 3.3V and 1.8V and is fed with 5V via USB or with 7-12V DC jack. The board can be programed using Arduino IDE or Freedom E SDK.
Microcontroller: SiFive Freedom E310 (FE310)
CPU: SiFive E31 CPU
Architecture: 32-bit RV32IMAC
Speed: 320+ MHz
Performance: 1.61 DMIPs/MHz, 2.73 Coremark/MHz
Memory: 16 KB Instruction Cache, 16 KB Data Scratchpad
Other Features: Hardware Multiply/Divide, Debug Module, Flexible Clock Generation with on-chip oscillators and PLLs
Operating Voltage: 3.3 V and 1.8 V
Input Voltage: 5 V USB or 7-12 VDC Jack
IO Voltages: Both 3.3 V or 5 V supported
Digital I/O Pins: 19
PWM Pins: 9
SPI Controllers/HW CS Pins: 1/3
External Interrupt Pins: 19
External Wakeup Pins: 1
Flash Memory: 128 Mbit Off-Chip (ISSI SPI Flash)
Host Interface (microUSB): Program, Debug, and Serial Communication
In a comparison with Arduino boards, the HiFive has 10x faster CPU clock, larger Flash memory, and lower power consumption. The table below shows the difference between Arduino UNO, Arduino Zero, and Arduino 101:
HiFive may be a helpful tool for system architects, hardware hackers and makers, to develop RISC-V applications, customize their own microcontroller, support open-source chips and open hardware. It is also good as a getting started kit to learn more about RISC-V.
The MAX11311 is industry’s first configurable high-voltage mixed-signal I/O that allows user-defined ADC, DAC, or GPIO functionality.
Programming MAX11311 is very easy. A nice GUI tool helps to generate the right register values. If you want to make a universal signal processing board with a good number of I/O, it often gets very difficult to select a correct microcontroller. Finally, when you select one, it either has less I/O than you need or has fair enough number of I/O but burns your pocket. But if you know about MAX11311, then you’ve got a perfect solution.
The MAX11311 integrates a PIXI™, a 12-bit analog-to-digital converter (ADC), and a 12-bit digital-to-analog converter (DAC) in a single integrated circuit. This device offers 12 high voltage, bipolar ports. Each of the ports is configurable as an ADC analog input, a DAC analog output, a general-purpose input output (GPIO), or an analog switch terminal. One internal and two external temperature sensors track junction and environmental temperature. This feature prevents thermal runaway. Adjacent pairs of ports are configurable as a logic-level translator for open-drain devices or an analog switch.
Up to 12 12-Bit ADC Inputs
Single-Ended, Differential, or Pseudo-Differential Range Options: 0 to 2.5V, ±5V, 0 to +10V, -10V to 0V
Programmable sample averaging per ADC port
Unique voltage reference for each ADC PIXI port
Up to 12 12-Bit DAC Outputs
Range options: ±5V, 0 to +10V, -10V to 0V
25mA current drive capability with over-current protection
Up to 12 General-Purpose Digital I/Os (GPIO)
0 to +5V GPI input range
0 to +2.5V GPI programmable threshold range
0 to +10V GPO programmable output range
Logic-Level Shifting Between any two pins
60Ω analog switch between adjacent PIXI Ports
Internal/External temperature sensors with ±1°C Accuracy
You can use this chip as an expansion module to MCUs in various applications. Let’s see the list:
Base station RF power device bias controllers
Control for optical components
Industrial control and automation
Power supply monitoring
System supervision and control
Universal signal processing
The MAX11311 adapts perfectly to specific application requirements and allows for easy reconfiguration as the system needs further change. It also reduces BOM (Bill of Materials) cost with fewer external components in a small footprint.
To know more about this awesome chip, refer to the datasheet.
8 PIN SMD PIC development board is a full-featured development board and platform for 8-bit PIC® microcontrollers. This project is a versatile development solution, featuring several options for external sensors, off-board communication and human interface. Additionally, it offers ample room for expansion, making it an excellent solution for developers and engineers looking for a PIC development board. The 8 Pin SO8-SMD PIC Development / Evaluations Board demonstrates the capabilities of Microchip’s 8-bit microcontrollers, specifically, It can be used as a standalone demonstration board with a programmed part. With this board you can develop and prototype with all Microchip’s 8 PIN PIC microcontrollers which doesn’t required crystals (External Oscillator). On board connector for ICSP allows an easy programming. The board has configurable pull ups on all pins can be soldered or abandon as per requirement, All pins has solder Jumpers for pull down. Onboard 5V regulator, two tact switch, one output connector to interface with 12V Relay board or solid state AC or DC Relay. Board has small prototype area. We have considered PIC12F683 IC for this Board.
Ham radio is the use of radio frequency spectrum for purposes of non-commercial exchange of messages, wireless experimentation, self-training, etc. Developing a ham radio project may requires using an antenna analyser, a device that is used for measuring input frequency and impedance.
There are many types of antenna analysers such as Anritsu VNA Master, RigExpert, MiniVNA, and others. But these analysers are very expensive to buy. They starts from $500 up to thousands of dollars and they are also hard to hack. This guide shows how to construct and use a DIY HF antenna analyzer using Arduino for less than $50.
The AD9850 is a CMOS highly integrated device that uses advanced Direct Digital Synthesis (DDS) technology coupled with an internal high speed, high performance, D/A converter and comparator, to form a complete digitally programmable frequency synthesizer and clock generator function.
AD9850 module is a $9 stable, low drift VFO (Variable Frequency Oscillator) fed by a 125 MHz crystal clock. The module covers from 0 to 40 MHz, which are all the HAM HF(High Frequency) frequencies. There are 4 output pins on the device, 2 for Sine Waves (only one Frequency at a time) and two Square wave outputs. The blue pot on the board adjusts the duty cycle of the Square Wave Outputs but has no effect on the Sine Wave Outputs.
Signal Frequency output range: 0-40MHz
4 Signal outputs; 2 sine wave outputs and 2 square wave outputs
DAC SFDR > 50 dB @ 40 MHz AOUT
32-Bit Frequency Tuning Word
Simplified Control Interface: Parallel Byte or Serial Loading Format
Phase Modulation Capability
+3.3 V or +5 V Single Supply Operation
Low Power: 380 mW @ 125 MHz (+5 V)
Low Power: 155 mW @ 110 MHz (+3.3 V)
The VSWR (voltage standing wave ratio) bridge is an impedance bridge circuit, which is used to measure the ratio of maximum voltage (Vf+Vr ) to the minimum voltage (Vf-Vr) on a transmission line. The bridge will balanced (0 volts across the detector) only when the test impedance exactly matches the reference impedance. This bridge is easy and cheap to implement and works with up to few GHz frequencies.
The microcontroller works as an interface between the DDS and the PC, it receives the sweep parameters from PC, and then it reads the collected voltage and frequency to the PC for each sweep. There are multiple choices about the microcontroller type, you can use either Arduino Micro or PIC. If you choose Arduino, the cost of the project will be around $50, while the cost will be reduced to $20 when using PIC.
To display the results which are collected from the device, you need to develop a simple software and run it on the connected PC. The software GUI contains configuration buttons on the right side and 2-axis plane, which will hold the signal shape, on the left side.
If you want to make the project portable, you can replace the PC with a LCD display to show the collected data.
This project is open source, you can find and download schematics and code from here. You also can apply your ideas to enhance the project, such as amplifying power for accurate VSWR, adding bluetooth connection to use with tablet, increasing supported frequencies range, and more.
Hi! Today I’ll explain you how to recover your bricked ATtiny microcontroller using your Arduino board. ATtinys are very popular due to their small form factor yet very powerful. While working with them you may accidentally brick the ATtiny. As arduino is extremely popular and really easy to use, I guess you have one or more lying on your work table. You don’t need to purchase a HVP (High Voltage Programmer), or search for an old PC with parallel port to recover ATtiny. Just build a small circuit, plug it into Arduino board, upload a sketch and you are good to go. So let’s start… (more…)