11/28/2019 at 03:40 •
I have updated the files for 3D Printing case. This time you only need to print 4 stl files.
All files can be download on files section.
11/25/2019 at 05:24 •
After releasing the project on the Makerfabs, some people looking for the case and then i decided to make an experiment how this case should be design.
After some iteration and made a bunch of failed 3D printed case ( I designed it with OpenSCAD), I decided to use FreeCAD which will be easier. when using OpenSCAD i need to measure the board precisely, but since i have an png and 3d model of the board, using FreeCAD should be precisely without measuring the real board.
Here some prototype of the case, this won't be the final version but i will update the stl file, so someone should not try the old stl files which will be trashed cause it's useless agains the latest board revision
11/21/2019 at 10:43 •
10/28/2019 at 06:50 •
Today i introduces you some ability what esplay micro can do. I port micropython with lvgl module built-in from littlevgl repository here. Picture will explain everything.
the code for screenshot above
import lvgl as lv lv.init() import lvesp32 import ILI9341 as ili d = ili.display() d.init() disp_buf1 = lv.disp_buf_t() buf1_1 = bytes(320*10) lv.disp_buf_init(disp_buf1,buf1_1, None, len(buf1_1)//4) disp_drv = lv.disp_drv_t() lv.disp_drv_init(disp_drv) disp_drv.buffer = disp_buf1 disp_drv.flush_cb = d.flush disp_drv.hor_res = 320 disp_drv.ver_res = 240 lv.disp_drv_register(disp_drv) # Animation helper class class Anim(lv.anim_t): def __init__(self, obj, val, size, exec_cb, path_cb, time=500, playback = False, ready_cb=None): super().__init__() lv.anim_init(self) lv.anim_set_time(self, time, 0) lv.anim_set_values(self, val, val+size) if callable(exec_cb): lv.anim_set_custom_exec_cb(self, exec_cb) else: lv.anim_set_exec_cb(self, obj, exec_cb) lv.anim_set_path_cb(self, path_cb ) if playback: lv.anim_set_playback(self, 0) if ready_cb: lv.anim_set_ready_cb(self, ready_cb) lv.anim_create(self) # An animated chart class AnimatedChart(lv.chart): def __init__(self, parent, val, size): super().__init__(parent) self.val = val self.size = size self.max = 2000 self.min = 500 self.factor = 100 self.anim_phase1() def anim_phase1(self): Anim( self, self.val, self.size, lambda a, val: self.set_range(0, val), lv.anim_path_ease_in, ready_cb=lambda a:self.anim_phase2(), time=(self.max * self.factor) // 100) def anim_phase2(self): Anim( self, self.val+self.size, -self.size, lambda a, val: self.set_range(0, val), lv.anim_path_ease_out, ready_cb=lambda a:self.anim_phase1(), time=(self.min * self.factor) // 100) # Create the chart scr = lv.obj() chart = AnimatedChart(scr, 100, 1000) chart.set_width(scr.get_width() - 100) chart.align(scr, lv.ALIGN.CENTER, 0, 0) series1 = chart.add_series(lv.color_hex(0xFF0000)) chart.set_type(chart.TYPE.POINT | chart.TYPE.LINE) chart.set_series_width(3) chart.set_range(0,100) chart.init_points(series1, 10) chart.set_points(series1, [76,40,40,40,50,40,50,90,95,90]) chart.set_x_tick_texts('a\nb\nc\nd\ne', 2, lv.chart.AXIS.DRAW_LAST_TICK) chart.set_x_tick_length(10, 5) chart.set_y_tick_texts('1\n2\n3\n4\n5', 2, lv.chart.AXIS.DRAW_LAST_TICK) chart.set_y_tick_length(10, 5) chart.set_div_line_count(3, 3) chart.set_margin(30) # Create a slider that controls the chart animation speed def on_slider_changed(self, obj=None, event=-1): chart.factor = slider.get_value() slider = lv.slider(scr) slider.align(chart, lv.ALIGN.OUT_RIGHT_TOP, 10, 0) slider.set_width(30) slider.set_height(chart.get_height()) slider.set_range(10, 200) slider.set_value(chart.factor, 0) slider.set_event_cb(on_slider_changed) # Load the screen lv.scr_load(scr)
10/17/2019 at 01:59 •
A small trial production started, and preorder at:https://www.makerfabs.com/esplay-micro.html
the first batch shipping time woudl be estimated 28th, Oct.
We prepared a SD card with some simple game installed, so buyer can start playing with the USB cable connected for power.
10/11/2019 at 06:59 •
with the new firmware, it works much better.
10/01/2019 at 15:27 •
@Makerfabs sent me 2 PCBA Sample last week, so i could work for the firmware this weekend. After upload the fw i just surprise the sound and button didn't works, i spent two hours to see what happened. I didn't make any changes on button, then after reads the datasheet there's different i2c address scheme between PCF8574AT and PCF8574T. Earlier prototype PCF8574AT was used ( salvaged from 1602 lcd i2c backpack ) and the address 0x38 was used, with this sample PCF8574T the address is 0x20, one problem solved.
The Sound is different case, after 3 hours struggled with the programming the problem is not the software but really bad typos on schematics, the resistor for R-C filter was wrongly typed from 1 Ohm to 1 KOhm, swap the resistor with the right one and VOILA the sound works. The Sound output are really clean on the headphone and very low noise output from the speaker, really satisfied with the result.
09/18/2019 at 05:50 •
The Rev2.0 sample PCBA completed
08/29/2019 at 01:29 •
So... Yesterday I finished a revision design for next PCB. I will double check it before sending it to manufacturer. This time the prototype PCB will be produce by @Makerfabs.
Here the changes in this revision so far, i called this pcb-rev2.0 :
- Audio amplifier chip would be replaced by PAM8403 and used only left channel since audio onboard speaker only mono. I used this chip because the that have inbuilt shutdown circuit and low noise audio profile.
- Change layout audio blocks, so audio system will be in one block to reduce noise.
- TP4056 li-ion charger replaced by LTC4054 since it smaller and less external components.
- Add usb plug detect and charger status, it will be monitored by esp32 to charge management.
- Add some ESD Protection on sdcard.
- Moved all port to the bottom edge pcb so it won't interfere while play.
08/06/2019 at 06:09 •
Hi, a bit software updates!
Long ago i used a quick and dirty hack of GoGo launcher made by odroid-go community member. Now i built from scratch an Launcher Software for Esplay Micro using UGUI library and add some capabilities like uploading file to device using web browser. checkout my github page for code.
While built this launcher i found a little bit flaw on hardware side, seems the LDO not enough current to supply whole board while wifi enable, backlight TFT are glitching and sometimes esp32 reboot cause of brownout detected, decreasing WiFi TX power seems solve for now, default TX power is 20 dBm and decreasing half of it to 10 dBm uses less power.
Here some spoiler about it